metronome-sdk 0.2.0 → 1.0.0

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 (321) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +61 -0
  3. data/README.md +9 -9
  4. data/lib/metronome_sdk/internal/body_cursor_page.rb +86 -0
  5. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +86 -0
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -4
  7. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +1 -9
  8. data/lib/metronome_sdk/internal/type/array_of.rb +1 -0
  9. data/lib/metronome_sdk/internal/type/base_model.rb +9 -14
  10. data/lib/metronome_sdk/internal/type/converter.rb +27 -0
  11. data/lib/metronome_sdk/internal/type/hash_of.rb +1 -0
  12. data/lib/metronome_sdk/internal/type/union.rb +20 -7
  13. data/lib/metronome_sdk/internal/util.rb +1 -1
  14. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  15. data/lib/metronome_sdk/models/commit.rb +26 -170
  16. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  17. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  18. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  19. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  20. data/lib/metronome_sdk/models/contract.rb +404 -0
  21. data/lib/metronome_sdk/models/contract_v2.rb +2919 -0
  22. data/lib/metronome_sdk/models/contract_without_amendments.rb +36 -1126
  23. data/lib/metronome_sdk/models/credit.rb +9 -156
  24. data/lib/metronome_sdk/models/discount.rb +2 -1
  25. data/lib/metronome_sdk/models/hierarchy_configuration.rb +76 -0
  26. data/lib/metronome_sdk/models/override.rb +6 -101
  27. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  28. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  29. data/lib/metronome_sdk/models/payment_gate_config.rb +149 -0
  30. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +149 -0
  31. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  32. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  33. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  34. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  35. data/lib/metronome_sdk/models/schedule_point_in_time.rb +14 -1
  36. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  37. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  38. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  39. data/lib/metronome_sdk/models/subscription.rb +227 -0
  40. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  41. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -6
  42. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  43. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  44. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  45. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +110 -415
  46. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  47. data/lib/metronome_sdk/models/v1/contract_create_params.rb +287 -1480
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  49. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +9 -1
  55. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  56. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  57. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  60. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  61. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  62. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  63. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  66. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  67. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  68. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  69. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  70. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  71. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  72. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  73. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  74. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  75. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  76. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  77. data/lib/metronome_sdk/models/v1/customer_detail.rb +2 -1
  78. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  79. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +1 -3
  80. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  81. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  82. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  83. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +1 -3
  84. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +30 -1
  85. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  86. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  87. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +20 -61
  88. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  89. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +8 -16
  90. data/lib/metronome_sdk/models/v1/customers/invoice.rb +68 -43
  91. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  92. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  93. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  94. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  95. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  96. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  97. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  98. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  99. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  100. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  101. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  102. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  103. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +38 -58
  104. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +35 -49
  105. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +469 -2302
  106. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +358 -2414
  107. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  108. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  109. data/lib/metronome_sdk/models.rb +38 -0
  110. data/lib/metronome_sdk/resources/v1/alerts.rb +72 -2
  111. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  112. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  113. data/lib/metronome_sdk/resources/v1/contracts/products.rb +27 -6
  114. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  115. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  116. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  117. data/lib/metronome_sdk/resources/v1/contracts.rb +254 -18
  118. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  119. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  120. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +103 -8
  121. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  122. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  123. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +124 -8
  124. data/lib/metronome_sdk/resources/v1/customers.rb +169 -12
  125. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  126. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  127. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  128. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  129. data/lib/metronome_sdk/resources/v1/usage.rb +185 -12
  130. data/lib/metronome_sdk/resources/v2/contracts.rb +118 -18
  131. data/lib/metronome_sdk/version.rb +1 -1
  132. data/lib/metronome_sdk.rb +24 -3
  133. data/rbi/metronome_sdk/errors.rbi +2 -2
  134. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  135. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  136. data/rbi/metronome_sdk/internal/type/converter.rbi +58 -0
  137. data/rbi/metronome_sdk/internal/type/union.rbi +9 -2
  138. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  139. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  140. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  141. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  142. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  143. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  144. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  145. data/rbi/metronome_sdk/models/contract_v2.rbi +5822 -0
  146. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +184 -2507
  147. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  148. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  149. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +180 -0
  150. data/rbi/metronome_sdk/models/override.rbi +8 -193
  151. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  152. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  153. data/rbi/metronome_sdk/models/payment_gate_config.rbi +312 -0
  154. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +321 -0
  155. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  156. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  157. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  158. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  159. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +17 -1
  160. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  161. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  162. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  163. data/rbi/metronome_sdk/models/subscription.rbi +460 -0
  164. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  165. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -3
  166. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  167. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  168. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +120 -771
  169. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  170. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1613 -4069
  171. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  172. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  173. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  174. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  175. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +11 -0
  176. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  177. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  178. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  179. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  180. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  181. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  182. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  183. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  184. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  185. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  186. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  187. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  188. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  189. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  190. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  191. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  192. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +2 -0
  193. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  194. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  195. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  196. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  197. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +60 -0
  198. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  199. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  200. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +19 -90
  201. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  202. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +6 -3
  203. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +76 -0
  204. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  205. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  206. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  207. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  208. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  209. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  210. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  211. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +66 -76
  212. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +66 -76
  213. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3563 -7329
  214. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1181 -6070
  215. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  216. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  217. data/rbi/metronome_sdk/models.rbi +44 -0
  218. data/rbi/metronome_sdk/resources/v1/alerts.rbi +72 -2
  219. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  220. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  221. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +27 -5
  222. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  223. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  224. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  225. data/rbi/metronome_sdk/resources/v1/contracts.rbi +257 -16
  226. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  227. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  228. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +108 -5
  229. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  230. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  231. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +123 -7
  232. data/rbi/metronome_sdk/resources/v1/customers.rbi +156 -11
  233. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  234. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  235. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  236. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  237. data/rbi/metronome_sdk/resources/v1/usage.rbi +188 -12
  238. data/rbi/metronome_sdk/resources/v2/contracts.rbi +128 -23
  239. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  240. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  241. data/sig/metronome_sdk/internal/type/converter.rbs +17 -0
  242. data/sig/metronome_sdk/internal/type/union.rbs +2 -2
  243. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  244. data/sig/metronome_sdk/models/commit.rbs +17 -170
  245. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  246. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  247. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  248. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  249. data/sig/metronome_sdk/models/contract.rbs +398 -0
  250. data/sig/metronome_sdk/models/contract_v2.rbs +2881 -0
  251. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  252. data/sig/metronome_sdk/models/credit.rbs +12 -170
  253. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +71 -0
  254. data/sig/metronome_sdk/models/override.rbs +12 -101
  255. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  256. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  257. data/sig/metronome_sdk/models/payment_gate_config.rbs +123 -0
  258. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +123 -0
  259. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  260. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  261. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  262. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +7 -0
  263. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  264. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  265. data/sig/metronome_sdk/models/subscription.rbs +215 -0
  266. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  267. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  268. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +62 -343
  269. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +218 -1234
  270. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  271. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  272. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  273. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  274. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +7 -0
  275. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  276. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  277. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  278. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  279. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  280. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  281. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  282. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  283. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  284. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  285. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  286. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  287. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  288. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  289. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +13 -50
  290. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  291. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  292. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +5 -0
  293. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  294. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +24 -43
  295. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +24 -43
  296. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +400 -1911
  297. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +256 -2249
  298. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  299. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  300. data/sig/metronome_sdk/models.rbs +38 -0
  301. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +1 -0
  302. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  303. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  304. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  305. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  306. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  307. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  308. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  309. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  310. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  311. data/sig/metronome_sdk/resources/v2/contracts.rbs +9 -4
  312. metadata +74 -11
  313. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  314. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  315. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  316. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  317. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  318. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  319. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  320. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  321. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -57,6 +57,7 @@ module MetronomeSDK
