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,1071 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ module Models
5
+ class Plan < Orb::BaseModel
6
+ sig { returns(String) }
7
+ attr_accessor :id
8
+
9
+ # Adjustments for this plan. If the plan has phases, this includes adjustments
10
+ # across all phases of the plan.
11
+ sig do
12
+ returns(
13
+ T::Array[
14
+ T.any(
15
+ Orb::Models::Plan::Adjustment::PlanPhaseUsageDiscountAdjustment,
16
+ Orb::Models::Plan::Adjustment::PlanPhaseAmountDiscountAdjustment,
17
+ Orb::Models::Plan::Adjustment::PlanPhasePercentageDiscountAdjustment,
18
+ Orb::Models::Plan::Adjustment::PlanPhaseMinimumAdjustment,
19
+ Orb::Models::Plan::Adjustment::PlanPhaseMaximumAdjustment
20
+ )
21
+ ]
22
+ )
23
+ end
24
+ attr_accessor :adjustments
25
+
26
+ sig { returns(T.nilable(Orb::Models::Plan::BasePlan)) }
27
+ attr_reader :base_plan
28
+
29
+ sig { params(base_plan: T.nilable(T.any(Orb::Models::Plan::BasePlan, Orb::Util::AnyHash))).void }
30
+ attr_writer :base_plan
31
+
32
+ # The parent plan id if the given plan was created by overriding one or more of
33
+ # the parent's prices
34
+ sig { returns(T.nilable(String)) }
35
+ attr_accessor :base_plan_id
36
+
37
+ sig { returns(Time) }
38
+ attr_accessor :created_at
39
+
40
+ # An ISO 4217 currency string or custom pricing unit (`credits`) for this plan's
41
+ # prices.
42
+ sig { returns(String) }
43
+ attr_accessor :currency
44
+
45
+ # The default memo text on the invoices corresponding to subscriptions on this
46
+ # plan. Note that each subscription may configure its own memo.
47
+ sig { returns(T.nilable(String)) }
48
+ attr_accessor :default_invoice_memo
49
+
50
+ sig { returns(String) }
51
+ attr_accessor :description
52
+
53
+ sig do
54
+ returns(
55
+ T.nilable(
56
+ T.any(
57
+ Orb::Models::PercentageDiscount,
58
+ Orb::Models::TrialDiscount,
59
+ Orb::Models::UsageDiscount,
60
+ Orb::Models::AmountDiscount
61
+ )
62
+ )
63
+ )
64
+ end
65
+ attr_accessor :discount
66
+
67
+ # An optional user-defined ID for this plan resource, used throughout the system
68
+ # as an alias for this Plan. Use this field to identify a plan by an existing
69
+ # identifier in your system.
70
+ sig { returns(T.nilable(String)) }
71
+ attr_accessor :external_plan_id
72
+
73
+ # An ISO 4217 currency string for which this plan is billed in. Matches `currency`
74
+ # unless `currency` is a custom pricing unit.
75
+ sig { returns(String) }
76
+ attr_accessor :invoicing_currency
77
+
78
+ sig { returns(T.nilable(Orb::Models::Plan::Maximum)) }
79
+ attr_reader :maximum
80
+
81
+ sig { params(maximum: T.nilable(T.any(Orb::Models::Plan::Maximum, Orb::Util::AnyHash))).void }
82
+ attr_writer :maximum
83
+
84
+ sig { returns(T.nilable(String)) }
85
+ attr_accessor :maximum_amount
86
+
87
+ # User specified key-value pairs for the resource. If not present, this defaults
88
+ # to an empty dictionary. Individual keys can be removed by setting the value to
89
+ # `null`, and the entire metadata mapping can be cleared by setting `metadata` to
90
+ # `null`.
91
+ sig { returns(T::Hash[Symbol, String]) }
92
+ attr_accessor :metadata
93
+
94
+ sig { returns(T.nilable(Orb::Models::Plan::Minimum)) }
95
+ attr_reader :minimum
96
+
97
+ sig { params(minimum: T.nilable(T.any(Orb::Models::Plan::Minimum, Orb::Util::AnyHash))).void }
98
+ attr_writer :minimum
99
+
100
+ sig { returns(T.nilable(String)) }
101
+ attr_accessor :minimum_amount
102
+
103
+ sig { returns(String) }
104
+ attr_accessor :name
105
+
106
+ # Determines the difference between the invoice issue date and the due date. A
107
+ # value of "0" here signifies that invoices are due on issue, whereas a value of
108
+ # "30" means that the customer has a month to pay the invoice before its overdue.
109
+ # Note that individual subscriptions or invoices may set a different net terms
110
+ # configuration.
111
+ sig { returns(T.nilable(Integer)) }
112
+ attr_accessor :net_terms
113
+
114
+ sig { returns(T.nilable(T::Array[Orb::Models::Plan::PlanPhase])) }
115
+ attr_accessor :plan_phases
116
+
117
+ # Prices for this plan. If the plan has phases, this includes prices across all
118
+ # phases of the plan.
119
+ sig do
120
+ returns(
121
+ T::Array[
122
+ T.any(
123
+ Orb::Models::Price::UnitPrice,
124
+ Orb::Models::Price::PackagePrice,
125
+ Orb::Models::Price::MatrixPrice,
126
+ Orb::Models::Price::TieredPrice,
127
+ Orb::Models::Price::TieredBpsPrice,
128
+ Orb::Models::Price::BpsPrice,
129
+ Orb::Models::Price::BulkBpsPrice,
130
+ Orb::Models::Price::BulkPrice,
131
+ Orb::Models::Price::ThresholdTotalAmountPrice,
132
+ Orb::Models::Price::TieredPackagePrice,
133
+ Orb::Models::Price::GroupedTieredPrice,
134
+ Orb::Models::Price::TieredWithMinimumPrice,
135
+ Orb::Models::Price::TieredPackageWithMinimumPrice,
136
+ Orb::Models::Price::PackageWithAllocationPrice,
137
+ Orb::Models::Price::UnitWithPercentPrice,
138
+ Orb::Models::Price::MatrixWithAllocationPrice,
139
+ Orb::Models::Price::TieredWithProrationPrice,
140
+ Orb::Models::Price::UnitWithProrationPrice,
141
+ Orb::Models::Price::GroupedAllocationPrice,
142
+ Orb::Models::Price::GroupedWithProratedMinimumPrice,
143
+ Orb::Models::Price::GroupedWithMeteredMinimumPrice,
144
+ Orb::Models::Price::MatrixWithDisplayNamePrice,
145
+ Orb::Models::Price::BulkWithProrationPrice,
146
+ Orb::Models::Price::GroupedTieredPackagePrice,
147
+ Orb::Models::Price::MaxGroupTieredPackagePrice,
148
+ Orb::Models::Price::ScalableMatrixWithUnitPricingPrice,
149
+ Orb::Models::Price::ScalableMatrixWithTieredPricingPrice,
150
+ Orb::Models::Price::CumulativeGroupedBulkPrice
151
+ )
152
+ ]
153
+ )
154
+ end
155
+ attr_accessor :prices
156
+
157
+ sig { returns(Orb::Models::Plan::Product) }
158
+ attr_reader :product
159
+
160
+ sig { params(product: T.any(Orb::Models::Plan::Product, Orb::Util::AnyHash)).void }
161
+ attr_writer :product
162
+
163
+ sig { returns(Orb::Models::Plan::Status::TaggedSymbol) }
164
+ attr_accessor :status
165
+
166
+ sig { returns(Orb::Models::Plan::TrialConfig) }
167
+ attr_reader :trial_config
168
+
169
+ sig { params(trial_config: T.any(Orb::Models::Plan::TrialConfig, Orb::Util::AnyHash)).void }
170
+ attr_writer :trial_config
171
+
172
+ sig { returns(Integer) }
173
+ attr_accessor :version
174
+
175
+ # The [Plan](/core-concepts#plan-and-price) resource represents a plan that can be
176
+ # subscribed to by a customer. Plans define the billing behavior of the
177
+ # subscription. You can see more about how to configure prices in the
178
+ # [Price resource](/reference/price).
179
+ sig do
180
+ params(
181
+ id: String,
182
+ adjustments: T::Array[
183
+ T.any(
184
+ Orb::Models::Plan::Adjustment::PlanPhaseUsageDiscountAdjustment,
185
+ Orb::Util::AnyHash,
186
+ Orb::Models::Plan::Adjustment::PlanPhaseAmountDiscountAdjustment,
187
+ Orb::Models::Plan::Adjustment::PlanPhasePercentageDiscountAdjustment,
188
+ Orb::Models::Plan::Adjustment::PlanPhaseMinimumAdjustment,
189
+ Orb::Models::Plan::Adjustment::PlanPhaseMaximumAdjustment
190
+ )
191
+ ],
192
+ base_plan: T.nilable(T.any(Orb::Models::Plan::BasePlan, Orb::Util::AnyHash)),
193
+ base_plan_id: T.nilable(String),
194
+ created_at: Time,
195
+ currency: String,
196
+ default_invoice_memo: T.nilable(String),
197
+ description: String,
198
+ discount: T.nilable(
199
+ T.any(
200
+ Orb::Models::PercentageDiscount,
201
+ Orb::Util::AnyHash,
202
+ Orb::Models::TrialDiscount,
203
+ Orb::Models::UsageDiscount,
204
+ Orb::Models::AmountDiscount
205
+ )
206
+ ),
207
+ external_plan_id: T.nilable(String),
208
+ invoicing_currency: String,
209
+ maximum: T.nilable(T.any(Orb::Models::Plan::Maximum, Orb::Util::AnyHash)),
210
+ maximum_amount: T.nilable(String),
211
+ metadata: T::Hash[Symbol, String],
212
+ minimum: T.nilable(T.any(Orb::Models::Plan::Minimum, Orb::Util::AnyHash)),
213
+ minimum_amount: T.nilable(String),
214
+ name: String,
215
+ net_terms: T.nilable(Integer),
216
+ plan_phases: T.nilable(T::Array[T.any(Orb::Models::Plan::PlanPhase, Orb::Util::AnyHash)]),
217
+ prices: T::Array[
218
+ T.any(
219
+ Orb::Models::Price::UnitPrice,
220
+ Orb::Util::AnyHash,
221
+ Orb::Models::Price::PackagePrice,
222
+ Orb::Models::Price::MatrixPrice,
223
+ Orb::Models::Price::TieredPrice,
224
+ Orb::Models::Price::TieredBpsPrice,
225
+ Orb::Models::Price::BpsPrice,
226
+ Orb::Models::Price::BulkBpsPrice,
227
+ Orb::Models::Price::BulkPrice,
228
+ Orb::Models::Price::ThresholdTotalAmountPrice,
229
+ Orb::Models::Price::TieredPackagePrice,
230
+ Orb::Models::Price::GroupedTieredPrice,
231
+ Orb::Models::Price::TieredWithMinimumPrice,
232
+ Orb::Models::Price::TieredPackageWithMinimumPrice,
233
+ Orb::Models::Price::PackageWithAllocationPrice,
234
+ Orb::Models::Price::UnitWithPercentPrice,
235
+ Orb::Models::Price::MatrixWithAllocationPrice,
236
+ Orb::Models::Price::TieredWithProrationPrice,
237
+ Orb::Models::Price::UnitWithProrationPrice,
238
+ Orb::Models::Price::GroupedAllocationPrice,
239
+ Orb::Models::Price::GroupedWithProratedMinimumPrice,
240
+ Orb::Models::Price::GroupedWithMeteredMinimumPrice,
241
+ Orb::Models::Price::MatrixWithDisplayNamePrice,
242
+ Orb::Models::Price::BulkWithProrationPrice,
243
+ Orb::Models::Price::GroupedTieredPackagePrice,
244
+ Orb::Models::Price::MaxGroupTieredPackagePrice,
245
+ Orb::Models::Price::ScalableMatrixWithUnitPricingPrice,
246
+ Orb::Models::Price::ScalableMatrixWithTieredPricingPrice,
247
+ Orb::Models::Price::CumulativeGroupedBulkPrice
248
+ )
249
+ ],
250
+ product: T.any(Orb::Models::Plan::Product, Orb::Util::AnyHash),
251
+ status: Orb::Models::Plan::Status::OrSymbol,
252
+ trial_config: T.any(Orb::Models::Plan::TrialConfig, Orb::Util::AnyHash),
253
+ version: Integer
254
+ )
255
+ .returns(T.attached_class)
256
+ end
257
+ def self.new(
258
+ id:,
259
+ adjustments:,
260
+ base_plan:,
261
+ base_plan_id:,
262
+ created_at:,
263
+ currency:,
264
+ default_invoice_memo:,
265
+ description:,
266
+ discount:,
267
+ external_plan_id:,
268
+ invoicing_currency:,
269
+ maximum:,
270
+ maximum_amount:,
271
+ metadata:,
272
+ minimum:,
273
+ minimum_amount:,
274
+ name:,
275
+ net_terms:,
276
+ plan_phases:,
277
+ prices:,
278
+ product:,
279
+ status:,
280
+ trial_config:,
281
+ version:
282
+ )
283
+ end
284
+
285
+ sig do
286
+ override
287
+ .returns(
288
+ {
289
+ id: String,
290
+ adjustments: T::Array[
291
+ T.any(
292
+ Orb::Models::Plan::Adjustment::PlanPhaseUsageDiscountAdjustment,
293
+ Orb::Models::Plan::Adjustment::PlanPhaseAmountDiscountAdjustment,
294
+ Orb::Models::Plan::Adjustment::PlanPhasePercentageDiscountAdjustment,
295
+ Orb::Models::Plan::Adjustment::PlanPhaseMinimumAdjustment,
296
+ Orb::Models::Plan::Adjustment::PlanPhaseMaximumAdjustment
297
+ )
298
+ ],
299
+ base_plan: T.nilable(Orb::Models::Plan::BasePlan),
300
+ base_plan_id: T.nilable(String),
301
+ created_at: Time,
302
+ currency: String,
303
+ default_invoice_memo: T.nilable(String),
304
+ description: String,
305
+ discount: T.nilable(
306
+ T.any(
307
+ Orb::Models::PercentageDiscount,
308
+ Orb::Models::TrialDiscount,
309
+ Orb::Models::UsageDiscount,
310
+ Orb::Models::AmountDiscount
311
+ )
312
+ ),
313
+ external_plan_id: T.nilable(String),
314
+ invoicing_currency: String,
315
+ maximum: T.nilable(Orb::Models::Plan::Maximum),
316
+ maximum_amount: T.nilable(String),
317
+ metadata: T::Hash[Symbol, String],
318
+ minimum: T.nilable(Orb::Models::Plan::Minimum),
319
+ minimum_amount: T.nilable(String),
320
+ name: String,
321
+ net_terms: T.nilable(Integer),
322
+ plan_phases: T.nilable(T::Array[Orb::Models::Plan::PlanPhase]),
323
+ prices: T::Array[
324
+ T.any(
325
+ Orb::Models::Price::UnitPrice,
326
+ Orb::Models::Price::PackagePrice,
327
+ Orb::Models::Price::MatrixPrice,
328
+ Orb::Models::Price::TieredPrice,
329
+ Orb::Models::Price::TieredBpsPrice,
330
+ Orb::Models::Price::BpsPrice,
331
+ Orb::Models::Price::BulkBpsPrice,
332
+ Orb::Models::Price::BulkPrice,
333
+ Orb::Models::Price::ThresholdTotalAmountPrice,
334
+ Orb::Models::Price::TieredPackagePrice,
335
+ Orb::Models::Price::GroupedTieredPrice,
336
+ Orb::Models::Price::TieredWithMinimumPrice,
337
+ Orb::Models::Price::TieredPackageWithMinimumPrice,
338
+ Orb::Models::Price::PackageWithAllocationPrice,
339
+ Orb::Models::Price::UnitWithPercentPrice,
340
+ Orb::Models::Price::MatrixWithAllocationPrice,
341
+ Orb::Models::Price::TieredWithProrationPrice,
342
+ Orb::Models::Price::UnitWithProrationPrice,
343
+ Orb::Models::Price::GroupedAllocationPrice,
344
+ Orb::Models::Price::GroupedWithProratedMinimumPrice,
345
+ Orb::Models::Price::GroupedWithMeteredMinimumPrice,
346
+ Orb::Models::Price::MatrixWithDisplayNamePrice,
347
+ Orb::Models::Price::BulkWithProrationPrice,
348
+ Orb::Models::Price::GroupedTieredPackagePrice,
349
+ Orb::Models::Price::MaxGroupTieredPackagePrice,
350
+ Orb::Models::Price::ScalableMatrixWithUnitPricingPrice,
351
+ Orb::Models::Price::ScalableMatrixWithTieredPricingPrice,
352
+ Orb::Models::Price::CumulativeGroupedBulkPrice
353
+ )
354
+ ],
355
+ product: Orb::Models::Plan::Product,
356
+ status: Orb::Models::Plan::Status::TaggedSymbol,
357
+ trial_config: Orb::Models::Plan::TrialConfig,
358
+ version: Integer
359
+ }
360
+ )
361
+ end
362
+ def to_hash
363
+ end
364
+
365
+ module Adjustment
366
+ extend Orb::Union
367
+
368
+ class PlanPhaseUsageDiscountAdjustment < Orb::BaseModel
369
+ sig { returns(String) }
370
+ attr_accessor :id
371
+
372
+ sig { returns(Symbol) }
373
+ attr_accessor :adjustment_type
374
+
375
+ # The price IDs that this adjustment applies to.
376
+ sig { returns(T::Array[String]) }
377
+ attr_accessor :applies_to_price_ids
378
+
379
+ # True for adjustments that apply to an entire invocice, false for adjustments
380
+ # that apply to only one price.
381
+ sig { returns(T::Boolean) }
382
+ attr_accessor :is_invoice_level
383
+
384
+ # The plan phase in which this adjustment is active.
385
+ sig { returns(T.nilable(Integer)) }
386
+ attr_accessor :plan_phase_order
387
+
388
+ # The reason for the adjustment.
389
+ sig { returns(T.nilable(String)) }
390
+ attr_accessor :reason
391
+
392
+ # The number of usage units by which to discount the price this adjustment applies
393
+ # to in a given billing period.
394
+ sig { returns(Float) }
395
+ attr_accessor :usage_discount
396
+
397
+ sig do
398
+ params(
399
+ id: String,
400
+ applies_to_price_ids: T::Array[String],
401
+ is_invoice_level: T::Boolean,
402
+ plan_phase_order: T.nilable(Integer),
403
+ reason: T.nilable(String),
404
+ usage_discount: Float,
405
+ adjustment_type: Symbol
406
+ )
407
+ .returns(T.attached_class)
408
+ end
409
+ def self.new(
410
+ id:,
411
+ applies_to_price_ids:,
412
+ is_invoice_level:,
413
+ plan_phase_order:,
414
+ reason:,
415
+ usage_discount:,
416
+ adjustment_type: :usage_discount
417
+ )
418
+ end
419
+
420
+ sig do
421
+ override
422
+ .returns(
423
+ {
424
+ id: String,
425
+ adjustment_type: Symbol,
426
+ applies_to_price_ids: T::Array[String],
427
+ is_invoice_level: T::Boolean,
428
+ plan_phase_order: T.nilable(Integer),
429
+ reason: T.nilable(String),
430
+ usage_discount: Float
431
+ }
432
+ )
433
+ end
434
+ def to_hash
435
+ end
436
+ end
437
+
438
+ class PlanPhaseAmountDiscountAdjustment < Orb::BaseModel
439
+ sig { returns(String) }
440
+ attr_accessor :id
441
+
442
+ sig { returns(Symbol) }
443
+ attr_accessor :adjustment_type
444
+
445
+ # The amount by which to discount the prices this adjustment applies to in a given
446
+ # billing period.
447
+ sig { returns(String) }
448
+ attr_accessor :amount_discount
449
+
450
+ # The price IDs that this adjustment applies to.
451
+ sig { returns(T::Array[String]) }
452
+ attr_accessor :applies_to_price_ids
453
+
454
+ # True for adjustments that apply to an entire invocice, false for adjustments
455
+ # that apply to only one price.
456
+ sig { returns(T::Boolean) }
457
+ attr_accessor :is_invoice_level
458
+
459
+ # The plan phase in which this adjustment is active.
460
+ sig { returns(T.nilable(Integer)) }
461
+ attr_accessor :plan_phase_order
462
+
463
+ # The reason for the adjustment.
464
+ sig { returns(T.nilable(String)) }
465
+ attr_accessor :reason
466
+
467
+ sig do
468
+ params(
469
+ id: String,
470
+ amount_discount: String,
471
+ applies_to_price_ids: T::Array[String],
472
+ is_invoice_level: T::Boolean,
473
+ plan_phase_order: T.nilable(Integer),
474
+ reason: T.nilable(String),
475
+ adjustment_type: Symbol
476
+ )
477
+ .returns(T.attached_class)
478
+ end
479
+ def self.new(
480
+ id:,
481
+ amount_discount:,
482
+ applies_to_price_ids:,
483
+ is_invoice_level:,
484
+ plan_phase_order:,
485
+ reason:,
486
+ adjustment_type: :amount_discount
487
+ )
488
+ end
489
+
490
+ sig do
491
+ override
492
+ .returns(
493
+ {
494
+ id: String,
495
+ adjustment_type: Symbol,
496
+ amount_discount: String,
497
+ applies_to_price_ids: T::Array[String],
498
+ is_invoice_level: T::Boolean,
499
+ plan_phase_order: T.nilable(Integer),
500
+ reason: T.nilable(String)
501
+ }
502
+ )
503
+ end
504
+ def to_hash
505
+ end
506
+ end
507
+
508
+ class PlanPhasePercentageDiscountAdjustment < Orb::BaseModel
509
+ sig { returns(String) }
510
+ attr_accessor :id
511
+
512
+ sig { returns(Symbol) }
513
+ attr_accessor :adjustment_type
514
+
515
+ # The price IDs that this adjustment applies to.
516
+ sig { returns(T::Array[String]) }
517
+ attr_accessor :applies_to_price_ids
518
+
519
+ # True for adjustments that apply to an entire invocice, false for adjustments
520
+ # that apply to only one price.
521
+ sig { returns(T::Boolean) }
522
+ attr_accessor :is_invoice_level
523
+
524
+ # The percentage (as a value between 0 and 1) by which to discount the price
525
+ # intervals this adjustment applies to in a given billing period.
526
+ sig { returns(Float) }
527
+ attr_accessor :percentage_discount
528
+
529
+ # The plan phase in which this adjustment is active.
530
+ sig { returns(T.nilable(Integer)) }
531
+ attr_accessor :plan_phase_order
532
+
533
+ # The reason for the adjustment.
534
+ sig { returns(T.nilable(String)) }
535
+ attr_accessor :reason
536
+
537
+ sig do
538
+ params(
539
+ id: String,
540
+ applies_to_price_ids: T::Array[String],
541
+ is_invoice_level: T::Boolean,
542
+ percentage_discount: Float,
543
+ plan_phase_order: T.nilable(Integer),
544
+ reason: T.nilable(String),
545
+ adjustment_type: Symbol
546
+ )
547
+ .returns(T.attached_class)
548
+ end
549
+ def self.new(
550
+ id:,
551
+ applies_to_price_ids:,
552
+ is_invoice_level:,
553
+ percentage_discount:,
554
+ plan_phase_order:,
555
+ reason:,
556
+ adjustment_type: :percentage_discount
557
+ )
558
+ end
559
+
560
+ sig do
561
+ override
562
+ .returns(
563
+ {
564
+ id: String,
565
+ adjustment_type: Symbol,
566
+ applies_to_price_ids: T::Array[String],
567
+ is_invoice_level: T::Boolean,
568
+ percentage_discount: Float,
569
+ plan_phase_order: T.nilable(Integer),
570
+ reason: T.nilable(String)
571
+ }
572
+ )
573
+ end
574
+ def to_hash
575
+ end
576
+ end
577
+
578
+ class PlanPhaseMinimumAdjustment < Orb::BaseModel
579
+ sig { returns(String) }
580
+ attr_accessor :id
581
+
582
+ sig { returns(Symbol) }
583
+ attr_accessor :adjustment_type
584
+
585
+ # The price IDs that this adjustment applies to.
586
+ sig { returns(T::Array[String]) }
587
+ attr_accessor :applies_to_price_ids
588
+
589
+ # True for adjustments that apply to an entire invocice, false for adjustments
590
+ # that apply to only one price.
591
+ sig { returns(T::Boolean) }
592
+ attr_accessor :is_invoice_level
593
+
594
+ # The item ID that revenue from this minimum will be attributed to.
595
+ sig { returns(String) }
596
+ attr_accessor :item_id
597
+
598
+ # The minimum amount to charge in a given billing period for the prices this
599
+ # adjustment applies to.
600
+ sig { returns(String) }
601
+ attr_accessor :minimum_amount
602
+
603
+ # The plan phase in which this adjustment is active.
604
+ sig { returns(T.nilable(Integer)) }
605
+ attr_accessor :plan_phase_order
606
+
607
+ # The reason for the adjustment.
608
+ sig { returns(T.nilable(String)) }
609
+ attr_accessor :reason
610
+
611
+ sig do
612
+ params(
613
+ id: String,
614
+ applies_to_price_ids: T::Array[String],
615
+ is_invoice_level: T::Boolean,
616
+ item_id: String,
617
+ minimum_amount: String,
618
+ plan_phase_order: T.nilable(Integer),
619
+ reason: T.nilable(String),
620
+ adjustment_type: Symbol
621
+ )
622
+ .returns(T.attached_class)
623
+ end
624
+ def self.new(
625
+ id:,
626
+ applies_to_price_ids:,
627
+ is_invoice_level:,
628
+ item_id:,
629
+ minimum_amount:,
630
+ plan_phase_order:,
631
+ reason:,
632
+ adjustment_type: :minimum
633
+ )
634
+ end
635
+
636
+ sig do
637
+ override
638
+ .returns(
639
+ {
640
+ id: String,
641
+ adjustment_type: Symbol,
642
+ applies_to_price_ids: T::Array[String],
643
+ is_invoice_level: T::Boolean,
644
+ item_id: String,
645
+ minimum_amount: String,
646
+ plan_phase_order: T.nilable(Integer),
647
+ reason: T.nilable(String)
648
+ }
649
+ )
650
+ end
651
+ def to_hash
652
+ end
653
+ end
654
+
655
+ class PlanPhaseMaximumAdjustment < Orb::BaseModel
656
+ sig { returns(String) }
657
+ attr_accessor :id
658
+
659
+ sig { returns(Symbol) }
660
+ attr_accessor :adjustment_type
661
+
662
+ # The price IDs that this adjustment applies to.
663
+ sig { returns(T::Array[String]) }
664
+ attr_accessor :applies_to_price_ids
665
+
666
+ # True for adjustments that apply to an entire invocice, false for adjustments
667
+ # that apply to only one price.
668
+ sig { returns(T::Boolean) }
669
+ attr_accessor :is_invoice_level
670
+
671
+ # The maximum amount to charge in a given billing period for the prices this
672
+ # adjustment applies to.
673
+ sig { returns(String) }
674
+ attr_accessor :maximum_amount
675
+
676
+ # The plan phase in which this adjustment is active.
677
+ sig { returns(T.nilable(Integer)) }
678
+ attr_accessor :plan_phase_order
679
+
680
+ # The reason for the adjustment.
681
+ sig { returns(T.nilable(String)) }
682
+ attr_accessor :reason
683
+
684
+ sig do
685
+ params(
686
+ id: String,
687
+ applies_to_price_ids: T::Array[String],
688
+ is_invoice_level: T::Boolean,
689
+ maximum_amount: String,
690
+ plan_phase_order: T.nilable(Integer),
691
+ reason: T.nilable(String),
692
+ adjustment_type: Symbol
693
+ )
694
+ .returns(T.attached_class)
695
+ end
696
+ def self.new(
697
+ id:,
698
+ applies_to_price_ids:,
699
+ is_invoice_level:,
700
+ maximum_amount:,
701
+ plan_phase_order:,
702
+ reason:,
703
+ adjustment_type: :maximum
704
+ )
705
+ end
706
+
707
+ sig do
708
+ override
709
+ .returns(
710
+ {
711
+ id: String,
712
+ adjustment_type: Symbol,
713
+ applies_to_price_ids: T::Array[String],
714
+ is_invoice_level: T::Boolean,
715
+ maximum_amount: String,
716
+ plan_phase_order: T.nilable(Integer),
717
+ reason: T.nilable(String)
718
+ }
719
+ )
720
+ end
721
+ def to_hash
722
+ end
723
+ end
724
+
725
+ sig do
726
+ override
727
+ .returns(
728
+ [Orb::Models::Plan::Adjustment::PlanPhaseUsageDiscountAdjustment, Orb::Models::Plan::Adjustment::PlanPhaseAmountDiscountAdjustment, Orb::Models::Plan::Adjustment::PlanPhasePercentageDiscountAdjustment, Orb::Models::Plan::Adjustment::PlanPhaseMinimumAdjustment, Orb::Models::Plan::Adjustment::PlanPhaseMaximumAdjustment]
729
+ )
730
+ end
731
+ def self.variants
732
+ end
733
+ end
734
+
735
+ class BasePlan < Orb::BaseModel
736
+ sig { returns(T.nilable(String)) }
737
+ attr_accessor :id
738
+
739
+ # An optional user-defined ID for this plan resource, used throughout the system
740
+ # as an alias for this Plan. Use this field to identify a plan by an existing
741
+ # identifier in your system.
742
+ sig { returns(T.nilable(String)) }
743
+ attr_accessor :external_plan_id
744
+
745
+ sig { returns(T.nilable(String)) }
746
+ attr_accessor :name
747
+
748
+ sig do
749
+ params(id: T.nilable(String), external_plan_id: T.nilable(String), name: T.nilable(String))
750
+ .returns(T.attached_class)
751
+ end
752
+ def self.new(id:, external_plan_id:, name:)
753
+ end
754
+
755
+ sig do
756
+ override.returns(
757
+ {
758
+ id: T.nilable(String),
759
+ external_plan_id: T.nilable(String),
760
+ name: T.nilable(String)
761
+ }
762
+ )
763
+ end
764
+ def to_hash
765
+ end
766
+ end
767
+
768
+ class Maximum < Orb::BaseModel
769
+ # List of price_ids that this maximum amount applies to. For plan/plan phase
770
+ # maximums, this can be a subset of prices.
771
+ sig { returns(T::Array[String]) }
772
+ attr_accessor :applies_to_price_ids
773
+
774
+ # Maximum amount applied
775
+ sig { returns(String) }
776
+ attr_accessor :maximum_amount
777
+
778
+ sig do
779
+ params(applies_to_price_ids: T::Array[String], maximum_amount: String).returns(T.attached_class)
780
+ end
781
+ def self.new(applies_to_price_ids:, maximum_amount:)
782
+ end
783
+
784
+ sig { override.returns({applies_to_price_ids: T::Array[String], maximum_amount: String}) }
785
+ def to_hash
786
+ end
787
+ end
788
+
789
+ class Minimum < Orb::BaseModel
790
+ # List of price_ids that this minimum amount applies to. For plan/plan phase
791
+ # minimums, this can be a subset of prices.
792
+ sig { returns(T::Array[String]) }
793
+ attr_accessor :applies_to_price_ids
794
+
795
+ # Minimum amount applied
796
+ sig { returns(String) }
797
+ attr_accessor :minimum_amount
798
+
799
+ sig do
800
+ params(applies_to_price_ids: T::Array[String], minimum_amount: String).returns(T.attached_class)
801
+ end
802
+ def self.new(applies_to_price_ids:, minimum_amount:)
803
+ end
804
+
805
+ sig { override.returns({applies_to_price_ids: T::Array[String], minimum_amount: String}) }
806
+ def to_hash
807
+ end
808
+ end
809
+
810
+ class PlanPhase < Orb::BaseModel
811
+ sig { returns(String) }
812
+ attr_accessor :id
813
+
814
+ sig { returns(T.nilable(String)) }
815
+ attr_accessor :description
816
+
817
+ sig do
818
+ returns(
819
+ T.nilable(
820
+ T.any(
821
+ Orb::Models::PercentageDiscount,
822
+ Orb::Models::TrialDiscount,
823
+ Orb::Models::UsageDiscount,
824
+ Orb::Models::AmountDiscount
825
+ )
826
+ )
827
+ )
828
+ end
829
+ attr_accessor :discount
830
+
831
+ # How many terms of length `duration_unit` this phase is active for. If null, this
832
+ # phase is evergreen and active indefinitely
833
+ sig { returns(T.nilable(Integer)) }
834
+ attr_accessor :duration
835
+
836
+ sig { returns(T.nilable(Orb::Models::Plan::PlanPhase::DurationUnit::TaggedSymbol)) }
837
+ attr_accessor :duration_unit
838
+
839
+ sig { returns(T.nilable(Orb::Models::Plan::PlanPhase::Maximum)) }
840
+ attr_reader :maximum
841
+
842
+ sig { params(maximum: T.nilable(T.any(Orb::Models::Plan::PlanPhase::Maximum, Orb::Util::AnyHash))).void }
843
+ attr_writer :maximum
844
+
845
+ sig { returns(T.nilable(String)) }
846
+ attr_accessor :maximum_amount
847
+
848
+ sig { returns(T.nilable(Orb::Models::Plan::PlanPhase::Minimum)) }
849
+ attr_reader :minimum
850
+
851
+ sig { params(minimum: T.nilable(T.any(Orb::Models::Plan::PlanPhase::Minimum, Orb::Util::AnyHash))).void }
852
+ attr_writer :minimum
853
+
854
+ sig { returns(T.nilable(String)) }
855
+ attr_accessor :minimum_amount
856
+
857
+ sig { returns(String) }
858
+ attr_accessor :name
859
+
860
+ # Determines the ordering of the phase in a plan's lifecycle. 1 = first phase.
861
+ sig { returns(Integer) }
862
+ attr_accessor :order
863
+
864
+ sig do
865
+ params(
866
+ id: String,
867
+ description: T.nilable(String),
868
+ discount: T.nilable(
869
+ T.any(
870
+ Orb::Models::PercentageDiscount,
871
+ Orb::Util::AnyHash,
872
+ Orb::Models::TrialDiscount,
873
+ Orb::Models::UsageDiscount,
874
+ Orb::Models::AmountDiscount
875
+ )
876
+ ),
877
+ duration: T.nilable(Integer),
878
+ duration_unit: T.nilable(Orb::Models::Plan::PlanPhase::DurationUnit::OrSymbol),
879
+ maximum: T.nilable(T.any(Orb::Models::Plan::PlanPhase::Maximum, Orb::Util::AnyHash)),
880
+ maximum_amount: T.nilable(String),
881
+ minimum: T.nilable(T.any(Orb::Models::Plan::PlanPhase::Minimum, Orb::Util::AnyHash)),
882
+ minimum_amount: T.nilable(String),
883
+ name: String,
884
+ order: Integer
885
+ )
886
+ .returns(T.attached_class)
887
+ end
888
+ def self.new(
889
+ id:,
890
+ description:,
891
+ discount:,
892
+ duration:,
893
+ duration_unit:,
894
+ maximum:,
895
+ maximum_amount:,
896
+ minimum:,
897
+ minimum_amount:,
898
+ name:,
899
+ order:
900
+ )
901
+ end
902
+
903
+ sig do
904
+ override
905
+ .returns(
906
+ {
907
+ id: String,
908
+ description: T.nilable(String),
909
+ discount: T.nilable(
910
+ T.any(
911
+ Orb::Models::PercentageDiscount,
912
+ Orb::Models::TrialDiscount,
913
+ Orb::Models::UsageDiscount,
914
+ Orb::Models::AmountDiscount
915
+ )
916
+ ),
917
+ duration: T.nilable(Integer),
918
+ duration_unit: T.nilable(Orb::Models::Plan::PlanPhase::DurationUnit::TaggedSymbol),
919
+ maximum: T.nilable(Orb::Models::Plan::PlanPhase::Maximum),
920
+ maximum_amount: T.nilable(String),
921
+ minimum: T.nilable(Orb::Models::Plan::PlanPhase::Minimum),
922
+ minimum_amount: T.nilable(String),
923
+ name: String,
924
+ order: Integer
925
+ }
926
+ )
927
+ end
928
+ def to_hash
929
+ end
930
+
931
+ module DurationUnit
932
+ extend Orb::Enum
933
+
934
+ TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::Plan::PlanPhase::DurationUnit) }
935
+ OrSymbol =
936
+ T.type_alias { T.any(Symbol, String, Orb::Models::Plan::PlanPhase::DurationUnit::TaggedSymbol) }
937
+
938
+ DAILY = T.let(:daily, Orb::Models::Plan::PlanPhase::DurationUnit::TaggedSymbol)
939
+ MONTHLY = T.let(:monthly, Orb::Models::Plan::PlanPhase::DurationUnit::TaggedSymbol)
940
+ QUARTERLY = T.let(:quarterly, Orb::Models::Plan::PlanPhase::DurationUnit::TaggedSymbol)
941
+ SEMI_ANNUAL = T.let(:semi_annual, Orb::Models::Plan::PlanPhase::DurationUnit::TaggedSymbol)
942
+ ANNUAL = T.let(:annual, Orb::Models::Plan::PlanPhase::DurationUnit::TaggedSymbol)
943
+
944
+ sig { override.returns(T::Array[Orb::Models::Plan::PlanPhase::DurationUnit::TaggedSymbol]) }
945
+ def self.values
946
+ end
947
+ end
948
+
949
+ class Maximum < Orb::BaseModel
950
+ # List of price_ids that this maximum amount applies to. For plan/plan phase
951
+ # maximums, this can be a subset of prices.
952
+ sig { returns(T::Array[String]) }
953
+ attr_accessor :applies_to_price_ids
954
+
955
+ # Maximum amount applied
956
+ sig { returns(String) }
957
+ attr_accessor :maximum_amount
958
+
959
+ sig do
960
+ params(applies_to_price_ids: T::Array[String], maximum_amount: String).returns(T.attached_class)
961
+ end
962
+ def self.new(applies_to_price_ids:, maximum_amount:)
963
+ end
964
+
965
+ sig { override.returns({applies_to_price_ids: T::Array[String], maximum_amount: String}) }
966
+ def to_hash
967
+ end
968
+ end
969
+
970
+ class Minimum < Orb::BaseModel
971
+ # List of price_ids that this minimum amount applies to. For plan/plan phase
972
+ # minimums, this can be a subset of prices.
973
+ sig { returns(T::Array[String]) }
974
+ attr_accessor :applies_to_price_ids
975
+
976
+ # Minimum amount applied
977
+ sig { returns(String) }
978
+ attr_accessor :minimum_amount
979
+
980
+ sig do
981
+ params(applies_to_price_ids: T::Array[String], minimum_amount: String).returns(T.attached_class)
982
+ end
983
+ def self.new(applies_to_price_ids:, minimum_amount:)
984
+ end
985
+
986
+ sig { override.returns({applies_to_price_ids: T::Array[String], minimum_amount: String}) }
987
+ def to_hash
988
+ end
989
+ end
990
+ end
991
+
992
+ class Product < Orb::BaseModel
993
+ sig { returns(String) }
994
+ attr_accessor :id
995
+
996
+ sig { returns(Time) }
997
+ attr_accessor :created_at
998
+
999
+ sig { returns(String) }
1000
+ attr_accessor :name
1001
+
1002
+ sig { params(id: String, created_at: Time, name: String).returns(T.attached_class) }
1003
+ def self.new(id:, created_at:, name:)
1004
+ end
1005
+
1006
+ sig { override.returns({id: String, created_at: Time, name: String}) }
1007
+ def to_hash
1008
+ end
1009
+ end
1010
+
1011
+ module Status
1012
+ extend Orb::Enum
1013
+
1014
+ TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::Plan::Status) }
1015
+ OrSymbol = T.type_alias { T.any(Symbol, String, Orb::Models::Plan::Status::TaggedSymbol) }
1016
+
1017
+ ACTIVE = T.let(:active, Orb::Models::Plan::Status::TaggedSymbol)
1018
+ ARCHIVED = T.let(:archived, Orb::Models::Plan::Status::TaggedSymbol)
1019
+ DRAFT = T.let(:draft, Orb::Models::Plan::Status::TaggedSymbol)
1020
+
1021
+ sig { override.returns(T::Array[Orb::Models::Plan::Status::TaggedSymbol]) }
1022
+ def self.values
1023
+ end
1024
+ end
1025
+
1026
+ class TrialConfig < Orb::BaseModel
1027
+ sig { returns(T.nilable(Integer)) }
1028
+ attr_accessor :trial_period
1029
+
1030
+ sig { returns(Orb::Models::Plan::TrialConfig::TrialPeriodUnit::TaggedSymbol) }
1031
+ attr_accessor :trial_period_unit
1032
+
1033
+ sig do
1034
+ params(
1035
+ trial_period: T.nilable(Integer),
1036
+ trial_period_unit: Orb::Models::Plan::TrialConfig::TrialPeriodUnit::OrSymbol
1037
+ )
1038
+ .returns(T.attached_class)
1039
+ end
1040
+ def self.new(trial_period:, trial_period_unit:)
1041
+ end
1042
+
1043
+ sig do
1044
+ override
1045
+ .returns(
1046
+ {
1047
+ trial_period: T.nilable(Integer),
1048
+ trial_period_unit: Orb::Models::Plan::TrialConfig::TrialPeriodUnit::TaggedSymbol
1049
+ }
1050
+ )
1051
+ end
1052
+ def to_hash
1053
+ end
1054
+
1055
+ module TrialPeriodUnit
1056
+ extend Orb::Enum
1057
+
1058
+ TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::Plan::TrialConfig::TrialPeriodUnit) }
1059
+ OrSymbol =
1060
+ T.type_alias { T.any(Symbol, String, Orb::Models::Plan::TrialConfig::TrialPeriodUnit::TaggedSymbol) }
1061
+
1062
+ DAYS = T.let(:days, Orb::Models::Plan::TrialConfig::TrialPeriodUnit::TaggedSymbol)
1063
+
1064
+ sig { override.returns(T::Array[Orb::Models::Plan::TrialConfig::TrialPeriodUnit::TaggedSymbol]) }
1065
+ def self.values
1066
+ end
1067
+ end
1068
+ end
1069
+ end
1070
+ end
1071
+ end