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