57
57
  end
58
58
  attr_writer :credits
59
59
 
60
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
60
61
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
61
62
  attr_reader :custom_fields
62
63
 
@@ -217,6 +218,7 @@ module MetronomeSDK
217
218
  starting_at:,
218
219
  commits: nil,
219
220
  credits: nil,
221
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
220
222
  custom_fields: nil,
221
223
  # This field's availability is dependent on your client's configuration.
222
224
  discounts: nil,
@@ -335,6 +337,7 @@ module MetronomeSDK
335
337
  sig { params(applicable_product_tags: T::Array[String]).void }
336
338
  attr_writer :applicable_product_tags
337
339
 
340
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
338
341
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
339
342
  attr_reader :custom_fields
340
343
 
@@ -349,19 +352,13 @@ module MetronomeSDK
349
352
  attr_writer :description
350
353
 
351
354
  # Optional configuration for commit hierarchy access control
352
- sig do
353
- returns(
354
- T.nilable(
355
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration
356
- )
357
- )
358
- end
355
+ sig { returns(T.nilable(MetronomeSDK::CommitHierarchyConfiguration)) }
359
356
  attr_reader :hierarchy_configuration
360
357
 
361
358
  sig do
362
359
  params(
363
360
  hierarchy_configuration:
364
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::OrHash
361
+ MetronomeSDK::CommitHierarchyConfiguration::OrHash
365
362
  ).void
366
363
  end
367
364
  attr_writer :hierarchy_configuration
@@ -456,22 +453,13 @@ module MetronomeSDK
456
453
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
457
454
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
458
455
  sig do
459
- returns(
460
- T.nilable(
461
- T::Array[
462
- MetronomeSDK::V1::ContractAmendParams::Commit::Specifier
463
- ]
464
- )
465
- )
456
+ returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput]))
466
457
  end
467
458
  attr_reader :specifiers
468
459
 
469
460
  sig do
470
461
  params(
471
- specifiers:
472
- T::Array[
473
- MetronomeSDK::V1::ContractAmendParams::Commit::Specifier::OrHash
474
- ]
462
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
475
463
  ).void
476
464
  end
477
465
  attr_writer :specifiers
@@ -497,7 +485,7 @@ module MetronomeSDK
497
485
  custom_fields: T::Hash[Symbol, String],
498
486
  description: String,
499
487
  hierarchy_configuration:
500
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::OrHash,
488
+ MetronomeSDK::CommitHierarchyConfiguration::OrHash,
501
489
  invoice_schedule:
502
490
  MetronomeSDK::V1::ContractAmendParams::Commit::InvoiceSchedule::OrHash,
503
491
  name: String,
@@ -508,10 +496,7 @@ module MetronomeSDK
508
496
  rate_type:
509
497
  MetronomeSDK::V1::ContractAmendParams::Commit::RateType::OrSymbol,
510
498
  rollover_fraction: Float,
511
- specifiers:
512
- T::Array[
513
- MetronomeSDK::V1::ContractAmendParams::Commit::Specifier::OrHash
514
- ],
499
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash],
515
500
  temporary_id: String
516
501
  ).returns(T.attached_class)
517
502
  end
@@ -532,6 +517,7 @@ module MetronomeSDK
532
517
  # applicable_product_tags or specifiers are not provided, the commit applies to
533
518
  # all products.
534
519
  applicable_product_tags: nil,
520
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
535
521
  custom_fields: nil,
536
522
  # Used only in UI/API. It is not exposed to end customers.
537
523
  description: nil,
@@ -579,7 +565,7 @@ module MetronomeSDK
579
565
  custom_fields: T::Hash[Symbol, String],
580
566
  description: String,
581
567
  hierarchy_configuration:
582
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration,
568
+ MetronomeSDK::CommitHierarchyConfiguration,
583
569
  invoice_schedule:
584
570
  MetronomeSDK::V1::ContractAmendParams::Commit::InvoiceSchedule,
585
571
  name: String,
@@ -590,10 +576,7 @@ module MetronomeSDK
590
576
  rate_type:
591
577
  MetronomeSDK::V1::ContractAmendParams::Commit::RateType::OrSymbol,
592
578
  rollover_fraction: Float,
