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