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