593
- specifiers:
594
- T::Array[
595
- MetronomeSDK::V1::ContractAmendParams::Commit::Specifier
596
- ],
579
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput],
597
580
  temporary_id: String
598
581
  }
599
582
  )
@@ -739,282 +722,6 @@ module MetronomeSDK
739
722
  end
740
723
  end
741
724
 
742
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
743
- OrHash =
744
- T.type_alias do
745
- T.any(
746
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration,
747
- MetronomeSDK::Internal::AnyHash
748
- )
749
- end
750
-
751
- sig do
752
- returns(
753
- T.any(
754
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
755
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
756
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
757
- )
758
- )
759
- end
760
- attr_accessor :child_access
761
-
762
- # Optional configuration for commit hierarchy access control
763
- sig do
764
- params(
765
- child_access:
766
- T.any(
767
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
768
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
769
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
770
- )
771
- ).returns(T.attached_class)
772
- end
773
- def self.new(child_access:)
774
- end
775
-
776
- sig do
777
- override.returns(
778
- {
779
- child_access:
780
- T.any(
781
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
782
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
783
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
784
- )
785
- }
786
- )
787
- end
788
- def to_hash
789
- end
790
-
791
- module ChildAccess
792
- extend MetronomeSDK::Internal::Type::Union
793
-
794
- Variants =
795
- T.type_alias do
796
- T.any(
797
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
798
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
799
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
800
- )
801
- end
802
-
803
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
804
- OrHash =
805
- T.type_alias do
806
- T.any(
807
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
808
- MetronomeSDK::Internal::AnyHash
809
- )
810
- end
811
-
812
- sig do
813
- returns(
814
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
815
- )
816
- end
817
- attr_accessor :type
818
-
819
- sig do
820
- params(
821
- type:
822
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
823
- ).returns(T.attached_class)
824
- end
825
- def self.new(type:)
826
- end
827
-
828
- sig do
829
- override.returns(
830
- {
831
- type:
832
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
833
- }
834
- )
835
- end
836
- def to_hash
837
- end
838
-
839
- module Type
840
- extend MetronomeSDK::Internal::Type::Enum
841
-
842
- TaggedSymbol =
843
- T.type_alias do
844
- T.all(
845
- Symbol,
846
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
847
- )
848
- end
849
- OrSymbol = T.type_alias { T.any(Symbol, String) }
850
-
851
- ALL =
852
- T.let(
853
- :ALL,
854
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
855
- )
856
-
857
- sig do
858
- override.returns(
859
- T::Array[
860
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
861
- ]
862
- )
863
- end
864
- def self.values
865
- end
866
- end
867
- end
868
-
869
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
870
- OrHash =
871
- T.type_alias do
872
- T.any(
873
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
874
- MetronomeSDK::Internal::AnyHash
875
- )
876
- end
877
-
878
- sig do
879
- returns(
880
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
881
- )
882
- end
883
- attr_accessor :type
884
-
885
- sig do
886
- params(
887
- type:
888
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
889
- ).returns(T.attached_class)
890
- end
891
- def self.new(type:)
892
- end
893
-
894
- sig do
895
- override.returns(
896
- {
897
- type:
898
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
899
- }
900
- )
901
- end
902
- def to_hash
903
- end
904
-
905
- module Type
906
- extend MetronomeSDK::Internal::Type::Enum
907
-
908
- TaggedSymbol =
909
- T.type_alias do
910
- T.all(
911
- Symbol,
912
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
913
- )
914
- end
915
- OrSymbol = T.type_alias { T.any(Symbol, String) }
916
-
917
- NONE =
918
- T.let(
919
- :NONE,
920
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
921
- )
922
-
923
- sig do
924
- override.returns(
925
- T::Array[
926
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
927
- ]
928
- )
929
- end
930
- def self.values
931
- end
932
- end
933
- end
934
-
935
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
936
- OrHash =
937
- T.type_alias do
938
- T.any(
939
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
940
- MetronomeSDK::Internal::AnyHash
941
- )
942
- end
943
-
944
- sig { returns(T::Array[String]) }
945
- attr_accessor :contract_ids
946
-
947
- sig do
948
- returns(
949
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
950
- )
951
- end
952
- attr_accessor :type
953
-
954
- sig do
955
- params(
956
- contract_ids: T::Array[String],
957
- type:
958
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
959
- ).returns(T.attached_class)
960
- end
961
- def self.new(contract_ids:, type:)
962
- end
963
-
964
- sig do
965
- override.returns(
966
- {
967
- contract_ids: T::Array[String],
968
- type:
969
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
970
- }
971
- )
972
- end
973
- def to_hash
974
- end
975
-
976
- module Type
977
- extend MetronomeSDK::Internal::Type::Enum
978
-
979
- TaggedSymbol =
980
- T.type_alias do
981
- T.all(
982
- Symbol,
983
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
984
- )
985
- end
986
- OrSymbol = T.type_alias { T.any(Symbol, String) }
987
-
988
- CONTRACT_IDS =
989
- T.let(
990
- :CONTRACT_IDS,
991
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
992
- )
993
-
994
- sig do
995
- override.returns(
996
- T::Array[
997
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
998
- ]
999
- )
1000
- end
1001
- def self.values
1002
- end
1003
- end
1004
- end
1005
-
1006
- sig do
1007
- override.returns(
1008
- T::Array[
1009
- MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::Variants
1010
- ]
1011
- )
1012
- end
1013
- def self.variants
1014
- end
1015
- end
1016
- end
1017
-
1018
725
  class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
1019
726
  OrHash =
1020
727
  T.type_alias do
@@ -1031,6 +738,14 @@ module MetronomeSDK
1031
738
  sig { params(credit_type_id: String).void }
1032
739
  attr_writer :credit_type_id
1033
740
 
741
+ # This field is only applicable to commit invoice schedules. If true, this
742
+ # schedule will not generate an invoice.
743
+ sig { returns(T.nilable(T::Boolean)) }
744
+ attr_reader :do_not_invoice
745
+
746
+ sig { params(do_not_invoice: T::Boolean).void }
747
+ attr_writer :do_not_invoice
748
+
1034
749
  # Enter the unit price and quantity for the charge or instead only send the
