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,266 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Orb
4
+ module Resources
5
+ class Invoices
6
+ # This endpoint is used to create a one-off invoice for a customer.
7
+ #
8
+ # @overload create(currency:, invoice_date:, line_items:, net_terms:, customer_id: nil, discount: nil, external_customer_id: nil, memo: nil, metadata: nil, will_auto_issue: nil, request_options: {})
9
+ #
10
+ # @param currency [String]
11
+ # @param invoice_date [Time]
12
+ # @param line_items [Array<Orb::Models::InvoiceCreateParams::LineItem>]
13
+ # @param net_terms [Integer]
14
+ # @param customer_id [String, nil]
15
+ # @param discount [Orb::Models::PercentageDiscount, Orb::Models::TrialDiscount, Orb::Models::UsageDiscount, Orb::Models::AmountDiscount, nil]
16
+ # @param external_customer_id [String, nil]
17
+ # @param memo [String, nil]
18
+ # @param metadata [Hash{Symbol=>String, nil}, nil]
19
+ # @param will_auto_issue [Boolean]
20
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
21
+ #
22
+ # @return [Orb::Models::Invoice]
23
+ #
24
+ # @see Orb::Models::InvoiceCreateParams
25
+ def create(params)
26
+ parsed, options = Orb::Models::InvoiceCreateParams.dump_request(params)
27
+ @client.request(
28
+ method: :post,
29
+ path: "invoices",
30
+ body: parsed,
31
+ model: Orb::Models::Invoice,
32
+ options: options
33
+ )
34
+ end
35
+
36
+ # This endpoint allows you to update the `metadata` property on an invoice. If you
37
+ # pass null for the metadata value, it will clear any existing metadata for that
38
+ # invoice.
39
+ #
40
+ # `metadata` can be modified regardless of invoice state.
41
+ #
42
+ # @overload update(invoice_id, metadata: nil, request_options: {})
43
+ #
44
+ # @param invoice_id [String]
45
+ # @param metadata [Hash{Symbol=>String, nil}, nil]
46
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
47
+ #
48
+ # @return [Orb::Models::Invoice]
49
+ #
50
+ # @see Orb::Models::InvoiceUpdateParams
51
+ def update(invoice_id, params = {})
52
+ parsed, options = Orb::Models::InvoiceUpdateParams.dump_request(params)
53
+ @client.request(
54
+ method: :put,
55
+ path: ["invoices/%1$s", invoice_id],
56
+ body: parsed,
57
+ model: Orb::Models::Invoice,
58
+ options: options
59
+ )
60
+ end
61
+
62
+ # This endpoint returns a list of all [`Invoice`](/core-concepts#invoice)s for an
63
+ # account in a list format.
64
+ #
65
+ # The list of invoices is ordered starting from the most recently issued invoice
66
+ # date. The response also includes
67
+ # [`pagination_metadata`](/api-reference/pagination), which lets the caller
68
+ # retrieve the next page of results if they exist.
69
+ #
70
+ # By default, this only returns invoices that are `issued`, `paid`, or `synced`.
71
+ #
72
+ # When fetching any `draft` invoices, this returns the last-computed invoice
73
+ # values for each draft invoice, which may not always be up-to-date since Orb
74
+ # regularly refreshes invoices asynchronously.
75
+ #
76
+ # @overload list(amount: nil, amount_gt: nil, amount_lt: nil, cursor: nil, customer_id: nil, date_type: nil, due_date: nil, due_date_window: nil, due_date_gt: nil, due_date_lt: nil, external_customer_id: nil, invoice_date_gt: nil, invoice_date_gte: nil, invoice_date_lt: nil, invoice_date_lte: nil, is_recurring: nil, limit: nil, status: nil, subscription_id: nil, request_options: {})
77
+ #
78
+ # @param amount [String, nil]
79
+ # @param amount_gt [String, nil]
80
+ # @param amount_lt [String, nil]
81
+ # @param cursor [String, nil]
82
+ # @param customer_id [String, nil]
83
+ # @param date_type [Symbol, Orb::Models::InvoiceListParams::DateType, nil]
84
+ # @param due_date [Date, nil]
85
+ # @param due_date_window [String, nil]
86
+ # @param due_date_gt [Date, nil]
87
+ # @param due_date_lt [Date, nil]
88
+ # @param external_customer_id [String, nil]
89
+ # @param invoice_date_gt [Time, nil]
90
+ # @param invoice_date_gte [Time, nil]
91
+ # @param invoice_date_lt [Time, nil]
92
+ # @param invoice_date_lte [Time, nil]
93
+ # @param is_recurring [Boolean, nil]
94
+ # @param limit [Integer]
95
+ # @param status [Array<Symbol, Orb::Models::InvoiceListParams::Status>, nil]
96
+ # @param subscription_id [String, nil]
97
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
98
+ #
99
+ # @return [Orb::Page<Orb::Models::Invoice>]
100
+ #
101
+ # @see Orb::Models::InvoiceListParams
102
+ def list(params = {})
103
+ parsed, options = Orb::Models::InvoiceListParams.dump_request(params)
104
+ @client.request(
105
+ method: :get,
106
+ path: "invoices",
107
+ query: parsed,
108
+ page: Orb::Page,
109
+ model: Orb::Models::Invoice,
110
+ options: options
111
+ )
112
+ end
113
+
114
+ # This endpoint is used to fetch an [`Invoice`](/core-concepts#invoice) given an
115
+ # identifier.
116
+ #
117
+ # @overload fetch(invoice_id, request_options: {})
118
+ #
119
+ # @param invoice_id [String]
120
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
121
+ #
122
+ # @return [Orb::Models::Invoice]
123
+ #
124
+ # @see Orb::Models::InvoiceFetchParams
125
+ def fetch(invoice_id, params = {})
126
+ @client.request(
127
+ method: :get,
128
+ path: ["invoices/%1$s", invoice_id],
129
+ model: Orb::Models::Invoice,
130
+ options: params[:request_options]
131
+ )
132
+ end
133
+
134
+ # This endpoint can be used to fetch the upcoming
135
+ # [invoice](/core-concepts#invoice) for the current billing period given a
136
+ # subscription.
137
+ #
138
+ # @overload fetch_upcoming(subscription_id:, request_options: {})
139
+ #
140
+ # @param subscription_id [String]
141
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
142
+ #
143
+ # @return [Orb::Models::InvoiceFetchUpcomingResponse]
144
+ #
145
+ # @see Orb::Models::InvoiceFetchUpcomingParams
146
+ def fetch_upcoming(params)
147
+ parsed, options = Orb::Models::InvoiceFetchUpcomingParams.dump_request(params)
148
+ @client.request(
149
+ method: :get,
150
+ path: "invoices/upcoming",
151
+ query: parsed,
152
+ model: Orb::Models::InvoiceFetchUpcomingResponse,
153
+ options: options
154
+ )
155
+ end
156
+
157
+ # This endpoint allows an eligible invoice to be issued manually. This is only
158
+ # possible with invoices where status is `draft`, `will_auto_issue` is false, and
159
+ # an `eligible_to_issue_at` is a time in the past. Issuing an invoice could
160
+ # possibly trigger side effects, some of which could be customer-visible (e.g.
161
+ # sending emails, auto-collecting payment, syncing the invoice to external
162
+ # providers, etc).
163
+ #
164
+ # @overload issue(invoice_id, synchronous: nil, request_options: {})
165
+ #
166
+ # @param invoice_id [String]
167
+ # @param synchronous [Boolean]
168
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
169
+ #
170
+ # @return [Orb::Models::Invoice]
171
+ #
172
+ # @see Orb::Models::InvoiceIssueParams
173
+ def issue(invoice_id, params = {})
174
+ parsed, options = Orb::Models::InvoiceIssueParams.dump_request(params)
175
+ @client.request(
176
+ method: :post,
177
+ path: ["invoices/%1$s/issue", invoice_id],
178
+ body: parsed,
179
+ model: Orb::Models::Invoice,
180
+ options: options
181
+ )
182
+ end
183
+
184
+ # This endpoint allows an invoice's status to be set the `paid` status. This can
185
+ # only be done to invoices that are in the `issued` status.
186
+ #
187
+ # @overload mark_paid(invoice_id, payment_received_date:, external_id: nil, notes: nil, request_options: {})
188
+ #
189
+ # @param invoice_id [String]
190
+ # @param payment_received_date [Date]
191
+ # @param external_id [String, nil]
192
+ # @param notes [String, nil]
193
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
194
+ #
195
+ # @return [Orb::Models::Invoice]
196
+ #
197
+ # @see Orb::Models::InvoiceMarkPaidParams
198
+ def mark_paid(invoice_id, params)
199
+ parsed, options = Orb::Models::InvoiceMarkPaidParams.dump_request(params)
200
+ @client.request(
201
+ method: :post,
202
+ path: ["invoices/%1$s/mark_paid", invoice_id],
203
+ body: parsed,
204
+ model: Orb::Models::Invoice,
205
+ options: options
206
+ )
207
+ end
208
+
209
+ # This endpoint collects payment for an invoice using the customer's default
210
+ # payment method. This action can only be taken on invoices with status "issued".
211
+ #
212
+ # @overload pay(invoice_id, request_options: {})
213
+ #
214
+ # @param invoice_id [String]
215
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
216
+ #
217
+ # @return [Orb::Models::Invoice]
218
+ #
219
+ # @see Orb::Models::InvoicePayParams
220
+ def pay(invoice_id, params = {})
221
+ @client.request(
222
+ method: :post,
223
+ path: ["invoices/%1$s/pay", invoice_id],
224
+ model: Orb::Models::Invoice,
225
+ options: params[:request_options]
226
+ )
227
+ end
228
+
229
+ # This endpoint allows an invoice's status to be set the `void` status. This can
230
+ # only be done to invoices that are in the `issued` status.
231
+ #
232
+ # If the associated invoice has used the customer balance to change the amount
233
+ # due, the customer balance operation will be reverted. For example, if the
234
+ # invoice used $10 of customer balance, that amount will be added back to the
235
+ # customer balance upon voiding.
236
+ #
237
+ # If the invoice was used to purchase a credit block, but the invoice is not yet
238
+ # paid, the credit block will be voided. If the invoice was created due to a
239
+ # top-up, the top-up will be disabled.
240
+ #
241
+ # @overload void(invoice_id, request_options: {})
242
+ #
243
+ # @param invoice_id [String]
244
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
245
+ #
246
+ # @return [Orb::Models::Invoice]
247
+ #
248
+ # @see Orb::Models::InvoiceVoidParams
249
+ def void(invoice_id, params = {})
250
+ @client.request(
251
+ method: :post,
252
+ path: ["invoices/%1$s/void", invoice_id],
253
+ model: Orb::Models::Invoice,
254
+ options: params[:request_options]
255
+ )
256
+ end
257
+
258
+ # @api private
259
+ #
260
+ # @param client [Orb::Client]
261
+ def initialize(client:)
262
+ @client = client
263
+ end
264
+ end
265
+ end
266
+ end
@@ -0,0 +1,95 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Orb
4
+ module Resources
5
+ class Items
6
+ # This endpoint is used to create an [Item](/core-concepts#item).
7
+ #
8
+ # @overload create(name:, request_options: {})
9
+ #
10
+ # @param name [String]
11
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
12
+ #
13
+ # @return [Orb::Models::Item]
14
+ #
15
+ # @see Orb::Models::ItemCreateParams
16
+ def create(params)
17
+ parsed, options = Orb::Models::ItemCreateParams.dump_request(params)
18
+ @client.request(method: :post, path: "items", body: parsed, model: Orb::Models::Item, options: options)
19
+ end
20
+
21
+ # This endpoint can be used to update properties on the Item.
22
+ #
23
+ # @overload update(item_id, external_connections: nil, name: nil, request_options: {})
24
+ #
25
+ # @param item_id [String]
26
+ # @param external_connections [Array<Orb::Models::ItemUpdateParams::ExternalConnection>, nil]
27
+ # @param name [String, nil]
28
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
29
+ #
30
+ # @return [Orb::Models::Item]
31
+ #
32
+ # @see Orb::Models::ItemUpdateParams
33
+ def update(item_id, params = {})
34
+ parsed, options = Orb::Models::ItemUpdateParams.dump_request(params)
35
+ @client.request(
36
+ method: :put,
37
+ path: ["items/%1$s", item_id],
38
+ body: parsed,
39
+ model: Orb::Models::Item,
40
+ options: options
41
+ )
42
+ end
43
+
44
+ # This endpoint returns a list of all Items, ordered in descending order by
45
+ # creation time.
46
+ #
47
+ # @overload list(cursor: nil, limit: nil, request_options: {})
48
+ #
49
+ # @param cursor [String, nil]
50
+ # @param limit [Integer]
51
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
52
+ #
53
+ # @return [Orb::Page<Orb::Models::Item>]
54
+ #
55
+ # @see Orb::Models::ItemListParams
56
+ def list(params = {})
57
+ parsed, options = Orb::Models::ItemListParams.dump_request(params)
58
+ @client.request(
59
+ method: :get,
60
+ path: "items",
61
+ query: parsed,
62
+ page: Orb::Page,
63
+ model: Orb::Models::Item,
64
+ options: options
65
+ )
66
+ end
67
+
68
+ # This endpoint returns an item identified by its item_id.
69
+ #
70
+ # @overload fetch(item_id, request_options: {})
71
+ #
72
+ # @param item_id [String]
73
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
74
+ #
75
+ # @return [Orb::Models::Item]
76
+ #
77
+ # @see Orb::Models::ItemFetchParams
78
+ def fetch(item_id, params = {})
79
+ @client.request(
80
+ method: :get,
81
+ path: ["items/%1$s", item_id],
82
+ model: Orb::Models::Item,
83
+ options: params[:request_options]
84
+ )
85
+ end
86
+
87
+ # @api private
88
+ #
89
+ # @param client [Orb::Client]
90
+ def initialize(client:)
91
+ @client = client
92
+ end
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,114 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Orb
4
+ module Resources
5
+ class Metrics
6
+ # This endpoint is used to create a [metric](/core-concepts###metric) using a SQL
7
+ # string. See [SQL support](/extensibility/advanced-metrics#sql-support) for a
8
+ # description of constructing SQL queries with examples.
9
+ #
10
+ # @overload create(description:, item_id:, name:, sql:, metadata: nil, request_options: {})
11
+ #
12
+ # @param description [String, nil]
13
+ # @param item_id [String]
14
+ # @param name [String]
15
+ # @param sql [String]
16
+ # @param metadata [Hash{Symbol=>String, nil}, nil]
17
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
18
+ #
19
+ # @return [Orb::Models::BillableMetric]
20
+ #
21
+ # @see Orb::Models::MetricCreateParams
22
+ def create(params)
23
+ parsed, options = Orb::Models::MetricCreateParams.dump_request(params)
24
+ @client.request(
25
+ method: :post,
26
+ path: "metrics",
27
+ body: parsed,
28
+ model: Orb::Models::BillableMetric,
29
+ options: options
30
+ )
31
+ end
32
+
33
+ # This endpoint allows you to update the `metadata` property on a metric. If you
34
+ # pass `null` for the metadata value, it will clear any existing metadata for that
35
+ # invoice.
36
+ #
37
+ # @overload update(metric_id, metadata: nil, request_options: {})
38
+ #
39
+ # @param metric_id [String]
40
+ # @param metadata [Hash{Symbol=>String, nil}, nil]
41
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
42
+ #
43
+ # @return [Orb::Models::BillableMetric]
44
+ #
45
+ # @see Orb::Models::MetricUpdateParams
46
+ def update(metric_id, params = {})
47
+ parsed, options = Orb::Models::MetricUpdateParams.dump_request(params)
48
+ @client.request(
49
+ method: :put,
50
+ path: ["metrics/%1$s", metric_id],
51
+ body: parsed,
52
+ model: Orb::Models::BillableMetric,
53
+ options: options
54
+ )
55
+ end
56
+
57
+ # This endpoint is used to fetch [metric](/core-concepts##metric) details given a
58
+ # metric identifier. It returns information about the metrics including its name,
59
+ # description, and item.
60
+ #
61
+ # @overload list(created_at_gt: nil, created_at_gte: nil, created_at_lt: nil, created_at_lte: nil, cursor: nil, limit: nil, request_options: {})
62
+ #
63
+ # @param created_at_gt [Time, nil]
64
+ # @param created_at_gte [Time, nil]
65
+ # @param created_at_lt [Time, nil]
66
+ # @param created_at_lte [Time, nil]
67
+ # @param cursor [String, nil]
68
+ # @param limit [Integer]
69
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
70
+ #
71
+ # @return [Orb::Page<Orb::Models::BillableMetric>]
72
+ #
73
+ # @see Orb::Models::MetricListParams
74
+ def list(params = {})
75
+ parsed, options = Orb::Models::MetricListParams.dump_request(params)
76
+ @client.request(
77
+ method: :get,
78
+ path: "metrics",
79
+ query: parsed,
80
+ page: Orb::Page,
81
+ model: Orb::Models::BillableMetric,
82
+ options: options
83
+ )
84
+ end
85
+
86
+ # This endpoint is used to list [metrics](/core-concepts#metric). It returns
87
+ # information about the metrics including its name, description, and item.
88
+ #
89
+ # @overload fetch(metric_id, request_options: {})
90
+ #
91
+ # @param metric_id [String]
92
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
93
+ #
94
+ # @return [Orb::Models::BillableMetric]
95
+ #
96
+ # @see Orb::Models::MetricFetchParams
97
+ def fetch(metric_id, params = {})
98
+ @client.request(
99
+ method: :get,
100
+ path: ["metrics/%1$s", metric_id],
101
+ model: Orb::Models::BillableMetric,
102
+ options: params[:request_options]
103
+ )
104
+ end
105
+
106
+ # @api private
107
+ #
108
+ # @param client [Orb::Client]
109
+ def initialize(client:)
110
+ @client = client
111
+ end
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Orb
4
+ module Resources
5
+ class Plans
6
+ class ExternalPlanID
7
+ # This endpoint can be used to update the `external_plan_id`, and `metadata` of an
8
+ # existing plan.
9
+ #
10
+ # Other fields on a customer are currently immutable.
11
+ #
12
+ # @overload update(other_external_plan_id, external_plan_id: nil, metadata: nil, request_options: {})
13
+ #
14
+ # @param other_external_plan_id [String]
15
+ # @param external_plan_id [String, nil]
16
+ # @param metadata [Hash{Symbol=>String, nil}, nil]
17
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
18
+ #
19
+ # @return [Orb::Models::Plan]
20
+ #
21
+ # @see Orb::Models::Plans::ExternalPlanIDUpdateParams
22
+ def update(other_external_plan_id, params = {})
23
+ parsed, options = Orb::Models::Plans::ExternalPlanIDUpdateParams.dump_request(params)
24
+ @client.request(
25
+ method: :put,
26
+ path: ["plans/external_plan_id/%1$s", other_external_plan_id],
27
+ body: parsed,
28
+ model: Orb::Models::Plan,
29
+ options: options
30
+ )
31
+ end
32
+
33
+ # This endpoint is used to fetch [plan](/core-concepts##plan-and-price) details
34
+ # given an external_plan_id identifier. It returns information about the prices
35
+ # included in the plan and their configuration, as well as the product that the
36
+ # plan is attached to.
37
+ #
38
+ # If multiple plans are found to contain the specified external_plan_id, the
39
+ # active plans will take priority over archived ones, and among those, the
40
+ # endpoint will return the most recently created plan.
41
+ #
42
+ # ## Serialized prices
43
+ #
44
+ # Orb supports a few different pricing models out of the box. Each of these models
45
+ # is serialized differently in a given [Price](/core-concepts#plan-and-price)
46
+ # object. The `model_type` field determines the key for the configuration object
47
+ # that is present. A detailed explanation of price types can be found in the
48
+ # [Price schema](/core-concepts#plan-and-price). "
49
+ #
50
+ # @overload fetch(external_plan_id, request_options: {})
51
+ #
52
+ # @param external_plan_id [String]
53
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
54
+ #
55
+ # @return [Orb::Models::Plan]
56
+ #
57
+ # @see Orb::Models::Plans::ExternalPlanIDFetchParams
58
+ def fetch(external_plan_id, params = {})
59
+ @client.request(
60
+ method: :get,
61
+ path: ["plans/external_plan_id/%1$s", external_plan_id],
62
+ model: Orb::Models::Plan,
63
+ options: params[:request_options]
64
+ )
65
+ end
66
+
67
+ # @api private
68
+ #
69
+ # @param client [Orb::Client]
70
+ def initialize(client:)
71
+ @client = client
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,133 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Orb
4
+ module Resources
5
+ class Plans
6
+ # @return [Orb::Resources::Plans::ExternalPlanID]
7
+ attr_reader :external_plan_id
8
+
9
+ # This endpoint allows creation of plans including their prices.
10
+ #
11
+ # @overload create(currency:, name:, prices:, default_invoice_memo: nil, external_plan_id: nil, metadata: nil, net_terms: nil, status: nil, request_options: {})
12
+ #
13
+ # @param currency [String]
14
+ # @param name [String]
15
+ # @param prices [Array<Orb::Models::PlanCreateParams::Price::NewPlanUnitPrice, Orb::Models::PlanCreateParams::Price::NewPlanPackagePrice, Orb::Models::PlanCreateParams::Price::NewPlanMatrixPrice, Orb::Models::PlanCreateParams::Price::NewPlanTieredPrice, Orb::Models::PlanCreateParams::Price::NewPlanTieredBpsPrice, Orb::Models::PlanCreateParams::Price::NewPlanBpsPrice, Orb::Models::PlanCreateParams::Price::NewPlanBulkBpsPrice, Orb::Models::PlanCreateParams::Price::NewPlanBulkPrice, Orb::Models::PlanCreateParams::Price::NewPlanThresholdTotalAmountPrice, Orb::Models::PlanCreateParams::Price::NewPlanTieredPackagePrice, Orb::Models::PlanCreateParams::Price::NewPlanTieredWithMinimumPrice, Orb::Models::PlanCreateParams::Price::NewPlanUnitWithPercentPrice, Orb::Models::PlanCreateParams::Price::NewPlanPackageWithAllocationPrice, Orb::Models::PlanCreateParams::Price::NewPlanTierWithProrationPrice, Orb::Models::PlanCreateParams::Price::NewPlanUnitWithProrationPrice, Orb::Models::PlanCreateParams::Price::NewPlanGroupedAllocationPrice, Orb::Models::PlanCreateParams::Price::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::PlanCreateParams::Price::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::PlanCreateParams::Price::NewPlanMatrixWithDisplayNamePrice, Orb::Models::PlanCreateParams::Price::NewPlanBulkWithProrationPrice, Orb::Models::PlanCreateParams::Price::NewPlanGroupedTieredPackagePrice, Orb::Models::PlanCreateParams::Price::NewPlanMaxGroupTieredPackagePrice, Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice>]
16
+ # @param default_invoice_memo [String, nil]
17
+ # @param external_plan_id [String, nil]
18
+ # @param metadata [Hash{Symbol=>String, nil}, nil]
19
+ # @param net_terms [Integer, nil]
20
+ # @param status [Symbol, Orb::Models::PlanCreateParams::Status]
21
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
22
+ #
23
+ # @return [Orb::Models::Plan]
24
+ #
25
+ # @see Orb::Models::PlanCreateParams
26
+ def create(params)
27
+ parsed, options = Orb::Models::PlanCreateParams.dump_request(params)
28
+ @client.request(method: :post, path: "plans", body: parsed, model: Orb::Models::Plan, options: options)
29
+ end
30
+
31
+ # This endpoint can be used to update the `external_plan_id`, and `metadata` of an
32
+ # existing plan.
33
+ #
34
+ # Other fields on a customer are currently immutable.
35
+ #
36
+ # @overload update(plan_id, external_plan_id: nil, metadata: nil, request_options: {})
37
+ #
38
+ # @param plan_id [String]
39
+ # @param external_plan_id [String, nil]
40
+ # @param metadata [Hash{Symbol=>String, nil}, nil]
41
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
42
+ #
43
+ # @return [Orb::Models::Plan]
44
+ #
45
+ # @see Orb::Models::PlanUpdateParams
46
+ def update(plan_id, params = {})
47
+ parsed, options = Orb::Models::PlanUpdateParams.dump_request(params)
48
+ @client.request(
49
+ method: :put,
50
+ path: ["plans/%1$s", plan_id],
51
+ body: parsed,
52
+ model: Orb::Models::Plan,
53
+ options: options
54
+ )
55
+ end
56
+
57
+ # This endpoint returns a list of all [plans](/core-concepts#plan-and-price) for
58
+ # an account in a list format. The list of plans is ordered starting from the most
59
+ # recently created plan. The response also includes
60
+ # [`pagination_metadata`](/api-reference/pagination), which lets the caller
61
+ # retrieve the next page of results if they exist.
62
+ #
63
+ # @overload list(created_at_gt: nil, created_at_gte: nil, created_at_lt: nil, created_at_lte: nil, cursor: nil, limit: nil, status: nil, request_options: {})
64
+ #
65
+ # @param created_at_gt [Time, nil]
66
+ # @param created_at_gte [Time, nil]
67
+ # @param created_at_lt [Time, nil]
68
+ # @param created_at_lte [Time, nil]
69
+ # @param cursor [String, nil]
70
+ # @param limit [Integer]
71
+ # @param status [Symbol, Orb::Models::PlanListParams::Status]
72
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
73
+ #
74
+ # @return [Orb::Page<Orb::Models::Plan>]
75
+ #
76
+ # @see Orb::Models::PlanListParams
77
+ def list(params = {})
78
+ parsed, options = Orb::Models::PlanListParams.dump_request(params)
79
+ @client.request(
80
+ method: :get,
81
+ path: "plans",
82
+ query: parsed,
83
+ page: Orb::Page,
84
+ model: Orb::Models::Plan,
85
+ options: options
86
+ )
87
+ end
88
+
89
+ # This endpoint is used to fetch [plan](/core-concepts#plan-and-price) details
90
+ # given a plan identifier. It returns information about the prices included in the
91
+ # plan and their configuration, as well as the product that the plan is attached
92
+ # to.
93
+ #
94
+ # ## Serialized prices
95
+ #
96
+ # Orb supports a few different pricing models out of the box. Each of these models
97
+ # is serialized differently in a given [Price](/core-concepts#plan-and-price)
98
+ # object. The `model_type` field determines the key for the configuration object
99
+ # that is present. A detailed explanation of price types can be found in the
100
+ # [Price schema](/core-concepts#plan-and-price).
101
+ #
102
+ # ## Phases
103
+ #
104
+ # Orb supports plan phases, also known as contract ramps. For plans with phases,
105
+ # the serialized prices refer to all prices across all phases.
106
+ #
107
+ # @overload fetch(plan_id, request_options: {})
108
+ #
109
+ # @param plan_id [String]
110
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}, nil]
111
+ #
112
+ # @return [Orb::Models::Plan]
113
+ #
114
+ # @see Orb::Models::PlanFetchParams
115
+ def fetch(plan_id, params = {})
116
+ @client.request(
117
+ method: :get,
118
+ path: ["plans/%1$s", plan_id],
119
+ model: Orb::Models::Plan,
120
+ options: params[:request_options]
121
+ )
122
+ end
123
+
124
+ # @api private
125
+ #
126
+ # @param client [Orb::Client]
127
+ def initialize(client:)
128
+ @client = client
129
+ @external_plan_id = Orb::Resources::Plans::ExternalPlanID.new(client: client)
130
+ end
131
+ end
132
+ end
133
+ end