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,1387 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ module Models
5
+ class SubscriptionPriceIntervalsResponse < 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::SubscriptionPriceIntervalsResponse::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::SubscriptionPriceIntervalsResponse::BillingCycleAnchorConfiguration) }
26
+ attr_reader :billing_cycle_anchor_configuration
27
+
28
+ sig do
29
+ params(
30
+ billing_cycle_anchor_configuration: T.any(
31
+ Orb::Models::SubscriptionPriceIntervalsResponse::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::SubscriptionPriceIntervalsResponse::DiscountInterval::AmountDiscountInterval,
96
+ Orb::Models::SubscriptionPriceIntervalsResponse::DiscountInterval::PercentageDiscountInterval,
97
+ Orb::Models::SubscriptionPriceIntervalsResponse::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::SubscriptionPriceIntervalsResponse::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::SubscriptionPriceIntervalsResponse::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::SubscriptionPriceIntervalsResponse::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::SubscriptionPriceIntervalsResponse::PriceInterval]) }
148
+ attr_accessor :price_intervals
149
+
150
+ sig { returns(T.nilable(Orb::Models::SubscriptionPriceIntervalsResponse::RedeemedCoupon)) }
151
+ attr_reader :redeemed_coupon
152
+
153
+ sig do
154
+ params(
155
+ redeemed_coupon: T.nilable(T.any(Orb::Models::SubscriptionPriceIntervalsResponse::RedeemedCoupon, Orb::Util::AnyHash))
156
+ )
157
+ .void
158
+ end
159
+ attr_writer :redeemed_coupon
160
+
161
+ # The date Orb starts billing for this subscription.
162
+ sig { returns(Time) }
163
+ attr_accessor :start_date
164
+
165
+ sig { returns(Orb::Models::SubscriptionPriceIntervalsResponse::Status::TaggedSymbol) }
166
+ attr_accessor :status
167
+
168
+ sig { returns(Orb::Models::SubscriptionPriceIntervalsResponse::TrialInfo) }
169
+ attr_reader :trial_info
170
+
171
+ sig do
172
+ params(trial_info: T.any(Orb::Models::SubscriptionPriceIntervalsResponse::TrialInfo, Orb::Util::AnyHash))
173
+ .void
174
+ end
175
+ attr_writer :trial_info
176
+
177
+ sig do
178
+ params(
179
+ id: String,
180
+ active_plan_phase_order: T.nilable(Integer),
181
+ adjustment_intervals: T::Array[T.any(Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval, Orb::Util::AnyHash)],
182
+ auto_collection: T.nilable(T::Boolean),
183
+ billing_cycle_anchor_configuration: T.any(
184
+ Orb::Models::SubscriptionPriceIntervalsResponse::BillingCycleAnchorConfiguration,
185
+ Orb::Util::AnyHash
186
+ ),
187
+ billing_cycle_day: Integer,
188
+ created_at: Time,
189
+ current_billing_period_end_date: T.nilable(Time),
190
+ current_billing_period_start_date: T.nilable(Time),
191
+ customer: T.any(Orb::Models::Customer, Orb::Util::AnyHash),
192
+ default_invoice_memo: T.nilable(String),
193
+ discount_intervals: T::Array[
194
+ T.any(
195
+ Orb::Models::SubscriptionPriceIntervalsResponse::DiscountInterval::AmountDiscountInterval,
196
+ Orb::Util::AnyHash,
197
+ Orb::Models::SubscriptionPriceIntervalsResponse::DiscountInterval::PercentageDiscountInterval,
198
+ Orb::Models::SubscriptionPriceIntervalsResponse::DiscountInterval::UsageDiscountInterval
199
+ )
200
+ ],
201
+ end_date: T.nilable(Time),
202
+ fixed_fee_quantity_schedule: T::Array[T.any(Orb::Models::SubscriptionPriceIntervalsResponse::FixedFeeQuantitySchedule, Orb::Util::AnyHash)],
203
+ invoicing_threshold: T.nilable(String),
204
+ maximum_intervals: T::Array[T.any(Orb::Models::SubscriptionPriceIntervalsResponse::MaximumInterval, Orb::Util::AnyHash)],
205
+ metadata: T::Hash[Symbol, String],
206
+ minimum_intervals: T::Array[T.any(Orb::Models::SubscriptionPriceIntervalsResponse::MinimumInterval, Orb::Util::AnyHash)],
207
+ net_terms: Integer,
208
+ plan: T.any(Orb::Models::Plan, Orb::Util::AnyHash),
209
+ price_intervals: T::Array[T.any(Orb::Models::SubscriptionPriceIntervalsResponse::PriceInterval, Orb::Util::AnyHash)],
210
+ redeemed_coupon: T.nilable(T.any(Orb::Models::SubscriptionPriceIntervalsResponse::RedeemedCoupon, Orb::Util::AnyHash)),
211
+ start_date: Time,
212
+ status: Orb::Models::SubscriptionPriceIntervalsResponse::Status::OrSymbol,
213
+ trial_info: T.any(Orb::Models::SubscriptionPriceIntervalsResponse::TrialInfo, Orb::Util::AnyHash)
214
+ )
215
+ .returns(T.attached_class)
216
+ end
217
+ def self.new(
218
+ id:,
219
+ active_plan_phase_order:,
220
+ adjustment_intervals:,
221
+ auto_collection:,
222
+ billing_cycle_anchor_configuration:,
223
+ billing_cycle_day:,
224
+ created_at:,
225
+ current_billing_period_end_date:,
226
+ current_billing_period_start_date:,
227
+ customer:,
228
+ default_invoice_memo:,
229
+ discount_intervals:,
230
+ end_date:,
231
+ fixed_fee_quantity_schedule:,
232
+ invoicing_threshold:,
233
+ maximum_intervals:,
234
+ metadata:,
235
+ minimum_intervals:,
236
+ net_terms:,
237
+ plan:,
238
+ price_intervals:,
239
+ redeemed_coupon:,
240
+ start_date:,
241
+ status:,
242
+ trial_info:
243
+ )
244
+ end
245
+
246
+ sig do
247
+ override
248
+ .returns(
249
+ {
250
+ id: String,
251
+ active_plan_phase_order: T.nilable(Integer),
252
+ adjustment_intervals: T::Array[Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval],
253
+ auto_collection: T.nilable(T::Boolean),
254
+ billing_cycle_anchor_configuration: Orb::Models::SubscriptionPriceIntervalsResponse::BillingCycleAnchorConfiguration,
255
+ billing_cycle_day: Integer,
256
+ created_at: Time,
257
+ current_billing_period_end_date: T.nilable(Time),
258
+ current_billing_period_start_date: T.nilable(Time),
259
+ customer: Orb::Models::Customer,
260
+ default_invoice_memo: T.nilable(String),
261
+ discount_intervals: T::Array[
262
+ T.any(
263
+ Orb::Models::SubscriptionPriceIntervalsResponse::DiscountInterval::AmountDiscountInterval,
264
+ Orb::Models::SubscriptionPriceIntervalsResponse::DiscountInterval::PercentageDiscountInterval,
265
+ Orb::Models::SubscriptionPriceIntervalsResponse::DiscountInterval::UsageDiscountInterval
266
+ )
267
+ ],
268
+ end_date: T.nilable(Time),
269
+ fixed_fee_quantity_schedule: T::Array[Orb::Models::SubscriptionPriceIntervalsResponse::FixedFeeQuantitySchedule],
270
+ invoicing_threshold: T.nilable(String),
271
+ maximum_intervals: T::Array[Orb::Models::SubscriptionPriceIntervalsResponse::MaximumInterval],
272
+ metadata: T::Hash[Symbol, String],
273
+ minimum_intervals: T::Array[Orb::Models::SubscriptionPriceIntervalsResponse::MinimumInterval],
274
+ net_terms: Integer,
275
+ plan: Orb::Models::Plan,
276
+ price_intervals: T::Array[Orb::Models::SubscriptionPriceIntervalsResponse::PriceInterval],
277
+ redeemed_coupon: T.nilable(Orb::Models::SubscriptionPriceIntervalsResponse::RedeemedCoupon),
278
+ start_date: Time,
279
+ status: Orb::Models::SubscriptionPriceIntervalsResponse::Status::TaggedSymbol,
280
+ trial_info: Orb::Models::SubscriptionPriceIntervalsResponse::TrialInfo
281
+ }
282
+ )
283
+ end
284
+ def to_hash
285
+ end
286
+
287
+ class AdjustmentInterval < Orb::BaseModel
288
+ sig { returns(String) }
289
+ attr_accessor :id
290
+
291
+ sig do
292
+ returns(
293
+ T.any(
294
+ Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhaseUsageDiscountAdjustment,
295
+ Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhaseAmountDiscountAdjustment,
296
+ Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhasePercentageDiscountAdjustment,
297
+ Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhaseMinimumAdjustment,
298
+ Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhaseMaximumAdjustment
299
+ )
300
+ )
301
+ end
302
+ attr_accessor :adjustment
303
+
304
+ # The price interval IDs that this adjustment applies to.
305
+ sig { returns(T::Array[String]) }
306
+ attr_accessor :applies_to_price_interval_ids
307
+
308
+ # The end date of the adjustment interval.
309
+ sig { returns(T.nilable(Time)) }
310
+ attr_accessor :end_date
311
+
312
+ # The start date of the adjustment interval.
313
+ sig { returns(Time) }
314
+ attr_accessor :start_date
315
+
316
+ sig do
317
+ params(
318
+ id: String,
319
+ adjustment: T.any(
320
+ Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhaseUsageDiscountAdjustment,
321
+ Orb::Util::AnyHash,
322
+ Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhaseAmountDiscountAdjustment,
323
+ Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhasePercentageDiscountAdjustment,
324
+ Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhaseMinimumAdjustment,
325
+ Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhaseMaximumAdjustment
326
+ ),
327
+ applies_to_price_interval_ids: T::Array[String],
328
+ end_date: T.nilable(Time),
329
+ start_date: Time
330
+ )
331
+ .returns(T.attached_class)
332
+ end
333
+ def self.new(id:, adjustment:, applies_to_price_interval_ids:, end_date:, start_date:)
334
+ end
335
+
336
+ sig do
337
+ override
338
+ .returns(
339
+ {
340
+ id: String,
341
+ adjustment: T.any(
342
+ Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhaseUsageDiscountAdjustment,
343
+ Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhaseAmountDiscountAdjustment,
344
+ Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhasePercentageDiscountAdjustment,
345
+ Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhaseMinimumAdjustment,
346
+ Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhaseMaximumAdjustment
347
+ ),
348
+ applies_to_price_interval_ids: T::Array[String],
349
+ end_date: T.nilable(Time),
350
+ start_date: Time
351
+ }
352
+ )
353
+ end
354
+ def to_hash
355
+ end
356
+
357
+ module Adjustment
358
+ extend Orb::Union
359
+
360
+ class PlanPhaseUsageDiscountAdjustment < Orb::BaseModel
361
+ sig { returns(String) }
362
+ attr_accessor :id
363
+
364
+ sig { returns(Symbol) }
365
+ attr_accessor :adjustment_type
366
+
367
+ # The price IDs that this adjustment applies to.
368
+ sig { returns(T::Array[String]) }
369
+ attr_accessor :applies_to_price_ids
370
+
371
+ # True for adjustments that apply to an entire invocice, false for adjustments
372
+ # that apply to only one price.
373
+ sig { returns(T::Boolean) }
374
+ attr_accessor :is_invoice_level
375
+
376
+ # The plan phase in which this adjustment is active.
377
+ sig { returns(T.nilable(Integer)) }
378
+ attr_accessor :plan_phase_order
379
+
380
+ # The reason for the adjustment.
381
+ sig { returns(T.nilable(String)) }
382
+ attr_accessor :reason
383
+
384
+ # The number of usage units by which to discount the price this adjustment applies
385
+ # to in a given billing period.
386
+ sig { returns(Float) }
387
+ attr_accessor :usage_discount
388
+
389
+ sig do
390
+ params(
391
+ id: String,
392
+ applies_to_price_ids: T::Array[String],
393
+ is_invoice_level: T::Boolean,
394
+ plan_phase_order: T.nilable(Integer),
395
+ reason: T.nilable(String),
396
+ usage_discount: Float,
397
+ adjustment_type: Symbol
398
+ )
399
+ .returns(T.attached_class)
400
+ end
401
+ def self.new(
402
+ id:,
403
+ applies_to_price_ids:,
404
+ is_invoice_level:,
405
+ plan_phase_order:,
406
+ reason:,
407
+ usage_discount:,
408
+ adjustment_type: :usage_discount
409
+ )
410
+ end
411
+
412
+ sig do
413
+ override
414
+ .returns(
415
+ {
416
+ id: String,
417
+ adjustment_type: Symbol,
418
+ applies_to_price_ids: T::Array[String],
419
+ is_invoice_level: T::Boolean,
420
+ plan_phase_order: T.nilable(Integer),
421
+ reason: T.nilable(String),
422
+ usage_discount: Float
423
+ }
424
+ )
425
+ end
426
+ def to_hash
427
+ end
428
+ end
429
+
430
+ class PlanPhaseAmountDiscountAdjustment < Orb::BaseModel
431
+ sig { returns(String) }
432
+ attr_accessor :id
433
+
434
+ sig { returns(Symbol) }
435
+ attr_accessor :adjustment_type
436
+
437
+ # The amount by which to discount the prices this adjustment applies to in a given
438
+ # billing period.
439
+ sig { returns(String) }
440
+ attr_accessor :amount_discount
441
+
442
+ # The price IDs that this adjustment applies to.
443
+ sig { returns(T::Array[String]) }
444
+ attr_accessor :applies_to_price_ids
445
+
446
+ # True for adjustments that apply to an entire invocice, false for adjustments
447
+ # that apply to only one price.
448
+ sig { returns(T::Boolean) }
449
+ attr_accessor :is_invoice_level
450
+
451
+ # The plan phase in which this adjustment is active.
452
+ sig { returns(T.nilable(Integer)) }
453
+ attr_accessor :plan_phase_order
454
+
455
+ # The reason for the adjustment.
456
+ sig { returns(T.nilable(String)) }
457
+ attr_accessor :reason
458
+
459
+ sig do
460
+ params(
461
+ id: String,
462
+ amount_discount: String,
463
+ applies_to_price_ids: T::Array[String],
464
+ is_invoice_level: T::Boolean,
465
+ plan_phase_order: T.nilable(Integer),
466
+ reason: T.nilable(String),
467
+ adjustment_type: Symbol
468
+ )
469
+ .returns(T.attached_class)
470
+ end
471
+ def self.new(
472
+ id:,
473
+ amount_discount:,
474
+ applies_to_price_ids:,
475
+ is_invoice_level:,
476
+ plan_phase_order:,
477
+ reason:,
478
+ adjustment_type: :amount_discount
479
+ )
480
+ end
481
+
482
+ sig do
483
+ override
484
+ .returns(
485
+ {
486
+ id: String,
487
+ adjustment_type: Symbol,
488
+ amount_discount: String,
489
+ applies_to_price_ids: T::Array[String],
490
+ is_invoice_level: T::Boolean,
491
+ plan_phase_order: T.nilable(Integer),
492
+ reason: T.nilable(String)
493
+ }
494
+ )
495
+ end
496
+ def to_hash
497
+ end
498
+ end
499
+
500
+ class PlanPhasePercentageDiscountAdjustment < Orb::BaseModel
501
+ sig { returns(String) }
502
+ attr_accessor :id
503
+
504
+ sig { returns(Symbol) }
505
+ attr_accessor :adjustment_type
506
+
507
+ # The price IDs that this adjustment applies to.
508
+ sig { returns(T::Array[String]) }
509
+ attr_accessor :applies_to_price_ids
510
+
511
+ # True for adjustments that apply to an entire invocice, false for adjustments
512
+ # that apply to only one price.
513
+ sig { returns(T::Boolean) }
514
+ attr_accessor :is_invoice_level
515
+
516
+ # The percentage (as a value between 0 and 1) by which to discount the price
517
+ # intervals this adjustment applies to in a given billing period.
518
+ sig { returns(Float) }
519
+ attr_accessor :percentage_discount
520
+
521
+ # The plan phase in which this adjustment is active.
522
+ sig { returns(T.nilable(Integer)) }
523
+ attr_accessor :plan_phase_order
524
+
525
+ # The reason for the adjustment.
526
+ sig { returns(T.nilable(String)) }
527
+ attr_accessor :reason
528
+
529
+ sig do
530
+ params(
531
+ id: String,
532
+ applies_to_price_ids: T::Array[String],
533
+ is_invoice_level: T::Boolean,
534
+ percentage_discount: Float,
535
+ plan_phase_order: T.nilable(Integer),
536
+ reason: T.nilable(String),
537
+ adjustment_type: Symbol
538
+ )
539
+ .returns(T.attached_class)
540
+ end
541
+ def self.new(
542
+ id:,
543
+ applies_to_price_ids:,
544
+ is_invoice_level:,
545
+ percentage_discount:,
546
+ plan_phase_order:,
547
+ reason:,
548
+ adjustment_type: :percentage_discount
549
+ )
550
+ end
551
+
552
+ sig do
553
+ override
554
+ .returns(
555
+ {
556
+ id: String,
557
+ adjustment_type: Symbol,
558
+ applies_to_price_ids: T::Array[String],
559
+ is_invoice_level: T::Boolean,
560
+ percentage_discount: Float,
561
+ plan_phase_order: T.nilable(Integer),
562
+ reason: T.nilable(String)
563
+ }
564
+ )
565
+ end
566
+ def to_hash
567
+ end
568
+ end
569
+
570
+ class PlanPhaseMinimumAdjustment < Orb::BaseModel
571
+ sig { returns(String) }
572
+ attr_accessor :id
573
+
574
+ sig { returns(Symbol) }
575
+ attr_accessor :adjustment_type
576
+
577
+ # The price IDs that this adjustment applies to.
578
+ sig { returns(T::Array[String]) }
579
+ attr_accessor :applies_to_price_ids
580
+
581
+ # True for adjustments that apply to an entire invocice, false for adjustments
582
+ # that apply to only one price.
583
+ sig { returns(T::Boolean) }
584
+ attr_accessor :is_invoice_level
585
+
586
+ # The item ID that revenue from this minimum will be attributed to.
587
+ sig { returns(String) }
588
+ attr_accessor :item_id
589
+
590
+ # The minimum amount to charge in a given billing period for the prices this
591
+ # adjustment applies to.
592
+ sig { returns(String) }
593
+ attr_accessor :minimum_amount
594
+
595
+ # The plan phase in which this adjustment is active.
596
+ sig { returns(T.nilable(Integer)) }
597
+ attr_accessor :plan_phase_order
598
+
599
+ # The reason for the adjustment.
600
+ sig { returns(T.nilable(String)) }
601
+ attr_accessor :reason
602
+
603
+ sig do
604
+ params(
605
+ id: String,
606
+ applies_to_price_ids: T::Array[String],
607
+ is_invoice_level: T::Boolean,
608
+ item_id: String,
609
+ minimum_amount: String,
610
+ plan_phase_order: T.nilable(Integer),
611
+ reason: T.nilable(String),
612
+ adjustment_type: Symbol
613
+ )
614
+ .returns(T.attached_class)
615
+ end
616
+ def self.new(
617
+ id:,
618
+ applies_to_price_ids:,
619
+ is_invoice_level:,
620
+ item_id:,
621
+ minimum_amount:,
622
+ plan_phase_order:,
623
+ reason:,
624
+ adjustment_type: :minimum
625
+ )
626
+ end
627
+
628
+ sig do
629
+ override
630
+ .returns(
631
+ {
632
+ id: String,
633
+ adjustment_type: Symbol,
634
+ applies_to_price_ids: T::Array[String],
635
+ is_invoice_level: T::Boolean,
636
+ item_id: String,
637
+ minimum_amount: String,
638
+ plan_phase_order: T.nilable(Integer),
639
+ reason: T.nilable(String)
640
+ }
641
+ )
642
+ end
643
+ def to_hash
644
+ end
645
+ end
646
+
647
+ class PlanPhaseMaximumAdjustment < Orb::BaseModel
648
+ sig { returns(String) }
649
+ attr_accessor :id
650
+
651
+ sig { returns(Symbol) }
652
+ attr_accessor :adjustment_type
653
+
654
+ # The price IDs that this adjustment applies to.
655
+ sig { returns(T::Array[String]) }
656
+ attr_accessor :applies_to_price_ids
657
+
658
+ # True for adjustments that apply to an entire invocice, false for adjustments
659
+ # that apply to only one price.
660
+ sig { returns(T::Boolean) }
661
+ attr_accessor :is_invoice_level
662
+
663
+ # The maximum amount to charge in a given billing period for the prices this
664
+ # adjustment applies to.
665
+ sig { returns(String) }
666
+ attr_accessor :maximum_amount
667
+
668
+ # The plan phase in which this adjustment is active.
669
+ sig { returns(T.nilable(Integer)) }
670
+ attr_accessor :plan_phase_order
671
+
672
+ # The reason for the adjustment.
673
+ sig { returns(T.nilable(String)) }
674
+ attr_accessor :reason
675
+
676
+ sig do
677
+ params(
678
+ id: String,
679
+ applies_to_price_ids: T::Array[String],
680
+ is_invoice_level: T::Boolean,
681
+ maximum_amount: String,
682
+ plan_phase_order: T.nilable(Integer),
683
+ reason: T.nilable(String),
684
+ adjustment_type: Symbol
685
+ )
686
+ .returns(T.attached_class)
687
+ end
688
+ def self.new(
689
+ id:,
690
+ applies_to_price_ids:,
691
+ is_invoice_level:,
692
+ maximum_amount:,
693
+ plan_phase_order:,
694
+ reason:,
695
+ adjustment_type: :maximum
696
+ )
697
+ end
698
+
699
+ sig do
700
+ override
701
+ .returns(
702
+ {
703
+ id: String,
704
+ adjustment_type: Symbol,
705
+ applies_to_price_ids: T::Array[String],
706
+ is_invoice_level: T::Boolean,
707
+ maximum_amount: String,
708
+ plan_phase_order: T.nilable(Integer),
709
+ reason: T.nilable(String)
710
+ }
711
+ )
712
+ end
713
+ def to_hash
714
+ end
715
+ end
716
+
717
+ sig do
718
+ override
719
+ .returns(
720
+ [Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhaseUsageDiscountAdjustment, Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhaseAmountDiscountAdjustment, Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhasePercentageDiscountAdjustment, Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhaseMinimumAdjustment, Orb::Models::SubscriptionPriceIntervalsResponse::AdjustmentInterval::Adjustment::PlanPhaseMaximumAdjustment]
721
+ )
722
+ end
723
+ def self.variants
724
+ end
725
+ end
726
+ end
727
+
728
+ class BillingCycleAnchorConfiguration < Orb::BaseModel
729
+ # The day of the month on which the billing cycle is anchored. If the maximum
730
+ # number of days in a month is greater than this value, the last day of the month
731
+ # is the billing cycle day (e.g. billing_cycle_day=31 for April means the billing
732
+ # period begins on the 30th.
733
+ sig { returns(Integer) }
734
+ attr_accessor :day
735
+
736
+ # The month on which the billing cycle is anchored (e.g. a quarterly price
737
+ # anchored in February would have cycles starting February, May, August, and
738
+ # November).
739
+ sig { returns(T.nilable(Integer)) }
740
+ attr_accessor :month
741
+
742
+ # The year on which the billing cycle is anchored (e.g. a 2 year billing cycle
743
+ # anchored on 2021 would have cycles starting on 2021, 2023, 2025, etc.).
744
+ sig { returns(T.nilable(Integer)) }
745
+ attr_accessor :year
746
+
747
+ sig do
748
+ params(day: Integer, month: T.nilable(Integer), year: T.nilable(Integer)).returns(T.attached_class)
749
+ end
750
+ def self.new(day:, month: nil, year: nil)
751
+ end
752
+
753
+ sig { override.returns({day: Integer, month: T.nilable(Integer), year: T.nilable(Integer)}) }
754
+ def to_hash
755
+ end
756
+ end
757
+
758
+ module DiscountInterval
759
+ extend Orb::Union
760
+
761
+ class AmountDiscountInterval < Orb::BaseModel
762
+ # Only available if discount_type is `amount`.
763
+ sig { returns(String) }
764
+ attr_accessor :amount_discount
765
+
766
+ # The price ids that this discount interval applies to.
767
+ sig { returns(T::Array[String]) }
768
+ attr_accessor :applies_to_price_ids
769
+
770
+ # The price interval ids that this discount interval applies to.
771
+ sig { returns(T::Array[String]) }
772
+ attr_accessor :applies_to_price_interval_ids
773
+
774
+ sig { returns(Symbol) }
775
+ attr_accessor :discount_type
776
+
777
+ # The end date of the discount interval.
778
+ sig { returns(T.nilable(Time)) }
779
+ attr_accessor :end_date
780
+
781
+ # The start date of the discount interval.
782
+ sig { returns(Time) }
783
+ attr_accessor :start_date
784
+
785
+ sig do
786
+ params(
787
+ amount_discount: String,
788
+ applies_to_price_ids: T::Array[String],
789
+ applies_to_price_interval_ids: T::Array[String],
790
+ end_date: T.nilable(Time),
791
+ start_date: Time,
792
+ discount_type: Symbol
793
+ )
794
+ .returns(T.attached_class)
795
+ end
796
+ def self.new(
797
+ amount_discount:,
798
+ applies_to_price_ids:,
799
+ applies_to_price_interval_ids:,
800
+ end_date:,
801
+ start_date:,
802
+ discount_type: :amount
803
+ )
804
+ end
805
+
806
+ sig do
807
+ override
808
+ .returns(
809
+ {
810
+ amount_discount: String,
811
+ applies_to_price_ids: T::Array[String],
812
+ applies_to_price_interval_ids: T::Array[String],
813
+ discount_type: Symbol,
814
+ end_date: T.nilable(Time),
815
+ start_date: Time
816
+ }
817
+ )
818
+ end
819
+ def to_hash
820
+ end
821
+ end
822
+
823
+ class PercentageDiscountInterval < Orb::BaseModel
824
+ # The price ids that this discount interval applies to.
825
+ sig { returns(T::Array[String]) }
826
+ attr_accessor :applies_to_price_ids
827
+
828
+ # The price interval ids that this discount interval applies to.
829
+ sig { returns(T::Array[String]) }
830
+ attr_accessor :applies_to_price_interval_ids
831
+
832
+ sig { returns(Symbol) }
833
+ attr_accessor :discount_type
834
+
835
+ # The end date of the discount interval.
836
+ sig { returns(T.nilable(Time)) }
837
+ attr_accessor :end_date
838
+
839
+ # Only available if discount_type is `percentage`.This is a number between 0
840
+ # and 1.
841
+ sig { returns(Float) }
842
+ attr_accessor :percentage_discount
843
+
844
+ # The start date of the discount interval.
845
+ sig { returns(Time) }
846
+ attr_accessor :start_date
847
+
848
+ sig do
849
+ params(
850
+ applies_to_price_ids: T::Array[String],
851
+ applies_to_price_interval_ids: T::Array[String],
852
+ end_date: T.nilable(Time),
853
+ percentage_discount: Float,
854
+ start_date: Time,
855
+ discount_type: Symbol
856
+ )
857
+ .returns(T.attached_class)
858
+ end
859
+ def self.new(
860
+ applies_to_price_ids:,
861
+ applies_to_price_interval_ids:,
862
+ end_date:,
863
+ percentage_discount:,
864
+ start_date:,
865
+ discount_type: :percentage
866
+ )
867
+ end
868
+
869
+ sig do
870
+ override
871
+ .returns(
872
+ {
873
+ applies_to_price_ids: T::Array[String],
874
+ applies_to_price_interval_ids: T::Array[String],
875
+ discount_type: Symbol,
876
+ end_date: T.nilable(Time),
877
+ percentage_discount: Float,
878
+ start_date: Time
879
+ }
880
+ )
881
+ end
882
+ def to_hash
883
+ end
884
+ end
885
+
886
+ class UsageDiscountInterval < Orb::BaseModel
887
+ # The price ids that this discount interval applies to.
888
+ sig { returns(T::Array[String]) }
889
+ attr_accessor :applies_to_price_ids
890
+
891
+ # The price interval ids that this discount interval applies to.
892
+ sig { returns(T::Array[String]) }
893
+ attr_accessor :applies_to_price_interval_ids
894
+
895
+ sig { returns(Symbol) }
896
+ attr_accessor :discount_type
897
+
898
+ # The end date of the discount interval.
899
+ sig { returns(T.nilable(Time)) }
900
+ attr_accessor :end_date
901
+
902
+ # The start date of the discount interval.
903
+ sig { returns(Time) }
904
+ attr_accessor :start_date
905
+
906
+ # Only available if discount_type is `usage`. Number of usage units that this
907
+ # discount is for
908
+ sig { returns(Float) }
909
+ attr_accessor :usage_discount
910
+
911
+ sig do
912
+ params(
913
+ applies_to_price_ids: T::Array[String],
914
+ applies_to_price_interval_ids: T::Array[String],
915
+ end_date: T.nilable(Time),
916
+ start_date: Time,
917
+ usage_discount: Float,
918
+ discount_type: Symbol
919
+ )
920
+ .returns(T.attached_class)
921
+ end
922
+ def self.new(
923
+ applies_to_price_ids:,
924
+ applies_to_price_interval_ids:,
925
+ end_date:,
926
+ start_date:,
927
+ usage_discount:,
928
+ discount_type: :usage
929
+ )
930
+ end
931
+
932
+ sig do
933
+ override
934
+ .returns(
935
+ {
936
+ applies_to_price_ids: T::Array[String],
937
+ applies_to_price_interval_ids: T::Array[String],
938
+ discount_type: Symbol,
939
+ end_date: T.nilable(Time),
940
+ start_date: Time,
941
+ usage_discount: Float
942
+ }
943
+ )
944
+ end
945
+ def to_hash
946
+ end
947
+ end
948
+
949
+ sig do
950
+ override
951
+ .returns(
952
+ [Orb::Models::SubscriptionPriceIntervalsResponse::DiscountInterval::AmountDiscountInterval, Orb::Models::SubscriptionPriceIntervalsResponse::DiscountInterval::PercentageDiscountInterval, Orb::Models::SubscriptionPriceIntervalsResponse::DiscountInterval::UsageDiscountInterval]
953
+ )
954
+ end
955
+ def self.variants
956
+ end
957
+ end
958
+
959
+ class FixedFeeQuantitySchedule < Orb::BaseModel
960
+ sig { returns(T.nilable(Time)) }
961
+ attr_accessor :end_date
962
+
963
+ sig { returns(String) }
964
+ attr_accessor :price_id
965
+
966
+ sig { returns(Float) }
967
+ attr_accessor :quantity
968
+
969
+ sig { returns(Time) }
970
+ attr_accessor :start_date
971
+
972
+ sig do
973
+ params(end_date: T.nilable(Time), price_id: String, quantity: Float, start_date: Time)
974
+ .returns(T.attached_class)
975
+ end
976
+ def self.new(end_date:, price_id:, quantity:, start_date:)
977
+ end
978
+
979
+ sig do
980
+ override.returns({end_date: T.nilable(Time), price_id: String, quantity: Float, start_date: Time})
981
+ end
982
+ def to_hash
983
+ end
984
+ end
985
+
986
+ class MaximumInterval < Orb::BaseModel
987
+ # The price ids that this maximum interval applies to.
988
+ sig { returns(T::Array[String]) }
989
+ attr_accessor :applies_to_price_ids
990
+
991
+ # The price interval ids that this maximum interval applies to.
992
+ sig { returns(T::Array[String]) }
993
+ attr_accessor :applies_to_price_interval_ids
994
+
995
+ # The end date of the maximum interval.
996
+ sig { returns(T.nilable(Time)) }
997
+ attr_accessor :end_date
998
+
999
+ # The maximum amount to charge in a given billing period for the price intervals
1000
+ # this transform applies to.
1001
+ sig { returns(String) }
1002
+ attr_accessor :maximum_amount
1003
+
1004
+ # The start date of the maximum interval.
1005
+ sig { returns(Time) }
1006
+ attr_accessor :start_date
1007
+
1008
+ sig do
1009
+ params(
1010
+ applies_to_price_ids: T::Array[String],
1011
+ applies_to_price_interval_ids: T::Array[String],
1012
+ end_date: T.nilable(Time),
1013
+ maximum_amount: String,
1014
+ start_date: Time
1015
+ )
1016
+ .returns(T.attached_class)
1017
+ end
1018
+ def self.new(
1019
+ applies_to_price_ids:,
1020
+ applies_to_price_interval_ids:,
1021
+ end_date:,
1022
+ maximum_amount:,
1023
+ start_date:
1024
+ )
1025
+ end
1026
+
1027
+ sig do
1028
+ override
1029
+ .returns(
1030
+ {
1031
+ applies_to_price_ids: T::Array[String],
1032
+ applies_to_price_interval_ids: T::Array[String],
1033
+ end_date: T.nilable(Time),
1034
+ maximum_amount: String,
1035
+ start_date: Time
1036
+ }
1037
+ )
1038
+ end
1039
+ def to_hash
1040
+ end
1041
+ end
1042
+
1043
+ class MinimumInterval < Orb::BaseModel
1044
+ # The price ids that this minimum interval applies to.
1045
+ sig { returns(T::Array[String]) }
1046
+ attr_accessor :applies_to_price_ids
1047
+
1048
+ # The price interval ids that this minimum interval applies to.
1049
+ sig { returns(T::Array[String]) }
1050
+ attr_accessor :applies_to_price_interval_ids
1051
+
1052
+ # The end date of the minimum interval.
1053
+ sig { returns(T.nilable(Time)) }
1054
+ attr_accessor :end_date
1055
+
1056
+ # The minimum amount to charge in a given billing period for the price intervals
1057
+ # this minimum applies to.
1058
+ sig { returns(String) }
1059
+ attr_accessor :minimum_amount
1060
+
1061
+ # The start date of the minimum interval.
1062
+ sig { returns(Time) }
1063
+ attr_accessor :start_date
1064
+
1065
+ sig do
1066
+ params(
1067
+ applies_to_price_ids: T::Array[String],
1068
+ applies_to_price_interval_ids: T::Array[String],
1069
+ end_date: T.nilable(Time),
1070
+ minimum_amount: String,
1071
+ start_date: Time
1072
+ )
1073
+ .returns(T.attached_class)
1074
+ end
1075
+ def self.new(
1076
+ applies_to_price_ids:,
1077
+ applies_to_price_interval_ids:,
1078
+ end_date:,
1079
+ minimum_amount:,
1080
+ start_date:
1081
+ )
1082
+ end
1083
+
1084
+ sig do
1085
+ override
1086
+ .returns(
1087
+ {
1088
+ applies_to_price_ids: T::Array[String],
1089
+ applies_to_price_interval_ids: T::Array[String],
1090
+ end_date: T.nilable(Time),
1091
+ minimum_amount: String,
1092
+ start_date: Time
1093
+ }
1094
+ )
1095
+ end
1096
+ def to_hash
1097
+ end
1098
+ end
1099
+
1100
+ class PriceInterval < Orb::BaseModel
1101
+ sig { returns(String) }
1102
+ attr_accessor :id
1103
+
1104
+ # The day of the month that Orb bills for this price
1105
+ sig { returns(Integer) }
1106
+ attr_accessor :billing_cycle_day
1107
+
1108
+ # The end of the current billing period. This is an exclusive timestamp, such that
1109
+ # the instant returned is exactly the end of the billing period. Set to null if
1110
+ # this price interval is not currently active.
1111
+ sig { returns(T.nilable(Time)) }
1112
+ attr_accessor :current_billing_period_end_date
1113
+
1114
+ # The start date of the current billing period. This is an inclusive timestamp;
1115
+ # the instant returned is exactly the beginning of the billing period. Set to null
1116
+ # if this price interval is not currently active.
1117
+ sig { returns(T.nilable(Time)) }
1118
+ attr_accessor :current_billing_period_start_date
1119
+
1120
+ # The end date of the price interval. This is the date that Orb stops billing for
1121
+ # this price.
1122
+ sig { returns(T.nilable(Time)) }
1123
+ attr_accessor :end_date
1124
+
1125
+ # An additional filter to apply to usage queries.
1126
+ sig { returns(T.nilable(String)) }
1127
+ attr_accessor :filter
1128
+
1129
+ # The fixed fee quantity transitions for this price interval. This is only
1130
+ # relevant for fixed fees.
1131
+ sig do
1132
+ returns(
1133
+ T.nilable(
1134
+ T::Array[Orb::Models::SubscriptionPriceIntervalsResponse::PriceInterval::FixedFeeQuantityTransition]
1135
+ )
1136
+ )
1137
+ end
1138
+ attr_accessor :fixed_fee_quantity_transitions
1139
+
1140
+ # The Price resource represents a price that can be billed on a subscription,
1141
+ # resulting in a charge on an invoice in the form of an invoice line item. Prices
1142
+ # take a quantity and determine an amount to bill.
1143
+ #
1144
+ # Orb supports a few different pricing models out of the box. Each of these models
1145
+ # is serialized differently in a given Price object. The model_type field
1146
+ # determines the key for the configuration object that is present.
1147
+ #
1148
+ # For more on the types of prices, see
1149
+ # [the core concepts documentation](/core-concepts#plan-and-price)
1150
+ sig do
1151
+ returns(
1152
+ T.any(
1153
+ Orb::Models::Price::UnitPrice,
1154
+ Orb::Models::Price::PackagePrice,
1155
+ Orb::Models::Price::MatrixPrice,
1156
+ Orb::Models::Price::TieredPrice,
1157
+ Orb::Models::Price::TieredBpsPrice,
1158
+ Orb::Models::Price::BpsPrice,
1159
+ Orb::Models::Price::BulkBpsPrice,
1160
+ Orb::Models::Price::BulkPrice,
1161
+ Orb::Models::Price::ThresholdTotalAmountPrice,
1162
+ Orb::Models::Price::TieredPackagePrice,
1163
+ Orb::Models::Price::GroupedTieredPrice,
1164
+ Orb::Models::Price::TieredWithMinimumPrice,
1165
+ Orb::Models::Price::TieredPackageWithMinimumPrice,
1166
+ Orb::Models::Price::PackageWithAllocationPrice,
1167
+ Orb::Models::Price::UnitWithPercentPrice,
1168
+ Orb::Models::Price::MatrixWithAllocationPrice,
1169
+ Orb::Models::Price::TieredWithProrationPrice,
1170
+ Orb::Models::Price::UnitWithProrationPrice,
1171
+ Orb::Models::Price::GroupedAllocationPrice,
1172
+ Orb::Models::Price::GroupedWithProratedMinimumPrice,
1173
+ Orb::Models::Price::GroupedWithMeteredMinimumPrice,
1174
+ Orb::Models::Price::MatrixWithDisplayNamePrice,
1175
+ Orb::Models::Price::BulkWithProrationPrice,
1176
+ Orb::Models::Price::GroupedTieredPackagePrice,
1177
+ Orb::Models::Price::MaxGroupTieredPackagePrice,
1178
+ Orb::Models::Price::ScalableMatrixWithUnitPricingPrice,
1179
+ Orb::Models::Price::ScalableMatrixWithTieredPricingPrice,
1180
+ Orb::Models::Price::CumulativeGroupedBulkPrice
1181
+ )
1182
+ )
1183
+ end
1184
+ attr_accessor :price
1185
+
1186
+ # The start date of the price interval. This is the date that Orb starts billing
1187
+ # for this price.
1188
+ sig { returns(Time) }
1189
+ attr_accessor :start_date
1190
+
1191
+ # A list of customer IDs whose usage events will be aggregated and billed under
1192
+ # this price interval.
1193
+ sig { returns(T.nilable(T::Array[String])) }
1194
+ attr_accessor :usage_customer_ids
1195
+
1196
+ # The Price Interval resource represents a period of time for which a price will
1197
+ # bill on a subscription. A subscription’s price intervals define its billing
1198
+ # behavior.
1199
+ sig do
1200
+ params(
1201
+ id: String,
1202
+ billing_cycle_day: Integer,
1203
+ current_billing_period_end_date: T.nilable(Time),
1204
+ current_billing_period_start_date: T.nilable(Time),
1205
+ end_date: T.nilable(Time),
1206
+ filter: T.nilable(String),
1207
+ fixed_fee_quantity_transitions: T.nilable(
1208
+ T::Array[
1209
+ T.any(
1210
+ Orb::Models::SubscriptionPriceIntervalsResponse::PriceInterval::FixedFeeQuantityTransition,
1211
+ Orb::Util::AnyHash
1212
+ )
1213
+ ]
1214
+ ),
1215
+ price: T.any(
1216
+ Orb::Models::Price::UnitPrice,
1217
+ Orb::Util::AnyHash,
1218
+ Orb::Models::Price::PackagePrice,
1219
+ Orb::Models::Price::MatrixPrice,
1220
+ Orb::Models::Price::TieredPrice,
1221
+ Orb::Models::Price::TieredBpsPrice,
1222
+ Orb::Models::Price::BpsPrice,
1223
+ Orb::Models::Price::BulkBpsPrice,
1224
+ Orb::Models::Price::BulkPrice,
1225
+ Orb::Models::Price::ThresholdTotalAmountPrice,
1226
+ Orb::Models::Price::TieredPackagePrice,
1227
+ Orb::Models::Price::GroupedTieredPrice,
1228
+ Orb::Models::Price::TieredWithMinimumPrice,
1229
+ Orb::Models::Price::TieredPackageWithMinimumPrice,
1230
+ Orb::Models::Price::PackageWithAllocationPrice,
1231
+ Orb::Models::Price::UnitWithPercentPrice,
1232
+ Orb::Models::Price::MatrixWithAllocationPrice,
1233
+ Orb::Models::Price::TieredWithProrationPrice,
1234
+ Orb::Models::Price::UnitWithProrationPrice,
1235
+ Orb::Models::Price::GroupedAllocationPrice,
1236
+ Orb::Models::Price::GroupedWithProratedMinimumPrice,
1237
+ Orb::Models::Price::GroupedWithMeteredMinimumPrice,
1238
+ Orb::Models::Price::MatrixWithDisplayNamePrice,
1239
+ Orb::Models::Price::BulkWithProrationPrice,
1240
+ Orb::Models::Price::GroupedTieredPackagePrice,
1241
+ Orb::Models::Price::MaxGroupTieredPackagePrice,
1242
+ Orb::Models::Price::ScalableMatrixWithUnitPricingPrice,
1243
+ Orb::Models::Price::ScalableMatrixWithTieredPricingPrice,
1244
+ Orb::Models::Price::CumulativeGroupedBulkPrice
1245
+ ),
1246
+ start_date: Time,
1247
+ usage_customer_ids: T.nilable(T::Array[String])
1248
+ )
1249
+ .returns(T.attached_class)
1250
+ end
1251
+ def self.new(
1252
+ id:,
1253
+ billing_cycle_day:,
1254
+ current_billing_period_end_date:,
1255
+ current_billing_period_start_date:,
1256
+ end_date:,
1257
+ filter:,
1258
+ fixed_fee_quantity_transitions:,
1259
+ price:,
1260
+ start_date:,
1261
+ usage_customer_ids:
1262
+ )
1263
+ end
1264
+
1265
+ sig do
1266
+ override
1267
+ .returns(
1268
+ {
1269
+ id: String,
1270
+ billing_cycle_day: Integer,
1271
+ current_billing_period_end_date: T.nilable(Time),
1272
+ current_billing_period_start_date: T.nilable(Time),
1273
+ end_date: T.nilable(Time),
1274
+ filter: T.nilable(String),
1275
+ fixed_fee_quantity_transitions: T.nilable(
1276
+ T::Array[Orb::Models::SubscriptionPriceIntervalsResponse::PriceInterval::FixedFeeQuantityTransition]
1277
+ ),
1278
+ price: T.any(
1279
+ Orb::Models::Price::UnitPrice,
1280
+ Orb::Models::Price::PackagePrice,
1281
+ Orb::Models::Price::MatrixPrice,
1282
+ Orb::Models::Price::TieredPrice,
1283
+ Orb::Models::Price::TieredBpsPrice,
1284
+ Orb::Models::Price::BpsPrice,
1285
+ Orb::Models::Price::BulkBpsPrice,
1286
+ Orb::Models::Price::BulkPrice,
1287
+ Orb::Models::Price::ThresholdTotalAmountPrice,
1288
+ Orb::Models::Price::TieredPackagePrice,
1289
+ Orb::Models::Price::GroupedTieredPrice,
1290
+ Orb::Models::Price::TieredWithMinimumPrice,
1291
+ Orb::Models::Price::TieredPackageWithMinimumPrice,
1292
+ Orb::Models::Price::PackageWithAllocationPrice,
1293
+ Orb::Models::Price::UnitWithPercentPrice,
1294
+ Orb::Models::Price::MatrixWithAllocationPrice,
1295
+ Orb::Models::Price::TieredWithProrationPrice,
1296
+ Orb::Models::Price::UnitWithProrationPrice,
1297
+ Orb::Models::Price::GroupedAllocationPrice,
1298
+ Orb::Models::Price::GroupedWithProratedMinimumPrice,
1299
+ Orb::Models::Price::GroupedWithMeteredMinimumPrice,
1300
+ Orb::Models::Price::MatrixWithDisplayNamePrice,
1301
+ Orb::Models::Price::BulkWithProrationPrice,
1302
+ Orb::Models::Price::GroupedTieredPackagePrice,
1303
+ Orb::Models::Price::MaxGroupTieredPackagePrice,
1304
+ Orb::Models::Price::ScalableMatrixWithUnitPricingPrice,
1305
+ Orb::Models::Price::ScalableMatrixWithTieredPricingPrice,
1306
+ Orb::Models::Price::CumulativeGroupedBulkPrice
1307
+ ),
1308
+ start_date: Time,
1309
+ usage_customer_ids: T.nilable(T::Array[String])
1310
+ }
1311
+ )
1312
+ end
1313
+ def to_hash
1314
+ end
1315
+
1316
+ class FixedFeeQuantityTransition < Orb::BaseModel
1317
+ sig { returns(Time) }
1318
+ attr_accessor :effective_date
1319
+
1320
+ sig { returns(String) }
1321
+ attr_accessor :price_id
1322
+
1323
+ sig { returns(Integer) }
1324
+ attr_accessor :quantity
1325
+
1326
+ sig { params(effective_date: Time, price_id: String, quantity: Integer).returns(T.attached_class) }
1327
+ def self.new(effective_date:, price_id:, quantity:)
1328
+ end
1329
+
1330
+ sig { override.returns({effective_date: Time, price_id: String, quantity: Integer}) }
1331
+ def to_hash
1332
+ end
1333
+ end
1334
+ end
1335
+
1336
+ class RedeemedCoupon < Orb::BaseModel
1337
+ sig { returns(String) }
1338
+ attr_accessor :coupon_id
1339
+
1340
+ sig { returns(T.nilable(Time)) }
1341
+ attr_accessor :end_date
1342
+
1343
+ sig { returns(Time) }
1344
+ attr_accessor :start_date
1345
+
1346
+ sig do
1347
+ params(coupon_id: String, end_date: T.nilable(Time), start_date: Time).returns(T.attached_class)
1348
+ end
1349
+ def self.new(coupon_id:, end_date:, start_date:)
1350
+ end
1351
+
1352
+ sig { override.returns({coupon_id: String, end_date: T.nilable(Time), start_date: Time}) }
1353
+ def to_hash
1354
+ end
1355
+ end
1356
+
1357
+ module Status
1358
+ extend Orb::Enum
1359
+
1360
+ TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::SubscriptionPriceIntervalsResponse::Status) }
1361
+ OrSymbol =
1362
+ T.type_alias { T.any(Symbol, String, Orb::Models::SubscriptionPriceIntervalsResponse::Status::TaggedSymbol) }
1363
+
1364
+ ACTIVE = T.let(:active, Orb::Models::SubscriptionPriceIntervalsResponse::Status::TaggedSymbol)
1365
+ ENDED = T.let(:ended, Orb::Models::SubscriptionPriceIntervalsResponse::Status::TaggedSymbol)
1366
+ UPCOMING = T.let(:upcoming, Orb::Models::SubscriptionPriceIntervalsResponse::Status::TaggedSymbol)
1367
+
1368
+ sig { override.returns(T::Array[Orb::Models::SubscriptionPriceIntervalsResponse::Status::TaggedSymbol]) }
1369
+ def self.values
1370
+ end
1371
+ end
1372
+
1373
+ class TrialInfo < Orb::BaseModel
1374
+ sig { returns(T.nilable(Time)) }
1375
+ attr_accessor :end_date
1376
+
1377
+ sig { params(end_date: T.nilable(Time)).returns(T.attached_class) }
1378
+ def self.new(end_date:)
1379
+ end
1380
+
1381
+ sig { override.returns({end_date: T.nilable(Time)}) }
1382
+ def to_hash
1383
+ end
1384
+ end
1385
+ end
1386
+ end
1387
+ end