1035
750
  # amount. If amount is sent, the unit price is assumed to be the amount and
1036
751
  # quantity is inferred to be 1.
@@ -1080,6 +795,7 @@ module MetronomeSDK
1080
795
  sig do
1081
796
  params(
1082
797
  credit_type_id: String,
798
+ do_not_invoice: T::Boolean,
1083
799
  recurring_schedule:
1084
800
  MetronomeSDK::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::OrHash,
1085
801
  schedule_items:
@@ -1091,6 +807,9 @@ module MetronomeSDK
1091
807
  def self.new(
1092
808
  # Defaults to USD (cents) if not passed.
1093
809
  credit_type_id: nil,
810
+ # This field is only applicable to commit invoice schedules. If true, this
811
+ # schedule will not generate an invoice.
812
+ do_not_invoice: nil,
1094
813
  # Enter the unit price and quantity for the charge or instead only send the
1095
814
  # amount. If amount is sent, the unit price is assumed to be the amount and
1096
815
  # quantity is inferred to be 1.
@@ -1104,6 +823,7 @@ module MetronomeSDK
1104
823
  override.returns(
1105
824
  {
1106
825
  credit_type_id: String,
826
+ do_not_invoice: T::Boolean,
1107
827
  recurring_schedule:
1108
828
  MetronomeSDK::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule,
1109
829
  schedule_items:
@@ -1629,12 +1349,27 @@ module MetronomeSDK
1629
1349
  sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
1630
1350
  attr_writer :invoice_metadata
1631
1351
 
1352
+ # If true, the payment will be made assuming the customer is present (i.e. on
1353
+ # session).
1354
+ #
1355
+ # If false, the payment will be made assuming the customer is not present (i.e.
1356
+ # off session). For cardholders from a country with an e-mandate requirement (e.g.
1357
+ # India), the payment may be declined.
1358
+ #
1359
+ # If left blank, will default to false.
1360
+ sig { returns(T.nilable(T::Boolean)) }
1361
+ attr_reader :on_session_payment
1362
+
1363
+ sig { params(on_session_payment: T::Boolean).void }
1364
+ attr_writer :on_session_payment
1365
+
1632
1366
  # Only applicable if using STRIPE as your payment gate type.
1633
1367
  sig do
1634
1368
  params(
1635
1369
  payment_type:
1636
1370
  MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
1637
- invoice_metadata: T::Hash[Symbol, String]
1371
+ invoice_metadata: T::Hash[Symbol, String],
1372
+ on_session_payment: T::Boolean
1638
1373
  ).returns(T.attached_class)
1639
1374
  end
1640
1375
  def self.new(
@@ -1642,7 +1377,16 @@ module MetronomeSDK
1642
1377
  payment_type:,
1643
1378
  # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1644
1379
  # your payment type.
1645
- invoice_metadata: nil
1380
+ invoice_metadata: nil,
1381
+ # If true, the payment will be made assuming the customer is present (i.e. on
1382
+ # session).
1383
+ #
1384
+ # If false, the payment will be made assuming the customer is not present (i.e.
1385
+ # off session). For cardholders from a country with an e-mandate requirement (e.g.
1386
+ # India), the payment may be declined.
1387
+ #
1388
+ # If left blank, will default to false.
1389
+ on_session_payment: nil
1646
1390
  )
1647
1391
  end
1648
1392
 
@@ -1651,7 +1395,8 @@ module MetronomeSDK
1651
1395
  {
1652
1396
  payment_type:
1653
1397
  MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
1654
- invoice_metadata: T::Hash[Symbol, String]
1398
+ invoice_metadata: T::Hash[Symbol, String],
1399
+ on_session_payment: T::Boolean
1655
1400
  }
1656
1401
  )
1657
1402
  end
@@ -1775,77 +1520,6 @@ module MetronomeSDK
1775
1520
  def self.values
1776
1521
  end
1777
1522
  end
1778
-
1779
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
1780
- OrHash =
1781
- T.type_alias do
1782
- T.any(
1783
- MetronomeSDK::V1::ContractAmendParams::Commit::Specifier,
1784
- MetronomeSDK::Internal::AnyHash
1785
- )
1786
- end
1787
-
1788
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
1789
- attr_reader :presentation_group_values
1790
-
1791
- sig do
1792
- params(presentation_group_values: T::Hash[Symbol, String]).void
1793
- end
1794
- attr_writer :presentation_group_values
1795
-
1796
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
1797
- attr_reader :pricing_group_values
1798
-
1799
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
1800
- attr_writer :pricing_group_values
1801
-
1802
- # If provided, the specifier will only apply to the product with the specified ID.
1803
- sig { returns(T.nilable(String)) }
1804
- attr_reader :product_id
1805
-
1806
- sig { params(product_id: String).void }
1807
- attr_writer :product_id
1808
-
1809
- # If provided, the specifier will only apply to products with all the specified
1810
- # tags.
1811
- sig { returns(T.nilable(T::Array[String])) }
1812
- attr_reader :product_tags
1813
-
1814
- sig { params(product_tags: T::Array[String]).void }
1815
- attr_writer :product_tags
1816
-
1817
- sig do
1818
- params(
1819
- presentation_group_values: T::Hash[Symbol, String],
1820
- pricing_group_values: T::Hash[Symbol, String],
1821
- product_id: String,
1822
- product_tags: T::Array[String]
1823
- ).returns(T.attached_class)
1824
- end
1825
- def self.new(
1826
- presentation_group_values: nil,
1827
- pricing_group_values: nil,
1828
- # If provided, the specifier will only apply to the product with the specified ID.
1829
- product_id: nil,
1830
- # If provided, the specifier will only apply to products with all the specified
1831
- # tags.
1832
- product_tags: nil
1833
- )
1834
- end
1835
-
1836
- sig do
1837
- override.returns(
1838
- {
1839
- presentation_group_values: T::Hash[Symbol, String],
1840
- pricing_group_values: T::Hash[Symbol, String],
1841
- product_id: String,
1842
- product_tags: T::Array[String]
1843
- }
1844
- )
1845
- end
1846
- def to_hash
1847
- end
1848
- end
1849
1523
  end
1850
1524
 
1851
1525
  class Credit < MetronomeSDK::Internal::Type::BaseModel
@@ -1892,6 +1566,7 @@ module MetronomeSDK
1892
1566
  sig { params(applicable_product_tags: T::Array[String]).void }
1893
1567
  attr_writer :applicable_product_tags
1894
1568
 
1569
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1895
1570
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
1896
1571
  attr_reader :custom_fields
1897
1572
 
@@ -1906,19 +1581,13 @@ module MetronomeSDK
1906
1581
  attr_writer :description
1907
1582
 
1908
1583
  # Optional configuration for credit hierarchy access control
1909
- sig do
1910
- returns(
1911
- T.nilable(
1912
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration
1913
- )
1914
- )
1915
- end
1584
+ sig { returns(T.nilable(MetronomeSDK::CommitHierarchyConfiguration)) }
1916
1585
  attr_reader :hierarchy_configuration
1917
1586
 
1918
1587
  sig do
1919
1588
  params(
1920
1589
  hierarchy_configuration:
1921
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::OrHash
1590
+ MetronomeSDK::CommitHierarchyConfiguration::OrHash
1922
1591
  ).void
1923
1592
  end
1924
1593
  attr_writer :hierarchy_configuration
@@ -1967,22 +1636,13 @@ module MetronomeSDK
1967
1636
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
1968
1637
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
1969
1638
  sig do
1970
- returns(
1971
- T.nilable(
1972
- T::Array[
1973
- MetronomeSDK::V1::ContractAmendParams::Credit::Specifier
1974
- ]
1975
- )
1976
- )
1639
+ returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput]))
1977
1640
  end
