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