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