1978
1641
  attr_reader :specifiers
1979
1642
 
1980
1643
  sig do
1981
1644
  params(
1982
- specifiers:
1983
- T::Array[
1984
- MetronomeSDK::V1::ContractAmendParams::Credit::Specifier::OrHash
1985
- ]
1645
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
1986
1646
  ).void
1987
1647
  end
1988
1648
  attr_writer :specifiers
@@ -1997,16 +1657,13 @@ module MetronomeSDK
1997
1657
  custom_fields: T::Hash[Symbol, String],
1998
1658
  description: String,
1999
1659
  hierarchy_configuration:
2000
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::OrHash,
1660
+ MetronomeSDK::CommitHierarchyConfiguration::OrHash,
2001
1661
  name: String,
2002
1662
  netsuite_sales_order_id: String,
2003
1663
  priority: Float,
2004
1664
  rate_type:
2005
1665
  MetronomeSDK::V1::ContractAmendParams::Credit::RateType::OrSymbol,
2006
- specifiers:
2007
- T::Array[
2008
- MetronomeSDK::V1::ContractAmendParams::Credit::Specifier::OrHash
2009
- ]
1666
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
2010
1667
  ).returns(T.attached_class)
2011
1668
  end
2012
1669
  def self.new(
@@ -2019,6 +1676,7 @@ module MetronomeSDK
2019
1676
  # Which tags the credit applies to. If both applicable_product_ids and
2020
1677
  # applicable_product_tags are not provided, the credit applies to all products.
2021
1678
  applicable_product_tags: nil,
1679
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
2022
1680
  custom_fields: nil,
2023
1681
  # Used only in UI/API. It is not exposed to end customers.
2024
1682
  description: nil,
@@ -2051,16 +1709,13 @@ module MetronomeSDK
2051
1709
  custom_fields: T::Hash[Symbol, String],
2052
1710
  description: String,
2053
1711
  hierarchy_configuration:
2054
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration,
1712
+ MetronomeSDK::CommitHierarchyConfiguration,
2055
1713
  name: String,
2056
1714
  netsuite_sales_order_id: String,
2057
1715
  priority: Float,
2058
1716
  rate_type:
2059
1717
  MetronomeSDK::V1::ContractAmendParams::Credit::RateType::OrSymbol,
2060
- specifiers:
2061
- T::Array[
2062
- MetronomeSDK::V1::ContractAmendParams::Credit::Specifier
2063
- ]
1718
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput]
2064
1719
  }
2065
1720
  )
2066
1721
  end
@@ -2169,282 +1824,6 @@ module MetronomeSDK
2169
1824
  end
2170
1825
  end
2171
1826
 
2172
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2173
- OrHash =
2174
- T.type_alias do
2175
- T.any(
2176
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration,
2177
- MetronomeSDK::Internal::AnyHash
2178
- )
2179
- end
2180
-
2181
- sig do
2182
- returns(
2183
- T.any(
2184
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2185
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2186
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
2187
- )
2188
- )
2189
- end
2190
- attr_accessor :child_access
2191
-
2192
- # Optional configuration for credit hierarchy access control
2193
- sig do
2194
- params(
2195
- child_access:
2196
- T.any(
2197
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
2198
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
2199
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
2200
- )
2201
- ).returns(T.attached_class)
2202
- end
2203
- def self.new(child_access:)
2204
- end
2205
-
2206
- sig do
2207
- override.returns(
2208
- {
2209
- child_access:
2210
- T.any(
2211
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2212
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2213
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
2214
- )
2215
- }
2216
- )
2217
- end
2218
- def to_hash
2219
- end
2220
-
2221
- module ChildAccess
2222
- extend MetronomeSDK::Internal::Type::Union
2223
-
2224
- Variants =
2225
- T.type_alias do
2226
- T.any(
2227
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2228
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2229
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
2230
- )
2231
- end
2232
-
2233
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
2234
- OrHash =
2235
- T.type_alias do
2236
- T.any(
2237
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2238
- MetronomeSDK::Internal::AnyHash
2239
- )
2240
- end
2241
-
2242
- sig do
2243
- returns(
2244
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
2245
- )
2246
- end
2247
- attr_accessor :type
2248
-
2249
- sig do
2250
- params(
2251
- type:
2252
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
2253
- ).returns(T.attached_class)
2254
- end
2255
- def self.new(type:)
2256
- end
2257
-
2258
- sig do
2259
- override.returns(
2260
- {
2261
- type:
2262
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
2263
- }
2264
- )
2265
- end
2266
- def to_hash
2267
- end
2268
-
2269
- module Type
2270
- extend MetronomeSDK::Internal::Type::Enum
2271
-
2272
- TaggedSymbol =
2273
- T.type_alias do
2274
- T.all(
2275
- Symbol,
2276
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
2277
- )
2278
- end
2279
- OrSymbol = T.type_alias { T.any(Symbol, String) }
2280
-
2281
- ALL =
2282
- T.let(
2283
- :ALL,
2284
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
2285
- )
2286
-
2287
- sig do
2288
- override.returns(
2289
- T::Array[
2290
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
2291
- ]
2292
- )
2293
- end
2294
- def self.values
2295
- end
2296
- end
2297
- end
2298
-
2299
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
2300
- OrHash =
2301
- T.type_alias do
2302
- T.any(
2303
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2304
- MetronomeSDK::Internal::AnyHash
2305
- )
2306
- end
2307
-
2308
- sig do
2309
- returns(
2310
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
2311
- )
2312
- end
2313
- attr_accessor :type
2314
-
2315
- sig do
2316
- params(
2317
- type:
2318
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
2319
- ).returns(T.attached_class)
2320
- end
2321
- def self.new(type:)
2322
- end
2323
-
2324
- sig do
2325
- override.returns(
2326
- {
2327
- type:
2328
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
2329
- }
2330
- )
2331
- end
2332
- def to_hash
2333
- end
2334
-
2335
- module Type
2336
- extend MetronomeSDK::Internal::Type::Enum
2337
-
2338
- TaggedSymbol =
2339
- T.type_alias do
2340
- T.all(
2341
- Symbol,
2342
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
2343
- )
2344
- end
2345
- OrSymbol = T.type_alias { T.any(Symbol, String) }
2346
-
2347
- NONE =
2348
- T.let(
2349
- :NONE,
2350
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
2351
- )
2352
-
2353
- sig do
2354
- override.returns(
2355
- T::Array[
2356
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
2357
- ]
2358
- )
2359
- end
2360
- def self.values
2361
- end
2362
- end
2363
- end
2364
-
2365
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
2366
- OrHash =
2367
- T.type_alias do
2368
- T.any(
2369
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
2370
- MetronomeSDK::Internal::AnyHash
2371
- )
2372
- end
2373
-
2374
- sig { returns(T::Array[String]) }
2375
- attr_accessor :contract_ids
2376
-
2377
- sig do
2378
- returns(
2379
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
2380
- )
2381
- end
2382
- attr_accessor :type
2383
-
2384
- sig do
2385
- params(
2386
- contract_ids: T::Array[String],
2387
- type:
2388
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
2389
- ).returns(T.attached_class)
2390
- end
2391
- def self.new(contract_ids:, type:)
2392
- end
2393
-
2394
- sig do
2395
- override.returns(
2396
- {
2397
- contract_ids: T::Array[String],
2398
- type:
2399
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
2400
- }
2401
- )
2402
- end
2403
- def to_hash
2404
- end
2405
-
2406
- module Type
2407
- extend MetronomeSDK::Internal::Type::Enum
2408
-
2409
- TaggedSymbol =
2410
- T.type_alias do
2411
- T.all(
2412
- Symbol,
2413
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
2414
- )
2415
- end
2416
- OrSymbol = T.type_alias { T.any(Symbol, String) }
2417
-
2418
- CONTRACT_IDS =
2419
- T.let(
2420
- :CONTRACT_IDS,
2421
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
2422
- )
2423
-
2424
- sig do
2425
- override.returns(
2426
- T::Array[
2427
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
2428
- ]
2429
- )
2430
- end
2431
- def self.values
2432
- end
2433
- end
2434
- end
2435
-
2436
- sig do
2437
- override.returns(
2438
- T::Array[
2439
- MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::Variants
2440
- ]
2441
- )
2442
- end
2443
- def self.variants
2444
- end
2445
- end
2446
- end
2447
-
2448
1827
  module RateType
2449
1828
  extend MetronomeSDK::Internal::Type::Enum
2450
1829
 
@@ -2478,77 +1857,6 @@ module MetronomeSDK
2478
1857
  def self.values
2479
1858
  end
2480
1859
  end
2481
-
2482
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
2483
- OrHash =
2484
- T.type_alias do
2485
- T.any(
2486
- MetronomeSDK::V1::ContractAmendParams::Credit::Specifier,
2487
- MetronomeSDK::Internal::AnyHash
2488
- )
2489
- end
2490
-
2491
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
2492
- attr_reader :presentation_group_values
2493
-
2494
- sig do
2495
- params(presentation_group_values: T::Hash[Symbol, String]).void
2496
- end
2497
- attr_writer :presentation_group_values
2498
-
2499
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
2500
- attr_reader :pricing_group_values
2501
-
2502
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
2503
- attr_writer :pricing_group_values
2504
-
2505
- # If provided, the specifier will only apply to the product with the specified ID.
2506
- sig { returns(T.nilable(String)) }
2507
- attr_reader :product_id
2508
-
2509
- sig { params(product_id: String).void }
2510
- attr_writer :product_id
2511
-
2512
- # If provided, the specifier will only apply to products with all the specified
2513
- # tags.
2514
- sig { returns(T.nilable(T::Array[String])) }
2515
- attr_reader :product_tags
2516
-
2517
- sig { params(product_tags: T::Array[String]).void }
2518
- attr_writer :product_tags
2519
-
2520
- sig do
2521
- params(
2522
- presentation_group_values: T::Hash[Symbol, String],
2523
- pricing_group_values: T::Hash[Symbol, String],
2524
- product_id: String,
2525
- product_tags: T::Array[String]
2526
- ).returns(T.attached_class)
2527
- end
2528
- def self.new(
2529
- presentation_group_values: nil,
2530
- pricing_group_values: nil,
2531
- # If provided, the specifier will only apply to the product with the specified ID.
2532
- product_id: nil,
2533
- # If provided, the specifier will only apply to products with all the specified
2534
- # tags.
2535
- product_tags: nil
2536
- )
2537
- end
2538
-
2539
- sig do
2540
- override.returns(
2541
- {
2542
- presentation_group_values: T::Hash[Symbol, String],
2543
- pricing_group_values: T::Hash[Symbol, String],
2544
- product_id: String,
2545
- product_tags: T::Array[String]
2546
- }
2547
- )
2548
- end
2549
- def to_hash
2550
- end
2551
- end
2552
1860
  end
2553
1861
 
2554
1862
  class Discount < MetronomeSDK::Internal::Type::BaseModel
@@ -2577,6 +1885,7 @@ module MetronomeSDK
2577
1885
  end
2578
1886
  attr_writer :schedule
2579
1887
 
1888
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
2580
1889
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
2581
1890
  attr_reader :custom_fields
2582
1891
 
@@ -2611,6 +1920,7 @@ module MetronomeSDK
2611
1920
  product_id:,
2612
1921
  # Must provide either schedule_items or recurring_schedule.
2613
1922
  schedule:,
1923
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
2614
1924
  custom_fields: nil,
2615
1925
  # displayed on invoices
2616
1926
  name: nil,
@@ -2650,6 +1960,14 @@ module MetronomeSDK
2650
1960
  sig { params(credit_type_id: String).void }
2651
1961
  attr_writer :credit_type_id
2652
1962
 
1963
+ # This field is only applicable to commit invoice schedules. If true, this
1964
+ # schedule will not generate an invoice.
1965
+ sig { returns(T.nilable(T::Boolean)) }
1966
+ attr_reader :do_not_invoice
1967
+
1968
+ sig { params(do_not_invoice: T::Boolean).void }
1969
+ attr_writer :do_not_invoice
1970
+
2653
1971
  # Enter the unit price and quantity for the charge or instead only send the
2654
1972
  # amount. If amount is sent, the unit price is assumed to be the amount and
2655
1973
  # quantity is inferred to be 1.
@@ -2696,6 +2014,7 @@ module MetronomeSDK
2696
2014
  sig do
2697
2015
  params(
2698
2016
  credit_type_id: String,
2017
+ do_not_invoice: T::Boolean,
2699
2018
  recurring_schedule:
2700
2019
  MetronomeSDK::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::OrHash,
2701
2020
  schedule_items:
@@ -2707,6 +2026,9 @@ module MetronomeSDK
2707
2026
  def self.new(
2708
2027
  # Defaults to USD (cents) if not passed.
2709
2028
  credit_type_id: nil,
2029
+ # This field is only applicable to commit invoice schedules. If true, this
2030
+ # schedule will not generate an invoice.
2031
+ do_not_invoice: nil,
2710
2032
  # Enter the unit price and quantity for the charge or instead only send the
2711
2033
  # amount. If amount is sent, the unit price is assumed to be the amount and
2712
2034
  # quantity is inferred to be 1.
@@ -2720,6 +2042,7 @@ module MetronomeSDK
2720
2042
  override.returns(
2721
2043
  {
2722
2044
  credit_type_id: String,
2045
+ do_not_invoice: T::Boolean,
2723
2046
  recurring_schedule:
2724
2047
  MetronomeSDK::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule,
2725
2048
  schedule_items:
@@ -3304,8 +2627,8 @@ module MetronomeSDK
3304
2627
  attr_writer :billing_frequency
3305
2628
 
3306
2629
  # Can only be used for commit specific overrides. Must be used in conjunction with
3307
- # one of product_id, product_tags, pricing_group_values, or
3308
- # presentation_group_values. If provided, the override will only apply to the
2630
+ # one of `product_id`, `product_tags`, `pricing_group_values`, or
2631
+ # `presentation_group_values`. If provided, the override will only apply to the
3309
2632
  # specified commits. If not provided, the override will apply to all commits.
3310
2633
  sig { returns(T.nilable(T::Array[String])) }
3311
2634
  attr_reader :commit_ids
@@ -3347,9 +2670,9 @@ module MetronomeSDK
3347
2670
  attr_writer :product_tags
3348
2671
 
3349
2672
  # Can only be used for commit specific overrides. Must be used in conjunction with
3350
- # one of product_id, product_tags, pricing_group_values, or
3351
- # presentation_group_values. If provided, the override will only apply to commits
3352
- # created by the specified recurring commit ids.
2673
+ # one of `product_id`, `product_tags`, `pricing_group_values`, or
2674
+ # `presentation_group_values`. If provided, the override will only apply to
2675
+ # commits created by the specified recurring commit ids.
3353
2676
  sig { returns(T.nilable(T::Array[String])) }
3354
2677
  attr_reader :recurring_commit_ids
3355
2678
 
@@ -3357,9 +2680,9 @@ module MetronomeSDK
3357
2680
  attr_writer :recurring_commit_ids
3358
2681
 
3359
2682
  # Can only be used for commit specific overrides. Must be used in conjunction with
3360
- # one of product_id, product_tags, pricing_group_values, or
3361
- # presentation_group_values. If provided, the override will only apply to credits
3362
- # created by the specified recurring credit ids.
2683
+ # one of `product_id`, `product_tags`, `pricing_group_values`, or
2684
+ # `presentation_group_values`. If provided, the override will only apply to
2685
+ # credits created by the specified recurring credit ids.
3363
2686
  sig { returns(T.nilable(T::Array[String])) }
3364
2687
  attr_reader :recurring_credit_ids
3365
2688
 
@@ -3382,8 +2705,8 @@ module MetronomeSDK
3382
2705
  def self.new(
3383
2706
  billing_frequency: nil,
3384
2707
  # Can only be used for commit specific overrides. Must be used in conjunction with
3385
- # one of product_id, product_tags, pricing_group_values, or
3386
- # presentation_group_values. If provided, the override will only apply to the
2708
+ # one of `product_id`, `product_tags`, `pricing_group_values`, or
2709
+ # `presentation_group_values`. If provided, the override will only apply to the
3387
2710
  # specified commits. If not provided, the override will apply to all commits.
3388
2711
  commit_ids: nil,
3389
2712
  # A map of group names to values. The override will only apply to line items with
@@ -3398,14 +2721,14 @@ module MetronomeSDK
3398
2721
  # tags.
3399
2722
  product_tags: nil,
3400
2723
  # Can only be used for commit specific overrides. Must be used in conjunction with
3401
- # one of product_id, product_tags, pricing_group_values, or
3402
- # presentation_group_values. If provided, the override will only apply to commits
3403
- # created by the specified recurring commit ids.
2724
+ # one of `product_id`, `product_tags`, `pricing_group_values`, or
2725
+ # `presentation_group_values`. If provided, the override will only apply to
2726
+ # commits created by the specified recurring commit ids.
3404
2727
  recurring_commit_ids: nil,
3405
2728
  # Can only be used for commit specific overrides. Must be used in conjunction with
3406
- # one of product_id, product_tags, pricing_group_values, or
3407
- # presentation_group_values. If provided, the override will only apply to credits
3408
- # created by the specified recurring credit ids.
2729
+ # one of `product_id`, `product_tags`, `pricing_group_values`, or
2730
+ # `presentation_group_values`. If provided, the override will only apply to
2731
+ # credits created by the specified recurring credit ids.
3409
2732
  recurring_credit_ids: nil
3410
2733
  )
3411
2734
  end
@@ -3765,6 +3088,7 @@ module MetronomeSDK
3765
3088
  sig { returns(Float) }
3766
3089
  attr_accessor :unit_price
3767
3090
 
3091
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
3768
3092
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
3769
3093
  attr_reader :custom_fields
3770
3094
 
@@ -3805,6 +3129,7 @@ module MetronomeSDK
3805
3129
  # Unit price for the charge. Will be multiplied by quantity to determine the
3806
3130
  # amount and must be specified.
3807
3131
  unit_price:,
3132
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
3808
3133
  custom_fields: nil,
3809
3134
  description: nil,
3810
3135
  # This field's availability is dependent on your client's configuration.
@@ -4140,6 +3465,13 @@ module MetronomeSDK
4140
3465
  end
4141
3466
  attr_writer :schedule
4142
3467
 
3468
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
3469
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
3470
+ attr_reader :custom_fields
3471
+
3472
+ sig { params(custom_fields: T::Hash[Symbol, String]).void }
3473
+ attr_writer :custom_fields
3474
+
4143
3475
  # displayed on invoices
4144
3476
  sig { returns(T.nilable(String)) }
4145
3477
  attr_reader :name
@@ -4159,6 +3491,7 @@ module MetronomeSDK
4159
3491
  product_id: String,
4160
3492
  schedule:
4161
3493
  MetronomeSDK::V1::ContractAmendParams::ScheduledCharge::Schedule::OrHash,
3494
+ custom_fields: T::Hash[Symbol, String],
4162
3495
  name: String,
4163
3496
  netsuite_sales_order_id: String
4164
3497
  ).returns(T.attached_class)
@@ -4167,6 +3500,8 @@ module MetronomeSDK
4167
3500
  product_id:,
4168
3501
  # Must provide either schedule_items or recurring_schedule.
4169
3502
  schedule:,
3503
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
3504
+ custom_fields: nil,
4170
3505
  # displayed on invoices
4171
3506
  name: nil,
4172
3507
  # This field's availability is dependent on your client's configuration.
@@ -4180,6 +3515,7 @@ module MetronomeSDK
4180
3515
  product_id: String,
4181
3516
  schedule:
4182
3517
  MetronomeSDK::V1::ContractAmendParams::ScheduledCharge::Schedule,
3518
+ custom_fields: T::Hash[Symbol, String],
4183
3519
  name: String,
4184
3520
  netsuite_sales_order_id: String
4185
3521
  }
@@ -4204,6 +3540,14 @@ module MetronomeSDK
4204
3540
  sig { params(credit_type_id: String).void }
4205
3541
  attr_writer :credit_type_id
4206
3542
 
3543
+ # This field is only applicable to commit invoice schedules. If true, this
3544
+ # schedule will not generate an invoice.
3545
+ sig { returns(T.nilable(T::Boolean)) }
3546
+ attr_reader :do_not_invoice
3547
+
3548
+ sig { params(do_not_invoice: T::Boolean).void }
3549
+ attr_writer :do_not_invoice
3550
+
4207
3551
  # Enter the unit price and quantity for the charge or instead only send the
4208
3552
  # amount. If amount is sent, the unit price is assumed to be the amount and
4209
3553
  # quantity is inferred to be 1.
@@ -4250,6 +3594,7 @@ module MetronomeSDK
4250
3594
  sig do
4251
3595
  params(
4252
3596
  credit_type_id: String,
3597
+ do_not_invoice: T::Boolean,
4253
3598
  recurring_schedule:
4254
3599
  MetronomeSDK::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::OrHash,
4255
3600
  schedule_items:
@@ -4261,6 +3606,9 @@ module MetronomeSDK
4261
3606
  def self.new(
4262
3607
  # Defaults to USD (cents) if not passed.
4263
3608
  credit_type_id: nil,
3609
+ # This field is only applicable to commit invoice schedules. If true, this
3610
+ # schedule will not generate an invoice.
3611
+ do_not_invoice: nil,
4264
3612
  # Enter the unit price and quantity for the charge or instead only send the
4265
3613
  # amount. If amount is sent, the unit price is assumed to be the amount and
4266
3614
  # quantity is inferred to be 1.
@@ -4274,6 +3622,7 @@ module MetronomeSDK
4274
3622
  override.returns(
4275
3623
  {
4276
3624
  credit_type_id: String,
3625
+ do_not_invoice: T::Boolean,
4277
3626
  recurring_schedule:
4278
3627
  MetronomeSDK::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule,
4279
3628
  schedule_items: