metronome-sdk 0.1.0.pre.alpha.2 → 0.1.0.pre.alpha.3

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 (551) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/README.md +120 -74
  4. data/SECURITY.md +2 -2
  5. data/lib/metronome_sdk/client.rb +4 -4
  6. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +3 -1
  7. data/lib/metronome_sdk/internal/type/array_of.rb +8 -0
  8. data/lib/metronome_sdk/internal/type/base_model.rb +13 -0
  9. data/lib/metronome_sdk/internal/type/boolean.rb +8 -0
  10. data/lib/metronome_sdk/internal/type/enum.rb +12 -0
  11. data/lib/metronome_sdk/internal/type/file_input.rb +7 -0
  12. data/lib/metronome_sdk/internal/type/hash_of.rb +8 -0
  13. data/lib/metronome_sdk/internal/type/union.rb +12 -0
  14. data/lib/metronome_sdk/internal/type/unknown.rb +8 -0
  15. data/lib/metronome_sdk/internal/util.rb +54 -1
  16. data/lib/metronome_sdk/internal.rb +3 -0
  17. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +14 -3
  18. data/lib/metronome_sdk/models/v1/alert_create_params.rb +11 -11
  19. data/lib/metronome_sdk/models/v1/alert_create_response.rb +14 -3
  20. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +2 -2
  21. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +8 -2
  22. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +14 -3
  23. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +88 -8
  24. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +14 -3
  25. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +85 -6
  26. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +85 -8
  27. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +291 -143
  28. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +14 -3
  29. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +14 -3
  30. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +12 -12
  31. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +1276 -3
  32. data/lib/metronome_sdk/models/v1/contract_create_params.rb +827 -299
  33. data/lib/metronome_sdk/models/v1/contract_create_response.rb +14 -3
  34. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +1644 -8
  35. data/lib/metronome_sdk/models/v1/contract_list_response.rb +10879 -55
  36. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +33 -5
  37. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +317 -10
  38. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +10908 -55
  39. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rb +34 -0
  40. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rb +81 -0
  41. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +4 -4
  42. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +1276 -3
  43. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +14 -3
  44. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +14 -3
  45. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +99 -8
  46. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +14 -3
  47. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +4 -4
  48. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +561 -12
  49. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +8 -2
  50. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +559 -14
  51. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +97 -6
  52. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +14 -3
  53. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +8 -2
  54. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +14 -3
  55. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -4
  56. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +14 -3
  57. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +42 -6
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +8 -2
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +33 -5
  60. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +181 -7
  61. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +42 -6
  62. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +2 -2
  63. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +14 -3
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +14 -3
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +2 -2
  66. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +14 -3
  67. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +86 -20
  68. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +16 -3
  69. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +76 -14
  70. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +61 -9
  71. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +33 -5
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +180 -7
  73. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +85 -21
  74. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +14 -3
  75. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +14 -3
  76. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +153 -11
  77. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +175 -14
  78. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +14 -3
  79. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +2 -2
  80. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +2 -2
  81. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +2 -2
  82. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +2 -2
  83. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +2 -2
  84. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +8 -2
  85. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +14 -3
  86. data/lib/metronome_sdk/models/v1/customer_create_params.rb +20 -20
  87. data/lib/metronome_sdk/models/v1/customer_create_response.rb +50 -3
  88. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +86 -6
  89. data/lib/metronome_sdk/models/v1/{customer_detail.rb → customer_list_response.rb} +15 -14
  90. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +126 -3
  91. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +50 -3
  92. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +2 -2
  93. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +276 -5
  94. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +2 -2
  95. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +279 -3
  96. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +6 -6
  97. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +2 -2
  98. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +2 -2
  99. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +78 -26
  100. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +14 -3
  101. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +1047 -3
  102. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +14 -3
  103. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +59 -7
  104. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +14 -3
  105. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +593 -3
  106. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +14 -3
  107. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +4 -4
  108. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +1271 -2
  109. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +2 -2
  110. data/lib/metronome_sdk/models/v1/customers/{invoice.rb → invoice_list_response.rb} +303 -118
  111. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +1276 -3
  112. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +16 -15
  113. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +14 -3
  114. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +21 -3
  115. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +13 -13
  116. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +286 -3
  117. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +20 -3
  118. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +2 -2
  119. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +128 -3
  120. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +2 -2
  121. data/lib/metronome_sdk/models/v1/usage_list_params.rb +9 -8
  122. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +5 -5
  123. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +69 -17
  124. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +14 -3
  125. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +61 -9
  126. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +14 -3
  127. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1147 -377
  128. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +14 -3
  129. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +2212 -119
  130. data/lib/metronome_sdk/models/v2/contract_list_response.rb +1233 -202
  131. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +1235 -201
  132. data/lib/metronome_sdk/models.rb +28 -49
  133. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -3
  134. data/lib/metronome_sdk/resources/v1/audit_logs.rb +1 -1
  135. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +3 -3
  136. data/lib/metronome_sdk/resources/v1/contracts/products.rb +9 -6
  137. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +1 -1
  138. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +8 -6
  139. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +4 -4
  140. data/lib/metronome_sdk/resources/v1/contracts.rb +55 -28
  141. data/lib/metronome_sdk/resources/v1/credit_grants.rb +3 -3
  142. data/lib/metronome_sdk/resources/v1/custom_fields.rb +5 -5
  143. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +2 -2
  144. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +5 -5
  145. data/lib/metronome_sdk/resources/v1/customers/commits.rb +7 -5
  146. data/lib/metronome_sdk/resources/v1/customers/credits.rb +5 -3
  147. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +5 -5
  148. data/lib/metronome_sdk/resources/v1/customers/plans.rb +3 -3
  149. data/lib/metronome_sdk/resources/v1/customers.rb +6 -5
  150. data/lib/metronome_sdk/resources/v1/dashboards.rb +4 -4
  151. data/lib/metronome_sdk/resources/v1/plans.rb +1 -1
  152. data/lib/metronome_sdk/resources/v1/usage.rb +5 -5
  153. data/lib/metronome_sdk/resources/v2/contracts.rb +39 -27
  154. data/lib/metronome_sdk/version.rb +1 -1
  155. data/lib/metronome_sdk.rb +7 -28
  156. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +5 -1
  157. data/rbi/metronome_sdk/internal/type/array_of.rbi +6 -0
  158. data/rbi/metronome_sdk/internal/type/base_model.rbi +5 -0
  159. data/rbi/metronome_sdk/internal/type/boolean.rbi +6 -0
  160. data/rbi/metronome_sdk/internal/type/enum.rbi +5 -0
  161. data/rbi/metronome_sdk/internal/type/file_input.rbi +5 -0
  162. data/rbi/metronome_sdk/internal/type/hash_of.rbi +6 -0
  163. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  164. data/rbi/metronome_sdk/internal/type/unknown.rbi +6 -0
  165. data/rbi/metronome_sdk/internal/util.rbi +34 -0
  166. data/rbi/metronome_sdk/internal.rbi +5 -0
  167. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +37 -4
  168. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +4 -4
  169. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +37 -4
  170. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +12 -6
  171. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +44 -4
  172. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +177 -8
  173. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +43 -4
  174. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +177 -8
  175. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +175 -8
  176. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +341 -7
  177. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +37 -4
  178. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +39 -4
  179. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +2595 -3
  180. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1230 -74
  181. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +37 -4
  182. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3375 -5
  183. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +23626 -686
  184. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +72 -0
  185. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +698 -12
  186. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +23626 -686
  187. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbi +58 -0
  188. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbi +212 -0
  189. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +2595 -3
  190. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +44 -4
  191. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +44 -4
  192. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +209 -8
  193. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +44 -4
  194. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +3 -3
  195. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +1143 -76
  196. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +9 -3
  197. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +1137 -76
  198. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +209 -8
  199. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +44 -4
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +9 -3
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +44 -4
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +44 -4
  203. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +74 -8
  204. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +9 -3
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +72 -0
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +410 -8
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +74 -8
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +44 -4
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +44 -4
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +44 -4
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +180 -8
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +45 -4
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +180 -8
  214. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +149 -12
  215. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +72 -0
  216. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +410 -8
  217. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +166 -8
  218. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +41 -4
  219. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +39 -4
  220. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +231 -10
  221. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +281 -14
  222. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +39 -4
  223. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +12 -6
  224. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +39 -4
  225. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +84 -6
  226. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +177 -8
  227. data/rbi/metronome_sdk/models/v1/{customer_detail.rbi → customer_list_response.rbi} +26 -19
  228. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +255 -6
  229. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +86 -6
  230. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +623 -3
  231. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +622 -4
  232. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +109 -0
  233. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +44 -4
  234. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +2164 -3
  235. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +44 -4
  236. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +109 -0
  237. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +44 -4
  238. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +1224 -3
  239. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +44 -4
  240. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +2561 -4
  241. data/rbi/metronome_sdk/models/v1/customers/{invoice.rbi → invoice_list_response.rbi} +589 -182
  242. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +2612 -6
  243. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +41 -4
  244. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +39 -4
  245. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +560 -6
  246. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +37 -4
  247. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +248 -4
  248. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +105 -0
  249. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +41 -4
  250. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +105 -0
  251. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +41 -4
  252. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1980 -285
  253. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +37 -4
  254. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +7604 -2906
  255. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +3855 -1534
  256. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +3855 -1534
  257. data/rbi/metronome_sdk/models.rbi +0 -32
  258. data/rbi/metronome_sdk/resources/v1/alerts.rbi +2 -2
  259. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +6 -2
  260. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +6 -5
  261. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +9 -1
  262. data/rbi/metronome_sdk/resources/v1/contracts.rbi +30 -1
  263. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +9 -0
  264. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +9 -0
  265. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  266. data/rbi/metronome_sdk/resources/v1/customers.rbi +5 -2
  267. data/rbi/metronome_sdk/resources/v2/contracts.rbi +49 -1
  268. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +2 -0
  269. data/sig/metronome_sdk/internal/type/array_of.rbs +3 -0
  270. data/sig/metronome_sdk/internal/type/base_model.rbs +2 -0
  271. data/sig/metronome_sdk/internal/type/boolean.rbs +3 -0
  272. data/sig/metronome_sdk/internal/type/enum.rbs +2 -0
  273. data/sig/metronome_sdk/internal/type/file_input.rbs +2 -0
  274. data/sig/metronome_sdk/internal/type/hash_of.rbs +3 -0
  275. data/sig/metronome_sdk/internal/type/union.rbs +2 -0
  276. data/sig/metronome_sdk/internal/type/unknown.rbs +3 -0
  277. data/sig/metronome_sdk/internal/util.rbs +12 -0
  278. data/sig/metronome_sdk/internal.rbs +2 -0
  279. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +6 -0
  280. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +20 -3
  281. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +29 -4
  282. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +20 -3
  283. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +11 -0
  284. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +16 -0
  285. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +13 -3
  286. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +20 -3
  287. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +83 -10
  288. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +20 -3
  289. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +7 -0
  290. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +84 -10
  291. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +5 -0
  292. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +88 -10
  293. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +11 -0
  294. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +456 -79
  295. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +20 -3
  296. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +7 -0
  297. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +20 -3
  298. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +47 -12
  299. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +1292 -3
  300. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1087 -198
  301. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +20 -3
  302. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +14 -0
  303. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1647 -1
  304. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +10 -0
  305. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +10802 -104
  306. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +8 -0
  307. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +39 -0
  308. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +316 -12
  309. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +10802 -104
  310. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbs +34 -0
  311. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbs +101 -0
  312. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +21 -0
  313. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +1292 -3
  314. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +9 -0
  315. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +8 -0
  316. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +20 -3
  317. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +7 -0
  318. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +10 -0
  319. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +9 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +5 -0
  321. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +22 -3
  322. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +98 -6
  323. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +22 -3
  324. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +7 -0
  325. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +491 -12
  326. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +13 -3
  327. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +495 -12
  328. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +99 -6
  329. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +22 -3
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +13 -3
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +22 -3
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +21 -0
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +22 -3
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +7 -0
  335. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +55 -8
  336. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +13 -3
  337. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +38 -0
  338. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +188 -8
  339. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +59 -8
  340. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +14 -0
  341. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +22 -3
  342. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +8 -0
  343. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +10 -0
  344. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +10 -0
  345. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +6 -0
  346. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +22 -3
  347. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +8 -0
  348. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +22 -3
  349. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +97 -18
  350. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +22 -3
  351. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +89 -14
  352. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +78 -15
  353. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +38 -0
  354. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +183 -8
  355. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +98 -6
  356. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +20 -3
  357. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +8 -0
  358. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +20 -3
  359. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +9 -0
  360. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +145 -9
  361. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +11 -0
  362. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +174 -12
  363. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +7 -0
  364. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +20 -3
  365. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +7 -0
  366. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +7 -0
  367. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +12 -6
  368. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +11 -0
  369. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +6 -0
  370. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +7 -0
  371. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +13 -3
  372. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +20 -3
  373. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +52 -26
  374. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +49 -3
  375. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +9 -0
  376. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +88 -10
  377. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +9 -0
  378. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +19 -0
  379. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +10 -0
  380. data/sig/metronome_sdk/models/v1/customer_list_response.rbs +109 -0
  381. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +5 -0
  382. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +113 -3
  383. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +6 -0
  384. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +6 -0
  385. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +49 -3
  386. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +7 -0
  387. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +13 -6
  388. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +247 -3
  389. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +6 -0
  390. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +7 -0
  391. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +248 -3
  392. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +10 -0
  393. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +6 -0
  394. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +6 -0
  395. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +16 -0
  396. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +116 -8
  397. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +22 -3
  398. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +14 -0
  399. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +1061 -3
  400. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +8 -0
  401. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +22 -3
  402. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +82 -0
  403. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +22 -3
  404. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +14 -0
  405. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +600 -3
  406. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +7 -0
  407. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +22 -3
  408. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +11 -0
  409. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +2 -0
  410. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +14 -0
  411. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +1282 -7
  412. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +13 -0
  413. data/sig/metronome_sdk/models/v1/customers/invoice_list_response.rbs +1290 -0
  414. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +7 -0
  415. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +1295 -3
  416. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +7 -0
  417. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +10 -0
  418. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +9 -0
  419. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +38 -4
  420. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +20 -3
  421. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +9 -0
  422. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +2 -0
  423. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +7 -0
  424. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +8 -0
  425. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +14 -0
  426. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +38 -3
  427. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +28 -6
  428. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +6 -0
  429. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +5 -0
  430. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +6 -0
  431. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +5 -0
  432. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +6 -0
  433. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +5 -0
  434. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +268 -3
  435. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +7 -0
  436. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +43 -3
  437. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +8 -0
  438. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +121 -3
  439. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +6 -0
  440. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +7 -0
  441. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +6 -0
  442. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +2 -0
  443. data/sig/metronome_sdk/models/v1/service_list_params.rbs +2 -0
  444. data/sig/metronome_sdk/models/v1/service_list_response.rbs +10 -0
  445. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +13 -0
  446. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +17 -0
  447. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +15 -0
  448. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +15 -0
  449. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +8 -0
  450. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +110 -1
  451. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +20 -3
  452. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +85 -1
  453. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +20 -3
  454. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +1476 -212
  455. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +20 -3
  456. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +6 -0
  457. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2855 -442
  458. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +10 -0
  459. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +1743 -194
  460. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +9 -0
  461. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +1743 -194
  462. data/sig/metronome_sdk/models.rbs +0 -32
  463. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  464. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  465. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +2 -1
  466. data/sig/metronome_sdk/resources/v1/contracts.rbs +9 -1
  467. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  468. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -1
  469. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  470. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  471. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  472. data/sig/metronome_sdk/resources/v1/customers.rbs +1 -1
  473. data/sig/metronome_sdk/resources/v2/contracts.rbs +7 -1
  474. metadata +14 -83
  475. data/lib/metronome_sdk/models/base_usage_filter.rb +0 -27
  476. data/lib/metronome_sdk/models/commit.rb +0 -867
  477. data/lib/metronome_sdk/models/contract_without_amendments.rb +0 -1437
  478. data/lib/metronome_sdk/models/credit.rb +0 -484
  479. data/lib/metronome_sdk/models/credit_type_data.rb +0 -21
  480. data/lib/metronome_sdk/models/discount.rb +0 -68
  481. data/lib/metronome_sdk/models/event_type_filter.rb +0 -33
  482. data/lib/metronome_sdk/models/id.rb +0 -15
  483. data/lib/metronome_sdk/models/override.rb +0 -362
  484. data/lib/metronome_sdk/models/pro_service.rb +0 -73
  485. data/lib/metronome_sdk/models/property_filter.rb +0 -52
  486. data/lib/metronome_sdk/models/rate.rb +0 -101
  487. data/lib/metronome_sdk/models/schedule_duration.rb +0 -50
  488. data/lib/metronome_sdk/models/schedule_point_in_time.rb +0 -62
  489. data/lib/metronome_sdk/models/scheduled_charge.rb +0 -76
  490. data/lib/metronome_sdk/models/tier.rb +0 -21
  491. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +0 -148
  492. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +0 -57
  493. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +0 -45
  494. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +0 -69
  495. data/lib/metronome_sdk/models/v1/customer.rb +0 -53
  496. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +0 -270
  497. data/lib/metronome_sdk/models/v1/plan_detail.rb +0 -200
  498. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +0 -38
  499. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +0 -38
  500. data/rbi/metronome_sdk/models/base_usage_filter.rbi +0 -46
  501. data/rbi/metronome_sdk/models/commit.rbi +0 -1625
  502. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +0 -2939
  503. data/rbi/metronome_sdk/models/credit.rbi +0 -879
  504. data/rbi/metronome_sdk/models/credit_type_data.rbi +0 -26
  505. data/rbi/metronome_sdk/models/discount.rbi +0 -106
  506. data/rbi/metronome_sdk/models/event_type_filter.rbi +0 -57
  507. data/rbi/metronome_sdk/models/id.rbi +0 -23
  508. data/rbi/metronome_sdk/models/override.rbi +0 -609
  509. data/rbi/metronome_sdk/models/pro_service.rbi +0 -98
  510. data/rbi/metronome_sdk/models/property_filter.rbi +0 -88
  511. data/rbi/metronome_sdk/models/rate.rbi +0 -155
  512. data/rbi/metronome_sdk/models/schedule_duration.rbi +0 -89
  513. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +0 -121
  514. data/rbi/metronome_sdk/models/scheduled_charge.rbi +0 -119
  515. data/rbi/metronome_sdk/models/tier.rbi +0 -29
  516. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +0 -237
  517. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +0 -111
  518. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +0 -94
  519. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +0 -90
  520. data/rbi/metronome_sdk/models/v1/customer.rbi +0 -74
  521. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +0 -572
  522. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +0 -349
  523. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +0 -79
  524. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +0 -80
  525. data/sig/metronome_sdk/models/base_usage_filter.rbs +0 -22
  526. data/sig/metronome_sdk/models/commit.rbs +0 -714
  527. data/sig/metronome_sdk/models/contract_without_amendments.rbs +0 -1072
  528. data/sig/metronome_sdk/models/credit.rbs +0 -397
  529. data/sig/metronome_sdk/models/credit_type_data.rbs +0 -13
  530. data/sig/metronome_sdk/models/discount.rbs +0 -52
  531. data/sig/metronome_sdk/models/event_type_filter.rbs +0 -21
  532. data/sig/metronome_sdk/models/id.rbs +0 -11
  533. data/sig/metronome_sdk/models/override.rbs +0 -329
  534. data/sig/metronome_sdk/models/pro_service.rbs +0 -50
  535. data/sig/metronome_sdk/models/property_filter.rbs +0 -34
  536. data/sig/metronome_sdk/models/rate.rbs +0 -82
  537. data/sig/metronome_sdk/models/schedule_duration.rbs +0 -44
  538. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +0 -61
  539. data/sig/metronome_sdk/models/scheduled_charge.rbs +0 -58
  540. data/sig/metronome_sdk/models/tier.rbs +0 -15
  541. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +0 -102
  542. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +0 -41
  543. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +0 -36
  544. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +0 -42
  545. data/sig/metronome_sdk/models/v1/customer.rbs +0 -36
  546. data/sig/metronome_sdk/models/v1/customer_detail.rbs +0 -90
  547. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +0 -205
  548. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +0 -977
  549. data/sig/metronome_sdk/models/v1/plan_detail.rbs +0 -165
  550. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +0 -29
  551. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +0 -32
@@ -22,19 +22,19 @@ module MetronomeSDK
22
22
 
23
23
  # @!attribute add_commits
24
24
  #
25
- # @return [Array<MetronomeSDK::V2::ContractEditParams::AddCommit>, nil]
25
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCommit>, nil]
26
26
  optional :add_commits,
27
27
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddCommit] }
28
28
 
29
29
  # @!attribute add_credits
30
30
  #
31
- # @return [Array<MetronomeSDK::V2::ContractEditParams::AddCredit>, nil]
31
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCredit>, nil]
32
32
  optional :add_credits,
33
33
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddCredit] }
34
34
 
35
35
  # @!attribute add_discounts
36
36
  #
37
- # @return [Array<MetronomeSDK::V2::ContractEditParams::AddDiscount>, nil]
37
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddDiscount>, nil]
38
38
  optional :add_discounts,
39
39
  -> {
40
40
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddDiscount]
@@ -42,7 +42,7 @@ module MetronomeSDK
42
42
 
43
43
  # @!attribute add_overrides
44
44
  #
45
- # @return [Array<MetronomeSDK::V2::ContractEditParams::AddOverride>, nil]
45
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride>, nil]
46
46
  optional :add_overrides,
47
47
  -> {
48
48
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddOverride]
@@ -50,14 +50,14 @@ module MetronomeSDK
50
50
 
51
51
  # @!attribute add_prepaid_balance_threshold_configuration
52
52
  #
53
- # @return [MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration, nil]
53
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration, nil]
54
54
  optional :add_prepaid_balance_threshold_configuration,
55
55
  -> { MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration }
56
56
 
57
57
  # @!attribute add_professional_services
58
58
  # This field's availability is dependent on your client's configuration.
59
59
  #
60
- # @return [Array<MetronomeSDK::V2::ContractEditParams::AddProfessionalService>, nil]
60
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddProfessionalService>, nil]
61
61
  optional :add_professional_services,
62
62
  -> {
63
63
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddProfessionalService]
@@ -65,7 +65,7 @@ module MetronomeSDK
65
65
 
66
66
  # @!attribute add_recurring_commits
67
67
  #
68
- # @return [Array<MetronomeSDK::V2::ContractEditParams::AddRecurringCommit>, nil]
68
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit>, nil]
69
69
  optional :add_recurring_commits,
70
70
  -> {
71
71
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddRecurringCommit]
@@ -73,7 +73,7 @@ module MetronomeSDK
73
73
 
74
74
  # @!attribute add_recurring_credits
75
75
  #
76
- # @return [Array<MetronomeSDK::V2::ContractEditParams::AddRecurringCredit>, nil]
76
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit>, nil]
77
77
  optional :add_recurring_credits,
78
78
  -> {
79
79
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddRecurringCredit]
@@ -81,7 +81,7 @@ module MetronomeSDK
81
81
 
82
82
  # @!attribute add_reseller_royalties
83
83
  #
84
- # @return [Array<MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty>, nil]
84
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty>, nil]
85
85
  optional :add_reseller_royalties,
86
86
  -> {
87
87
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty]
@@ -89,7 +89,7 @@ module MetronomeSDK
89
89
 
90
90
  # @!attribute add_scheduled_charges
91
91
  #
92
- # @return [Array<MetronomeSDK::V2::ContractEditParams::AddScheduledCharge>, nil]
92
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge>, nil]
93
93
  optional :add_scheduled_charges,
94
94
  -> {
95
95
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddScheduledCharge]
@@ -97,10 +97,21 @@ module MetronomeSDK
97
97
 
98
98
  # @!attribute add_spend_threshold_configuration
99
99
  #
100
- # @return [MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration, nil]
100
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration, nil]
101
101
  optional :add_spend_threshold_configuration,
102
102
  -> { MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration }
103
103
 
104
+ # @!attribute add_subscriptions
105
+ # (beta) Optional list of
106
+ # [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/)
107
+ # to add to the contract.
108
+ #
109
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddSubscription>, nil]
110
+ optional :add_subscriptions,
111
+ -> {
112
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddSubscription]
113
+ }
114
+
104
115
  # @!attribute allow_contract_ending_before_finalized_invoice
105
116
  # If true, allows setting the contract end date earlier than the end_timestamp of
106
117
  # existing finalized invoices. Finalized invoices will be unchanged; if you want
@@ -113,7 +124,7 @@ module MetronomeSDK
113
124
  # @!attribute archive_commits
114
125
  # IDs of commits to archive
115
126
  #
116
- # @return [Array<MetronomeSDK::V2::ContractEditParams::ArchiveCommit>, nil]
127
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::ArchiveCommit>, nil]
117
128
  optional :archive_commits,
118
129
  -> {
119
130
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::ArchiveCommit]
@@ -122,7 +133,7 @@ module MetronomeSDK
122
133
  # @!attribute archive_credits
123
134
  # IDs of credits to archive
124
135
  #
125
- # @return [Array<MetronomeSDK::V2::ContractEditParams::ArchiveCredit>, nil]
136
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::ArchiveCredit>, nil]
126
137
  optional :archive_credits,
127
138
  -> {
128
139
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::ArchiveCredit]
@@ -131,7 +142,7 @@ module MetronomeSDK
131
142
  # @!attribute archive_scheduled_charges
132
143
  # IDs of scheduled charges to archive
133
144
  #
134
- # @return [Array<MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge>, nil]
145
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::ArchiveScheduledCharge>, nil]
135
146
  optional :archive_scheduled_charges,
136
147
  -> {
137
148
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge]
@@ -140,7 +151,7 @@ module MetronomeSDK
140
151
  # @!attribute remove_overrides
141
152
  # IDs of overrides to remove
142
153
  #
143
- # @return [Array<MetronomeSDK::V2::ContractEditParams::RemoveOverride>, nil]
154
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::RemoveOverride>, nil]
144
155
  optional :remove_overrides,
145
156
  -> {
146
157
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::RemoveOverride]
@@ -148,7 +159,7 @@ module MetronomeSDK
148
159
 
149
160
  # @!attribute update_commits
150
161
  #
151
- # @return [Array<MetronomeSDK::V2::ContractEditParams::UpdateCommit>, nil]
162
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit>, nil]
152
163
  optional :update_commits,
153
164
  -> {
154
165
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateCommit]
@@ -158,11 +169,11 @@ module MetronomeSDK
158
169
  # RFC 3339 timestamp indicating when the contract will end (exclusive).
159
170
  #
160
171
  # @return [Time, nil]
161
- optional :update_contract_end_date, Time
172
+ optional :update_contract_end_date, Time, nil?: true
162
173
 
163
174
  # @!attribute update_credits
164
175
  #
165
- # @return [Array<MetronomeSDK::V2::ContractEditParams::UpdateCredit>, nil]
176
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit>, nil]
166
177
  optional :update_credits,
167
178
  -> {
168
179
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateCredit]
@@ -170,13 +181,35 @@ module MetronomeSDK
170
181
 
171
182
  # @!attribute update_prepaid_balance_threshold_configuration
172
183
  #
173
- # @return [MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration, nil]
184
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration, nil]
174
185
  optional :update_prepaid_balance_threshold_configuration,
175
186
  -> { MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration }
176
187
 
188
+ # @!attribute update_recurring_commits
189
+ # Edits to these recurring commits will only affect commits whose access schedules
190
+ # has not started. Expired commits, and commits with an active access schedule
191
+ # will remain unchanged.
192
+ #
193
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit>, nil]
194
+ optional :update_recurring_commits,
195
+ -> {
196
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit]
197
+ }
198
+
199
+ # @!attribute update_recurring_credits
200
+ # Edits to these recurring credits will only affect credits whose access schedules
201
+ # has not started. Expired credits, and credits with an active access schedule
202
+ # will remain unchanged.
203
+ #
204
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit>, nil]
205
+ optional :update_recurring_credits,
206
+ -> {
207
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit]
208
+ }
209
+
177
210
  # @!attribute update_scheduled_charges
178
211
  #
179
- # @return [Array<MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge>, nil]
212
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge>, nil]
180
213
  optional :update_scheduled_charges,
181
214
  -> {
182
215
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge]
@@ -184,11 +217,20 @@ module MetronomeSDK
184
217
 
185
218
  # @!attribute update_spend_threshold_configuration
186
219
  #
187
- # @return [MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration, nil]
220
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration, nil]
188
221
  optional :update_spend_threshold_configuration,
189
222
  -> { MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration }
190
223
 
191
- # @!method initialize(contract_id:, customer_id:, add_commits: nil, add_credits: nil, add_discounts: nil, add_overrides: nil, add_prepaid_balance_threshold_configuration: nil, add_professional_services: nil, add_recurring_commits: nil, add_recurring_credits: nil, add_reseller_royalties: nil, add_scheduled_charges: nil, add_spend_threshold_configuration: nil, allow_contract_ending_before_finalized_invoice: nil, archive_commits: nil, archive_credits: nil, archive_scheduled_charges: nil, remove_overrides: nil, update_commits: nil, update_contract_end_date: nil, update_credits: nil, update_prepaid_balance_threshold_configuration: nil, update_scheduled_charges: nil, update_spend_threshold_configuration: nil, request_options: {})
224
+ # @!attribute update_subscriptions
225
+ # (beta) Optional list of subscriptions to update.
226
+ #
227
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription>, nil]
228
+ optional :update_subscriptions,
229
+ -> {
230
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateSubscription]
231
+ }
232
+
233
+ # @!method initialize(contract_id:, customer_id:, add_commits: nil, add_credits: nil, add_discounts: nil, add_overrides: nil, add_prepaid_balance_threshold_configuration: nil, add_professional_services: nil, add_recurring_commits: nil, add_recurring_credits: nil, add_reseller_royalties: nil, add_scheduled_charges: nil, add_spend_threshold_configuration: nil, add_subscriptions: nil, allow_contract_ending_before_finalized_invoice: nil, archive_commits: nil, archive_credits: nil, archive_scheduled_charges: nil, remove_overrides: nil, update_commits: nil, update_contract_end_date: nil, update_credits: nil, update_prepaid_balance_threshold_configuration: nil, update_recurring_commits: nil, update_recurring_credits: nil, update_scheduled_charges: nil, update_spend_threshold_configuration: nil, update_subscriptions: nil, request_options: {})
192
234
  # Some parameter documentations has been truncated, see
193
235
  # {MetronomeSDK::Models::V2::ContractEditParams} for more details.
194
236
  #
@@ -196,49 +238,57 @@ module MetronomeSDK
196
238
  #
197
239
  # @param customer_id [String] ID of the customer whose contract is being edited
198
240
  #
199
- # @param add_commits [Array<MetronomeSDK::V2::ContractEditParams::AddCommit>]
241
+ # @param add_commits [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCommit>]
200
242
  #
201
- # @param add_credits [Array<MetronomeSDK::V2::ContractEditParams::AddCredit>]
243
+ # @param add_credits [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCredit>]
202
244
  #
203
- # @param add_discounts [Array<MetronomeSDK::V2::ContractEditParams::AddDiscount>]
245
+ # @param add_discounts [Array<MetronomeSDK::Models::V2::ContractEditParams::AddDiscount>]
204
246
  #
205
- # @param add_overrides [Array<MetronomeSDK::V2::ContractEditParams::AddOverride>]
247
+ # @param add_overrides [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride>]
206
248
  #
207
- # @param add_prepaid_balance_threshold_configuration [MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration]
249
+ # @param add_prepaid_balance_threshold_configuration [MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration]
208
250
  #
209
- # @param add_professional_services [Array<MetronomeSDK::V2::ContractEditParams::AddProfessionalService>] This field's availability is dependent on your client's configuration.
251
+ # @param add_professional_services [Array<MetronomeSDK::Models::V2::ContractEditParams::AddProfessionalService>] This field's availability is dependent on your client's configuration.
210
252
  #
211
- # @param add_recurring_commits [Array<MetronomeSDK::V2::ContractEditParams::AddRecurringCommit>]
253
+ # @param add_recurring_commits [Array<MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit>]
212
254
  #
213
- # @param add_recurring_credits [Array<MetronomeSDK::V2::ContractEditParams::AddRecurringCredit>]
255
+ # @param add_recurring_credits [Array<MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit>]
214
256
  #
215
- # @param add_reseller_royalties [Array<MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty>]
257
+ # @param add_reseller_royalties [Array<MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty>]
216
258
  #
217
- # @param add_scheduled_charges [Array<MetronomeSDK::V2::ContractEditParams::AddScheduledCharge>]
259
+ # @param add_scheduled_charges [Array<MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge>]
218
260
  #
219
- # @param add_spend_threshold_configuration [MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration]
261
+ # @param add_spend_threshold_configuration [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration]
262
+ #
263
+ # @param add_subscriptions [Array<MetronomeSDK::Models::V2::ContractEditParams::AddSubscription>] (beta) Optional list of [subscriptions](https://docs.metronome.com/manage-produc
220
264
  #
221
265
  # @param allow_contract_ending_before_finalized_invoice [Boolean] If true, allows setting the contract end date earlier than the end_timestamp of
222
266
  #
223
- # @param archive_commits [Array<MetronomeSDK::V2::ContractEditParams::ArchiveCommit>] IDs of commits to archive
267
+ # @param archive_commits [Array<MetronomeSDK::Models::V2::ContractEditParams::ArchiveCommit>] IDs of commits to archive
268
+ #
269
+ # @param archive_credits [Array<MetronomeSDK::Models::V2::ContractEditParams::ArchiveCredit>] IDs of credits to archive
270
+ #
271
+ # @param archive_scheduled_charges [Array<MetronomeSDK::Models::V2::ContractEditParams::ArchiveScheduledCharge>] IDs of scheduled charges to archive
272
+ #
273
+ # @param remove_overrides [Array<MetronomeSDK::Models::V2::ContractEditParams::RemoveOverride>] IDs of overrides to remove
224
274
  #
225
- # @param archive_credits [Array<MetronomeSDK::V2::ContractEditParams::ArchiveCredit>] IDs of credits to archive
275
+ # @param update_commits [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit>]
226
276
  #
227
- # @param archive_scheduled_charges [Array<MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge>] IDs of scheduled charges to archive
277
+ # @param update_contract_end_date [Time, nil] RFC 3339 timestamp indicating when the contract will end (exclusive).
228
278
  #
229
- # @param remove_overrides [Array<MetronomeSDK::V2::ContractEditParams::RemoveOverride>] IDs of overrides to remove
279
+ # @param update_credits [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit>]
230
280
  #
231
- # @param update_commits [Array<MetronomeSDK::V2::ContractEditParams::UpdateCommit>]
281
+ # @param update_prepaid_balance_threshold_configuration [MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration]
232
282
  #
233
- # @param update_contract_end_date [Time] RFC 3339 timestamp indicating when the contract will end (exclusive).
283
+ # @param update_recurring_commits [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit>] Edits to these recurring commits will only affect commits whose access schedules
234
284
  #
235
- # @param update_credits [Array<MetronomeSDK::V2::ContractEditParams::UpdateCredit>]
285
+ # @param update_recurring_credits [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit>] Edits to these recurring credits will only affect credits whose access schedules
236
286
  #
237
- # @param update_prepaid_balance_threshold_configuration [MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration]
287
+ # @param update_scheduled_charges [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge>]
238
288
  #
239
- # @param update_scheduled_charges [Array<MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge>]
289
+ # @param update_spend_threshold_configuration [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration]
240
290
  #
241
- # @param update_spend_threshold_configuration [MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration]
291
+ # @param update_subscriptions [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription>] (beta) Optional list of subscriptions to update.
242
292
  #
243
293
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
244
294
 
@@ -250,7 +300,7 @@ module MetronomeSDK
250
300
 
251
301
  # @!attribute type
252
302
  #
253
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddCommit::Type]
303
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::Type]
254
304
  required :type, enum: -> { MetronomeSDK::V2::ContractEditParams::AddCommit::Type }
255
305
 
256
306
  # @!attribute access_schedule
@@ -258,7 +308,7 @@ module MetronomeSDK
258
308
  # commits only one schedule item is allowed and amount must match invoice_schedule
259
309
  # total.
260
310
  #
261
- # @return [MetronomeSDK::V2::ContractEditParams::AddCommit::AccessSchedule, nil]
311
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::AccessSchedule, nil]
262
312
  optional :access_schedule, -> { MetronomeSDK::V2::ContractEditParams::AddCommit::AccessSchedule }
263
313
 
264
314
  # @!attribute amount
@@ -298,7 +348,7 @@ module MetronomeSDK
298
348
  # amount. Optional for "PREPAID" commits: if not provided, this will be a
299
349
  # "complimentary" commit with no invoice.
300
350
  #
301
- # @return [MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule, nil]
351
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule, nil]
302
352
  optional :invoice_schedule, -> { MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule }
303
353
 
304
354
  # @!attribute name
@@ -316,7 +366,7 @@ module MetronomeSDK
316
366
  # @!attribute payment_gate_config
317
367
  # optionally payment gate this commit
318
368
  #
319
- # @return [MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig, nil]
369
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig, nil]
320
370
  optional :payment_gate_config,
321
371
  -> {
322
372
  MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig
@@ -331,7 +381,7 @@ module MetronomeSDK
331
381
 
332
382
  # @!attribute rate_type
333
383
  #
334
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddCommit::RateType, nil]
384
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::RateType, nil]
335
385
  optional :rate_type, enum: -> { MetronomeSDK::V2::ContractEditParams::AddCommit::RateType }
336
386
 
337
387
  # @!attribute rollover_fraction
@@ -340,6 +390,18 @@ module MetronomeSDK
340
390
  # @return [Float, nil]
341
391
  optional :rollover_fraction, Float
342
392
 
393
+ # @!attribute specifiers
394
+ # List of filters that determine what kind of customer usage draws down a commit
395
+ # or credit. A customer's usage needs to meet the condition of at least one of the
396
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
397
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
398
+ #
399
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCommit::Specifier>, nil]
400
+ optional :specifiers,
401
+ -> {
402
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddCommit::Specifier]
403
+ }
404
+
343
405
  # @!attribute temporary_id
344
406
  # A temporary ID for the commit that can be used to reference the commit for
345
407
  # commit specific overrides.
@@ -347,15 +409,15 @@ module MetronomeSDK
347
409
  # @return [String, nil]
348
410
  optional :temporary_id, String
349
411
 
350
- # @!method initialize(product_id:, type:, access_schedule: nil, amount: nil, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, payment_gate_config: nil, priority: nil, rate_type: nil, rollover_fraction: nil, temporary_id: nil)
412
+ # @!method initialize(product_id:, type:, access_schedule: nil, amount: nil, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, payment_gate_config: nil, priority: nil, rate_type: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
351
413
  # Some parameter documentations has been truncated, see
352
- # {MetronomeSDK::V2::ContractEditParams::AddCommit} for more details.
414
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddCommit} for more details.
353
415
  #
354
416
  # @param product_id [String]
355
417
  #
356
- # @param type [Symbol, MetronomeSDK::V2::ContractEditParams::AddCommit::Type]
418
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::Type]
357
419
  #
358
- # @param access_schedule [MetronomeSDK::V2::ContractEditParams::AddCommit::AccessSchedule] Required: Schedule for distributing the commit to the customer. For "POSTPAID" c
420
+ # @param access_schedule [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::AccessSchedule] Required: Schedule for distributing the commit to the customer. For "POSTPAID" c
359
421
  #
360
422
  # @param amount [Float] (DEPRECATED) Use access_schedule and invoice_schedule instead.
361
423
  #
@@ -367,23 +429,25 @@ module MetronomeSDK
367
429
  #
368
430
  # @param description [String] Used only in UI/API. It is not exposed to end customers.
369
431
  #
370
- # @param invoice_schedule [MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule] Required for "POSTPAID" commits: the true up invoice will be generated at this t
432
+ # @param invoice_schedule [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule] Required for "POSTPAID" commits: the true up invoice will be generated at this t
371
433
  #
372
434
  # @param name [String] displayed on invoices
373
435
  #
374
436
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
375
437
  #
376
- # @param payment_gate_config [MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig] optionally payment gate this commit
438
+ # @param payment_gate_config [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig] optionally payment gate this commit
377
439
  #
378
440
  # @param priority [Float] If multiple commits are applicable, the one with the lower priority will apply f
379
441
  #
380
- # @param rate_type [Symbol, MetronomeSDK::V2::ContractEditParams::AddCommit::RateType]
442
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::RateType]
381
443
  #
382
444
  # @param rollover_fraction [Float] Fraction of unused segments that will be rolled over. Must be between 0 and 1.
383
445
  #
446
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
447
+ #
384
448
  # @param temporary_id [String] A temporary ID for the commit that can be used to reference the commit for commi
385
449
 
386
- # @see MetronomeSDK::V2::ContractEditParams::AddCommit#type
450
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit#type
387
451
  module Type
388
452
  extend MetronomeSDK::Internal::Type::Enum
389
453
 
@@ -394,11 +458,11 @@ module MetronomeSDK
394
458
  # @return [Array<Symbol>]
395
459
  end
396
460
 
397
- # @see MetronomeSDK::V2::ContractEditParams::AddCommit#access_schedule
461
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit#access_schedule
398
462
  class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
399
463
  # @!attribute schedule_items
400
464
  #
401
- # @return [Array<MetronomeSDK::V2::ContractEditParams::AddCommit::AccessSchedule::ScheduleItem>]
465
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCommit::AccessSchedule::ScheduleItem>]
402
466
  required :schedule_items,
403
467
  -> {
404
468
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddCommit::AccessSchedule::ScheduleItem]
@@ -414,7 +478,7 @@ module MetronomeSDK
414
478
  # commits only one schedule item is allowed and amount must match invoice_schedule
415
479
  # total.
416
480
  #
417
- # @param schedule_items [Array<MetronomeSDK::V2::ContractEditParams::AddCommit::AccessSchedule::ScheduleItem>]
481
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCommit::AccessSchedule::ScheduleItem>]
418
482
  # @param credit_type_id [String]
419
483
 
420
484
  class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
@@ -444,7 +508,7 @@ module MetronomeSDK
444
508
  end
445
509
  end
446
510
 
447
- # @see MetronomeSDK::V2::ContractEditParams::AddCommit#invoice_schedule
511
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit#invoice_schedule
448
512
  class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
449
513
  # @!attribute credit_type_id
450
514
  # Defaults to USD if not passed. Only USD is supported at this time.
@@ -457,7 +521,7 @@ module MetronomeSDK
457
521
  # amount. If amount is sent, the unit price is assumed to be the amount and
458
522
  # quantity is inferred to be 1.
459
523
  #
460
- # @return [MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule, nil]
524
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule, nil]
461
525
  optional :recurring_schedule,
462
526
  -> {
463
527
  MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule
@@ -466,7 +530,7 @@ module MetronomeSDK
466
530
  # @!attribute schedule_items
467
531
  # Either provide amount or provide both unit_price and quantity.
468
532
  #
469
- # @return [Array<MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::ScheduleItem>, nil]
533
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::ScheduleItem>, nil]
470
534
  optional :schedule_items,
471
535
  -> {
472
536
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::ScheduleItem]
@@ -474,8 +538,8 @@ module MetronomeSDK
474
538
 
475
539
  # @!method initialize(credit_type_id: nil, recurring_schedule: nil, schedule_items: nil)
476
540
  # Some parameter documentations has been truncated, see
477
- # {MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule} for more
478
- # details.
541
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule} for
542
+ # more details.
479
543
  #
480
544
  # Required for "POSTPAID" commits: the true up invoice will be generated at this
481
545
  # time and only one schedule item is allowed; the total must match access_schedule
@@ -484,15 +548,15 @@ module MetronomeSDK
484
548
  #
485
549
  # @param credit_type_id [String] Defaults to USD if not passed. Only USD is supported at this time.
486
550
  #
487
- # @param recurring_schedule [MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
551
+ # @param recurring_schedule [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
488
552
  #
489
- # @param schedule_items [Array<MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
553
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
490
554
 
491
- # @see MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule#recurring_schedule
555
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule#recurring_schedule
492
556
  class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
493
557
  # @!attribute amount_distribution
494
558
  #
495
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::AmountDistribution]
559
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::AmountDistribution]
496
560
  required :amount_distribution,
497
561
  enum: -> {
498
562
  MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::AmountDistribution
@@ -506,7 +570,7 @@ module MetronomeSDK
506
570
 
507
571
  # @!attribute frequency
508
572
  #
509
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::Frequency]
573
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::Frequency]
510
574
  required :frequency,
511
575
  enum: -> {
512
576
  MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::Frequency
@@ -544,18 +608,18 @@ module MetronomeSDK
544
608
 
545
609
  # @!method initialize(amount_distribution:, ending_before:, frequency:, starting_at:, amount: nil, quantity: nil, unit_price: nil)
546
610
  # Some parameter documentations has been truncated, see
547
- # {MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule}
611
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule}
548
612
  # for more details.
549
613
  #
550
614
  # Enter the unit price and quantity for the charge or instead only send the
551
615
  # amount. If amount is sent, the unit price is assumed to be the amount and
552
616
  # quantity is inferred to be 1.
553
617
  #
554
- # @param amount_distribution [Symbol, MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::AmountDistribution]
618
+ # @param amount_distribution [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::AmountDistribution]
555
619
  #
556
620
  # @param ending_before [Time] RFC 3339 timestamp (exclusive).
557
621
  #
558
- # @param frequency [Symbol, MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::Frequency]
622
+ # @param frequency [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule::Frequency]
559
623
  #
560
624
  # @param starting_at [Time] RFC 3339 timestamp (inclusive).
561
625
  #
@@ -565,7 +629,7 @@ module MetronomeSDK
565
629
  #
566
630
  # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
567
631
 
568
- # @see MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule#amount_distribution
632
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule#amount_distribution
569
633
  module AmountDistribution
570
634
  extend MetronomeSDK::Internal::Type::Enum
571
635
 
@@ -577,7 +641,7 @@ module MetronomeSDK
577
641
  # @return [Array<Symbol>]
578
642
  end
579
643
 
580
- # @see MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule#frequency
644
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::RecurringSchedule#frequency
581
645
  module Frequency
582
646
  extend MetronomeSDK::Internal::Type::Enum
583
647
 
@@ -625,7 +689,7 @@ module MetronomeSDK
625
689
 
626
690
  # @!method initialize(timestamp:, amount: nil, quantity: nil, unit_price: nil)
627
691
  # Some parameter documentations has been truncated, see
628
- # {MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule::ScheduleItem}
692
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule::ScheduleItem}
629
693
  # for more details.
630
694
  #
631
695
  # @param timestamp [Time] timestamp of the scheduled event
@@ -638,7 +702,7 @@ module MetronomeSDK
638
702
  end
639
703
  end
640
704
 
641
- # @see MetronomeSDK::V2::ContractEditParams::AddCommit#payment_gate_config
705
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit#payment_gate_config
642
706
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
643
707
  # @!attribute payment_gate_type
644
708
  # Gate access to the commit balance based on successful collection of payment.
@@ -646,7 +710,7 @@ module MetronomeSDK
646
710
  # facilitate payment using your own payment integration. Select NONE if you do not
647
711
  # wish to payment gate the commit balance.
648
712
  #
649
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::PaymentGateType]
713
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::PaymentGateType]
650
714
  required :payment_gate_type,
651
715
  enum: -> {
652
716
  MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::PaymentGateType
@@ -655,7 +719,7 @@ module MetronomeSDK
655
719
  # @!attribute stripe_config
656
720
  # Only applicable if using Stripe as your payment gateway through Metronome.
657
721
  #
658
- # @return [MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig, nil]
722
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig, nil]
659
723
  optional :stripe_config,
660
724
  -> { MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig }
661
725
 
@@ -664,29 +728,29 @@ module MetronomeSDK
664
728
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
665
729
  # will default to NONE.
666
730
  #
667
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::TaxType, nil]
731
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::TaxType, nil]
668
732
  optional :tax_type,
669
733
  enum: -> { MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::TaxType }
670
734
 
671
735
  # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
672
736
  # Some parameter documentations has been truncated, see
673
- # {MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig} for more
674
- # details.
737
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig} for
738
+ # more details.
675
739
  #
676
740
  # optionally payment gate this commit
677
741
  #
678
- # @param payment_gate_type [Symbol, MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
742
+ # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
679
743
  #
680
- # @param stripe_config [MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
744
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
681
745
  #
682
- # @param tax_type [Symbol, MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
746
+ # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
683
747
 
684
748
  # Gate access to the commit balance based on successful collection of payment.
685
749
  # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
686
750
  # facilitate payment using your own payment integration. Select NONE if you do not
687
751
  # wish to payment gate the commit balance.
688
752
  #
689
- # @see MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig#payment_gate_type
753
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig#payment_gate_type
690
754
  module PaymentGateType
691
755
  extend MetronomeSDK::Internal::Type::Enum
692
756
 
@@ -698,12 +762,12 @@ module MetronomeSDK
698
762
  # @return [Array<Symbol>]
699
763
  end
700
764
 
701
- # @see MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig#stripe_config
765
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig#stripe_config
702
766
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
703
767
  # @!attribute payment_type
704
768
  # If left blank, will default to INVOICE
705
769
  #
706
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::PaymentType]
770
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::PaymentType]
707
771
  required :payment_type,
708
772
  enum: -> {
709
773
  MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::PaymentType
@@ -712,11 +776,11 @@ module MetronomeSDK
712
776
  # @!method initialize(payment_type:)
713
777
  # Only applicable if using Stripe as your payment gateway through Metronome.
714
778
  #
715
- # @param payment_type [Symbol, MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
779
+ # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
716
780
 
717
781
  # If left blank, will default to INVOICE
718
782
  #
719
- # @see MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig#payment_type
783
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig::StripeConfig#payment_type
720
784
  module PaymentType
721
785
  extend MetronomeSDK::Internal::Type::Enum
722
786
 
@@ -732,7 +796,7 @@ module MetronomeSDK
732
796
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
733
797
  # will default to NONE.
734
798
  #
735
- # @see MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig#tax_type
799
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig#tax_type
736
800
  module TaxType
737
801
  extend MetronomeSDK::Internal::Type::Enum
738
802
 
@@ -744,7 +808,7 @@ module MetronomeSDK
744
808
  end
745
809
  end
746
810
 
747
- # @see MetronomeSDK::V2::ContractEditParams::AddCommit#rate_type
811
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCommit#rate_type
748
812
  module RateType
749
813
  extend MetronomeSDK::Internal::Type::Enum
750
814
 
@@ -754,13 +818,51 @@ module MetronomeSDK
754
818
  # @!method self.values
755
819
  # @return [Array<Symbol>]
756
820
  end
821
+
822
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
823
+ # @!attribute presentation_group_values
824
+ #
825
+ # @return [Hash{Symbol=>String}, nil]
826
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
827
+
828
+ # @!attribute pricing_group_values
829
+ #
830
+ # @return [Hash{Symbol=>String}, nil]
831
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
832
+
833
+ # @!attribute product_id
834
+ # If provided, the specifier will only apply to the product with the specified ID.
835
+ #
836
+ # @return [String, nil]
837
+ optional :product_id, String
838
+
839
+ # @!attribute product_tags
840
+ # If provided, the specifier will only apply to products with all the specified
841
+ # tags.
842
+ #
843
+ # @return [Array<String>, nil]
844
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
845
+
846
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
847
+ # Some parameter documentations has been truncated, see
848
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddCommit::Specifier} for more
849
+ # details.
850
+ #
851
+ # @param presentation_group_values [Hash{Symbol=>String}]
852
+ #
853
+ # @param pricing_group_values [Hash{Symbol=>String}]
854
+ #
855
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
856
+ #
857
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
858
+ end
757
859
  end
758
860
 
759
861
  class AddCredit < MetronomeSDK::Internal::Type::BaseModel
760
862
  # @!attribute access_schedule
761
863
  # Schedule for distributing the credit to the customer.
762
864
  #
763
- # @return [MetronomeSDK::V2::ContractEditParams::AddCredit::AccessSchedule]
865
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddCredit::AccessSchedule]
764
866
  required :access_schedule, -> { MetronomeSDK::V2::ContractEditParams::AddCredit::AccessSchedule }
765
867
 
766
868
  # @!attribute product_id
@@ -814,14 +916,26 @@ module MetronomeSDK
814
916
 
815
917
  # @!attribute rate_type
816
918
  #
817
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddCredit::RateType, nil]
919
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::RateType, nil]
818
920
  optional :rate_type, enum: -> { MetronomeSDK::V2::ContractEditParams::AddCredit::RateType }
819
921
 
820
- # @!method initialize(access_schedule:, product_id:, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil)
922
+ # @!attribute specifiers
923
+ # List of filters that determine what kind of customer usage draws down a commit
924
+ # or credit. A customer's usage needs to meet the condition of at least one of the
925
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
926
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
927
+ #
928
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCredit::Specifier>, nil]
929
+ optional :specifiers,
930
+ -> {
931
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddCredit::Specifier]
932
+ }
933
+
934
+ # @!method initialize(access_schedule:, product_id:, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, specifiers: nil)
821
935
  # Some parameter documentations has been truncated, see
822
- # {MetronomeSDK::V2::ContractEditParams::AddCredit} for more details.
936
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddCredit} for more details.
823
937
  #
824
- # @param access_schedule [MetronomeSDK::V2::ContractEditParams::AddCredit::AccessSchedule] Schedule for distributing the credit to the customer.
938
+ # @param access_schedule [MetronomeSDK::Models::V2::ContractEditParams::AddCredit::AccessSchedule] Schedule for distributing the credit to the customer.
825
939
  #
826
940
  # @param product_id [String]
827
941
  #
@@ -839,13 +953,15 @@ module MetronomeSDK
839
953
  #
840
954
  # @param priority [Float] If multiple credits are applicable, the one with the lower priority will apply f
841
955
  #
842
- # @param rate_type [Symbol, MetronomeSDK::V2::ContractEditParams::AddCredit::RateType]
956
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddCredit::RateType]
957
+ #
958
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
843
959
 
844
- # @see MetronomeSDK::V2::ContractEditParams::AddCredit#access_schedule
960
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCredit#access_schedule
845
961
  class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
846
962
  # @!attribute schedule_items
847
963
  #
848
- # @return [Array<MetronomeSDK::V2::ContractEditParams::AddCredit::AccessSchedule::ScheduleItem>]
964
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCredit::AccessSchedule::ScheduleItem>]
849
965
  required :schedule_items,
850
966
  -> {
851
967
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddCredit::AccessSchedule::ScheduleItem]
@@ -859,7 +975,7 @@ module MetronomeSDK
859
975
  # @!method initialize(schedule_items:, credit_type_id: nil)
860
976
  # Schedule for distributing the credit to the customer.
861
977
  #
862
- # @param schedule_items [Array<MetronomeSDK::V2::ContractEditParams::AddCredit::AccessSchedule::ScheduleItem>]
978
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::AddCredit::AccessSchedule::ScheduleItem>]
863
979
  # @param credit_type_id [String]
864
980
 
865
981
  class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
@@ -889,7 +1005,7 @@ module MetronomeSDK
889
1005
  end
890
1006
  end
891
1007
 
892
- # @see MetronomeSDK::V2::ContractEditParams::AddCredit#rate_type
1008
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddCredit#rate_type
893
1009
  module RateType
894
1010
  extend MetronomeSDK::Internal::Type::Enum
895
1011
 
@@ -899,6 +1015,44 @@ module MetronomeSDK
899
1015
  # @!method self.values
900
1016
  # @return [Array<Symbol>]
901
1017
  end
1018
+
1019
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1020
+ # @!attribute presentation_group_values
1021
+ #
1022
+ # @return [Hash{Symbol=>String}, nil]
1023
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1024
+
1025
+ # @!attribute pricing_group_values
1026
+ #
1027
+ # @return [Hash{Symbol=>String}, nil]
1028
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1029
+
1030
+ # @!attribute product_id
1031
+ # If provided, the specifier will only apply to the product with the specified ID.
1032
+ #
1033
+ # @return [String, nil]
1034
+ optional :product_id, String
1035
+
1036
+ # @!attribute product_tags
1037
+ # If provided, the specifier will only apply to products with all the specified
1038
+ # tags.
1039
+ #
1040
+ # @return [Array<String>, nil]
1041
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1042
+
1043
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1044
+ # Some parameter documentations has been truncated, see
1045
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddCredit::Specifier} for more
1046
+ # details.
1047
+ #
1048
+ # @param presentation_group_values [Hash{Symbol=>String}]
1049
+ #
1050
+ # @param pricing_group_values [Hash{Symbol=>String}]
1051
+ #
1052
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1053
+ #
1054
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1055
+ end
902
1056
  end
903
1057
 
904
1058
  class AddDiscount < MetronomeSDK::Internal::Type::BaseModel
@@ -910,7 +1064,7 @@ module MetronomeSDK
910
1064
  # @!attribute schedule
911
1065
  # Must provide either schedule_items or recurring_schedule.
912
1066
  #
913
- # @return [MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule]
1067
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule]
914
1068
  required :schedule, -> { MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule }
915
1069
 
916
1070
  # @!attribute custom_fields
@@ -933,7 +1087,7 @@ module MetronomeSDK
933
1087
  # @!method initialize(product_id:, schedule:, custom_fields: nil, name: nil, netsuite_sales_order_id: nil)
934
1088
  # @param product_id [String]
935
1089
  #
936
- # @param schedule [MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule] Must provide either schedule_items or recurring_schedule.
1090
+ # @param schedule [MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule] Must provide either schedule_items or recurring_schedule.
937
1091
  #
938
1092
  # @param custom_fields [Hash{Symbol=>String}]
939
1093
  #
@@ -941,7 +1095,7 @@ module MetronomeSDK
941
1095
  #
942
1096
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
943
1097
 
944
- # @see MetronomeSDK::V2::ContractEditParams::AddDiscount#schedule
1098
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddDiscount#schedule
945
1099
  class Schedule < MetronomeSDK::Internal::Type::BaseModel
946
1100
  # @!attribute credit_type_id
947
1101
  # Defaults to USD if not passed. Only USD is supported at this time.
@@ -954,14 +1108,14 @@ module MetronomeSDK
954
1108
  # amount. If amount is sent, the unit price is assumed to be the amount and
955
1109
  # quantity is inferred to be 1.
956
1110
  #
957
- # @return [MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule, nil]
1111
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule, nil]
958
1112
  optional :recurring_schedule,
959
1113
  -> { MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule }
960
1114
 
961
1115
  # @!attribute schedule_items
962
1116
  # Either provide amount or provide both unit_price and quantity.
963
1117
  #
964
- # @return [Array<MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem>, nil]
1118
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem>, nil]
965
1119
  optional :schedule_items,
966
1120
  -> {
967
1121
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem]
@@ -969,21 +1123,22 @@ module MetronomeSDK
969
1123
 
970
1124
  # @!method initialize(credit_type_id: nil, recurring_schedule: nil, schedule_items: nil)
971
1125
  # Some parameter documentations has been truncated, see
972
- # {MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule} for more details.
1126
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule} for more
1127
+ # details.
973
1128
  #
974
1129
  # Must provide either schedule_items or recurring_schedule.
975
1130
  #
976
1131
  # @param credit_type_id [String] Defaults to USD if not passed. Only USD is supported at this time.
977
1132
  #
978
- # @param recurring_schedule [MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
1133
+ # @param recurring_schedule [MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
979
1134
  #
980
- # @param schedule_items [Array<MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
1135
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
981
1136
 
982
- # @see MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule#recurring_schedule
1137
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule#recurring_schedule
983
1138
  class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
984
1139
  # @!attribute amount_distribution
985
1140
  #
986
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::AmountDistribution]
1141
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::AmountDistribution]
987
1142
  required :amount_distribution,
988
1143
  enum: -> {
989
1144
  MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::AmountDistribution
@@ -997,7 +1152,7 @@ module MetronomeSDK
997
1152
 
998
1153
  # @!attribute frequency
999
1154
  #
1000
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::Frequency]
1155
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::Frequency]
1001
1156
  required :frequency,
1002
1157
  enum: -> {
1003
1158
  MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::Frequency
@@ -1035,18 +1190,18 @@ module MetronomeSDK
1035
1190
 
1036
1191
  # @!method initialize(amount_distribution:, ending_before:, frequency:, starting_at:, amount: nil, quantity: nil, unit_price: nil)
1037
1192
  # Some parameter documentations has been truncated, see
1038
- # {MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule}
1193
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule}
1039
1194
  # for more details.
1040
1195
  #
1041
1196
  # Enter the unit price and quantity for the charge or instead only send the
1042
1197
  # amount. If amount is sent, the unit price is assumed to be the amount and
1043
1198
  # quantity is inferred to be 1.
1044
1199
  #
1045
- # @param amount_distribution [Symbol, MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::AmountDistribution]
1200
+ # @param amount_distribution [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::AmountDistribution]
1046
1201
  #
1047
1202
  # @param ending_before [Time] RFC 3339 timestamp (exclusive).
1048
1203
  #
1049
- # @param frequency [Symbol, MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::Frequency]
1204
+ # @param frequency [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule::Frequency]
1050
1205
  #
1051
1206
  # @param starting_at [Time] RFC 3339 timestamp (inclusive).
1052
1207
  #
@@ -1056,7 +1211,7 @@ module MetronomeSDK
1056
1211
  #
1057
1212
  # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
1058
1213
 
1059
- # @see MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule#amount_distribution
1214
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule#amount_distribution
1060
1215
  module AmountDistribution
1061
1216
  extend MetronomeSDK::Internal::Type::Enum
1062
1217
 
@@ -1068,7 +1223,7 @@ module MetronomeSDK
1068
1223
  # @return [Array<Symbol>]
1069
1224
  end
1070
1225
 
1071
- # @see MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule#frequency
1226
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::RecurringSchedule#frequency
1072
1227
  module Frequency
1073
1228
  extend MetronomeSDK::Internal::Type::Enum
1074
1229
 
@@ -1116,8 +1271,8 @@ module MetronomeSDK
1116
1271
 
1117
1272
  # @!method initialize(timestamp:, amount: nil, quantity: nil, unit_price: nil)
1118
1273
  # Some parameter documentations has been truncated, see
1119
- # {MetronomeSDK::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem} for
1120
- # more details.
1274
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddDiscount::Schedule::ScheduleItem}
1275
+ # for more details.
1121
1276
  #
1122
1277
  # @param timestamp [Time] timestamp of the scheduled event
1123
1278
  #
@@ -1172,7 +1327,7 @@ module MetronomeSDK
1172
1327
  # Cannot be used in conjunction with product_id or applicable_product_tags. If
1173
1328
  # provided, the override will apply to all products with the specified specifiers.
1174
1329
  #
1175
- # @return [Array<MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier>, nil]
1330
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier>, nil]
1176
1331
  optional :override_specifiers,
1177
1332
  -> {
1178
1333
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier]
@@ -1181,7 +1336,7 @@ module MetronomeSDK
1181
1336
  # @!attribute overwrite_rate
1182
1337
  # Required for OVERWRITE type.
1183
1338
  #
1184
- # @return [MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate, nil]
1339
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate, nil]
1185
1340
  optional :overwrite_rate, -> { MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate }
1186
1341
 
1187
1342
  # @!attribute priority
@@ -1204,13 +1359,13 @@ module MetronomeSDK
1204
1359
  # be used for overrides that have `is_commit_specific` set to `true`. Defaults to
1205
1360
  # `"LIST_RATE"`.
1206
1361
  #
1207
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddOverride::Target, nil]
1362
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddOverride::Target, nil]
1208
1363
  optional :target, enum: -> { MetronomeSDK::V2::ContractEditParams::AddOverride::Target }
1209
1364
 
1210
1365
  # @!attribute tiers
1211
1366
  # Required for TIERED type. Must have at least one tier.
1212
1367
  #
1213
- # @return [Array<MetronomeSDK::V2::ContractEditParams::AddOverride::Tier>, nil]
1368
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride::Tier>, nil]
1214
1369
  optional :tiers,
1215
1370
  -> {
1216
1371
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddOverride::Tier]
@@ -1219,12 +1374,12 @@ module MetronomeSDK
1219
1374
  # @!attribute type
1220
1375
  # Overwrites are prioritized over multipliers and tiered overrides.
1221
1376
  #
1222
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddOverride::Type, nil]
1377
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddOverride::Type, nil]
1223
1378
  optional :type, enum: -> { MetronomeSDK::V2::ContractEditParams::AddOverride::Type }
1224
1379
 
1225
1380
  # @!method initialize(starting_at:, applicable_product_tags: nil, ending_before: nil, entitled: nil, is_commit_specific: nil, multiplier: nil, override_specifiers: nil, overwrite_rate: nil, priority: nil, product_id: nil, target: nil, tiers: nil, type: nil)
1226
1381
  # Some parameter documentations has been truncated, see
1227
- # {MetronomeSDK::V2::ContractEditParams::AddOverride} for more details.
1382
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddOverride} for more details.
1228
1383
  #
1229
1384
  # @param starting_at [Time] RFC 3339 timestamp indicating when the override will start applying (inclusive)
1230
1385
  #
@@ -1238,21 +1393,29 @@ module MetronomeSDK
1238
1393
  #
1239
1394
  # @param multiplier [Float] Required for MULTIPLIER type. Must be >=0.
1240
1395
  #
1241
- # @param override_specifiers [Array<MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier>] Cannot be used in conjunction with product_id or applicable_product_tags. If pro
1396
+ # @param override_specifiers [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier>] Cannot be used in conjunction with product_id or applicable_product_tags. If pro
1242
1397
  #
1243
- # @param overwrite_rate [MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate] Required for OVERWRITE type.
1398
+ # @param overwrite_rate [MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate] Required for OVERWRITE type.
1244
1399
  #
1245
1400
  # @param priority [Float] Required for EXPLICIT multiplier prioritization scheme and all TIERED overrides.
1246
1401
  #
1247
1402
  # @param product_id [String] ID of the product whose rate is being overridden
1248
1403
  #
1249
- # @param target [Symbol, MetronomeSDK::V2::ContractEditParams::AddOverride::Target] Indicates whether the override applies to commit rates or list rates. Can only b
1404
+ # @param target [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddOverride::Target] Indicates whether the override applies to commit rates or list rates. Can only b
1250
1405
  #
1251
- # @param tiers [Array<MetronomeSDK::V2::ContractEditParams::AddOverride::Tier>] Required for TIERED type. Must have at least one tier.
1406
+ # @param tiers [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride::Tier>] Required for TIERED type. Must have at least one tier.
1252
1407
  #
1253
- # @param type [Symbol, MetronomeSDK::V2::ContractEditParams::AddOverride::Type] Overwrites are prioritized over multipliers and tiered overrides.
1408
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddOverride::Type] Overwrites are prioritized over multipliers and tiered overrides.
1254
1409
 
1255
1410
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1411
+ # @!attribute billing_frequency
1412
+ #
1413
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::BillingFrequency, nil]
1414
+ optional :billing_frequency,
1415
+ enum: -> {
1416
+ MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier::BillingFrequency
1417
+ }
1418
+
1256
1419
  # @!attribute commit_ids
1257
1420
  # If provided, the override will only apply to the specified commits. Can only be
1258
1421
  # used for commit specific overrides. If not provided, the override will apply to
@@ -1307,10 +1470,12 @@ module MetronomeSDK
1307
1470
  # @return [Array<String>, nil]
1308
1471
  optional :recurring_credit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1309
1472
 
1310
- # @!method initialize(commit_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_ids: nil, recurring_credit_ids: nil)
1473
+ # @!method initialize(billing_frequency: nil, commit_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_ids: nil, recurring_credit_ids: nil)
1311
1474
  # Some parameter documentations has been truncated, see
1312
- # {MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier} for more
1313
- # details.
1475
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier}
1476
+ # for more details.
1477
+ #
1478
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::BillingFrequency]
1314
1479
  #
1315
1480
  # @param commit_ids [Array<String>] If provided, the override will only apply to the specified commits. Can only be
1316
1481
  #
@@ -1325,13 +1490,26 @@ module MetronomeSDK
1325
1490
  # @param recurring_commit_ids [Array<String>] Can only be used for commit specific overrides. Must be used in conjunction with
1326
1491
  #
1327
1492
  # @param recurring_credit_ids [Array<String>] Can only be used for commit specific overrides. Must be used in conjunction with
1493
+
1494
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier#billing_frequency
1495
+ module BillingFrequency
1496
+ extend MetronomeSDK::Internal::Type::Enum
1497
+
1498
+ MONTHLY = :MONTHLY
1499
+ QUARTERLY = :QUARTERLY
1500
+ ANNUAL = :ANNUAL
1501
+ WEEKLY = :WEEKLY
1502
+
1503
+ # @!method self.values
1504
+ # @return [Array<Symbol>]
1505
+ end
1328
1506
  end
1329
1507
 
1330
- # @see MetronomeSDK::V2::ContractEditParams::AddOverride#overwrite_rate
1508
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddOverride#overwrite_rate
1331
1509
  class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
1332
1510
  # @!attribute rate_type
1333
1511
  #
1334
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::RateType]
1512
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate::RateType]
1335
1513
  required :rate_type,
1336
1514
  enum: -> { MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::RateType }
1337
1515
 
@@ -1370,17 +1548,20 @@ module MetronomeSDK
1370
1548
  # @!attribute tiers
1371
1549
  # Only set for TIERED rate_type.
1372
1550
  #
1373
- # @return [Array<MetronomeSDK::Tier>, nil]
1374
- optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
1551
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate::Tier>, nil]
1552
+ optional :tiers,
1553
+ -> {
1554
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::Tier]
1555
+ }
1375
1556
 
1376
1557
  # @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1377
1558
  # Some parameter documentations has been truncated, see
1378
- # {MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate} for more
1379
- # details.
1559
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate} for
1560
+ # more details.
1380
1561
  #
1381
1562
  # Required for OVERWRITE type.
1382
1563
  #
1383
- # @param rate_type [Symbol, MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::RateType]
1564
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate::RateType]
1384
1565
  #
1385
1566
  # @param credit_type_id [String]
1386
1567
  #
@@ -1392,9 +1573,9 @@ module MetronomeSDK
1392
1573
  #
1393
1574
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1394
1575
  #
1395
- # @param tiers [Array<MetronomeSDK::Tier>] Only set for TIERED rate_type.
1576
+ # @param tiers [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate::Tier>] Only set for TIERED rate_type.
1396
1577
 
1397
- # @see MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate#rate_type
1578
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverwriteRate#rate_type
1398
1579
  module RateType
1399
1580
  extend MetronomeSDK::Internal::Type::Enum
1400
1581
 
@@ -1407,13 +1588,29 @@ module MetronomeSDK
1407
1588
  # @!method self.values
1408
1589
  # @return [Array<Symbol>]
1409
1590
  end
1591
+
1592
+ class Tier < MetronomeSDK::Internal::Type::BaseModel
1593
+ # @!attribute price
1594
+ #
1595
+ # @return [Float]
1596
+ required :price, Float
1597
+
1598
+ # @!attribute size
1599
+ #
1600
+ # @return [Float, nil]
1601
+ optional :size, Float
1602
+
1603
+ # @!method initialize(price:, size: nil)
1604
+ # @param price [Float]
1605
+ # @param size [Float]
1606
+ end
1410
1607
  end
1411
1608
 
1412
1609
  # Indicates whether the override applies to commit rates or list rates. Can only
1413
1610
  # be used for overrides that have `is_commit_specific` set to `true`. Defaults to
1414
1611
  # `"LIST_RATE"`.
1415
1612
  #
1416
- # @see MetronomeSDK::V2::ContractEditParams::AddOverride#target
1613
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddOverride#target
1417
1614
  module Target
1418
1615
  extend MetronomeSDK::Internal::Type::Enum
1419
1616
 
@@ -1442,7 +1639,7 @@ module MetronomeSDK
1442
1639
 
1443
1640
  # Overwrites are prioritized over multipliers and tiered overrides.
1444
1641
  #
1445
- # @see MetronomeSDK::V2::ContractEditParams::AddOverride#type
1642
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddOverride#type
1446
1643
  module Type
1447
1644
  extend MetronomeSDK::Internal::Type::Enum
1448
1645
 
@@ -1458,7 +1655,7 @@ module MetronomeSDK
1458
1655
  class AddPrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
1459
1656
  # @!attribute commit
1460
1657
  #
1461
- # @return [MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit]
1658
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit]
1462
1659
  required :commit,
1463
1660
  -> {
1464
1661
  MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit
@@ -1474,7 +1671,7 @@ module MetronomeSDK
1474
1671
 
1475
1672
  # @!attribute payment_gate_config
1476
1673
  #
1477
- # @return [MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig]
1674
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig]
1478
1675
  required :payment_gate_config,
1479
1676
  -> {
1480
1677
  MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig
@@ -1495,20 +1692,20 @@ module MetronomeSDK
1495
1692
 
1496
1693
  # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:)
1497
1694
  # Some parameter documentations has been truncated, see
1498
- # {MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration}
1695
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration}
1499
1696
  # for more details.
1500
1697
  #
1501
- # @param commit [MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit]
1698
+ # @param commit [MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit]
1502
1699
  #
1503
1700
  # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
1504
1701
  #
1505
- # @param payment_gate_config [MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig]
1702
+ # @param payment_gate_config [MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig]
1506
1703
  #
1507
1704
  # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
1508
1705
  #
1509
1706
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
1510
1707
 
1511
- # @see MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration#commit
1708
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration#commit
1512
1709
  class Commit < MetronomeSDK::Internal::Type::BaseModel
1513
1710
  # @!attribute product_id
1514
1711
  # The commit product that will be used to generate the line item for commit
@@ -1544,9 +1741,21 @@ module MetronomeSDK
1544
1741
  # @return [String, nil]
1545
1742
  optional :name, String
1546
1743
 
1547
- # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil)
1744
+ # @!attribute specifiers
1745
+ # List of filters that determine what kind of customer usage draws down a commit
1746
+ # or credit. A customer's usage needs to meet the condition of at least one of the
1747
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
1748
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
1749
+ #
1750
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
1751
+ optional :specifiers,
1752
+ -> {
1753
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier]
1754
+ }
1755
+
1756
+ # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, specifiers: nil)
1548
1757
  # Some parameter documentations has been truncated, see
1549
- # {MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit}
1758
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit}
1550
1759
  # for more details.
1551
1760
  #
1552
1761
  # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
@@ -1558,9 +1767,49 @@ module MetronomeSDK
1558
1767
  # @param description [String]
1559
1768
  #
1560
1769
  # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
1770
+ #
1771
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
1772
+
1773
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1774
+ # @!attribute presentation_group_values
1775
+ #
1776
+ # @return [Hash{Symbol=>String}, nil]
1777
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1778
+
1779
+ # @!attribute pricing_group_values
1780
+ #
1781
+ # @return [Hash{Symbol=>String}, nil]
1782
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1783
+
1784
+ # @!attribute product_id
1785
+ # If provided, the specifier will only apply to the product with the specified ID.
1786
+ #
1787
+ # @return [String, nil]
1788
+ optional :product_id, String
1789
+
1790
+ # @!attribute product_tags
1791
+ # If provided, the specifier will only apply to products with all the specified
1792
+ # tags.
1793
+ #
1794
+ # @return [Array<String>, nil]
1795
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1796
+
1797
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1798
+ # Some parameter documentations has been truncated, see
1799
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier}
1800
+ # for more details.
1801
+ #
1802
+ # @param presentation_group_values [Hash{Symbol=>String}]
1803
+ #
1804
+ # @param pricing_group_values [Hash{Symbol=>String}]
1805
+ #
1806
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1807
+ #
1808
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1809
+ end
1561
1810
  end
1562
1811
 
1563
- # @see MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration#payment_gate_config
1812
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration#payment_gate_config
1564
1813
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
1565
1814
  # @!attribute payment_gate_type
1566
1815
  # Gate access to the commit balance based on successful collection of payment.
@@ -1568,7 +1817,7 @@ module MetronomeSDK
1568
1817
  # facilitate payment using your own payment integration. Select NONE if you do not
1569
1818
  # wish to payment gate the commit balance.
1570
1819
  #
1571
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
1820
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
1572
1821
  required :payment_gate_type,
1573
1822
  enum: -> {
1574
1823
  MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType
@@ -1577,7 +1826,7 @@ module MetronomeSDK
1577
1826
  # @!attribute stripe_config
1578
1827
  # Only applicable if using Stripe as your payment gateway through Metronome.
1579
1828
  #
1580
- # @return [MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
1829
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
1581
1830
  optional :stripe_config,
1582
1831
  -> {
1583
1832
  MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
@@ -1588,7 +1837,7 @@ module MetronomeSDK
1588
1837
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1589
1838
  # will default to NONE.
1590
1839
  #
1591
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
1840
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
1592
1841
  optional :tax_type,
1593
1842
  enum: -> {
1594
1843
  MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType
@@ -1596,21 +1845,21 @@ module MetronomeSDK
1596
1845
 
1597
1846
  # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
1598
1847
  # Some parameter documentations has been truncated, see
1599
- # {MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig}
1848
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig}
1600
1849
  # for more details.
1601
1850
  #
1602
- # @param payment_gate_type [Symbol, MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
1851
+ # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
1603
1852
  #
1604
- # @param stripe_config [MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
1853
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
1605
1854
  #
1606
- # @param tax_type [Symbol, MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
1855
+ # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
1607
1856
 
1608
1857
  # Gate access to the commit balance based on successful collection of payment.
1609
1858
  # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1610
1859
  # facilitate payment using your own payment integration. Select NONE if you do not
1611
1860
  # wish to payment gate the commit balance.
1612
1861
  #
1613
- # @see MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
1862
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
1614
1863
  module PaymentGateType
1615
1864
  extend MetronomeSDK::Internal::Type::Enum
1616
1865
 
@@ -1622,12 +1871,12 @@ module MetronomeSDK
1622
1871
  # @return [Array<Symbol>]
1623
1872
  end
1624
1873
 
1625
- # @see MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
1874
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
1626
1875
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1627
1876
  # @!attribute payment_type
1628
1877
  # If left blank, will default to INVOICE
1629
1878
  #
1630
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
1879
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
1631
1880
  required :payment_type,
1632
1881
  enum: -> {
1633
1882
  MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
@@ -1636,11 +1885,11 @@ module MetronomeSDK
1636
1885
  # @!method initialize(payment_type:)
1637
1886
  # Only applicable if using Stripe as your payment gateway through Metronome.
1638
1887
  #
1639
- # @param payment_type [Symbol, MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
1888
+ # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
1640
1889
 
1641
1890
  # If left blank, will default to INVOICE
1642
1891
  #
1643
- # @see MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
1892
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
1644
1893
  module PaymentType
1645
1894
  extend MetronomeSDK::Internal::Type::Enum
1646
1895
 
@@ -1656,7 +1905,7 @@ module MetronomeSDK
1656
1905
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1657
1906
  # will default to NONE.
1658
1907
  #
1659
- # @see MetronomeSDK::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
1908
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
1660
1909
  module TaxType
1661
1910
  extend MetronomeSDK::Internal::Type::Enum
1662
1911
 
@@ -1713,7 +1962,8 @@ module MetronomeSDK
1713
1962
 
1714
1963
  # @!method initialize(max_amount:, product_id:, quantity:, unit_price:, custom_fields: nil, description: nil, netsuite_sales_order_id: nil)
1715
1964
  # Some parameter documentations has been truncated, see
1716
- # {MetronomeSDK::V2::ContractEditParams::AddProfessionalService} for more details.
1965
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddProfessionalService} for more
1966
+ # details.
1717
1967
  #
1718
1968
  # @param max_amount [Float] Maximum amount for the term.
1719
1969
  #
@@ -1734,16 +1984,18 @@ module MetronomeSDK
1734
1984
  # @!attribute access_amount
1735
1985
  # The amount of commit to grant.
1736
1986
  #
1737
- # @return [MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::AccessAmount]
1987
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::AccessAmount]
1738
1988
  required :access_amount,
1739
1989
  -> {
1740
1990
  MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::AccessAmount
1741
1991
  }
1742
1992
 
1743
1993
  # @!attribute commit_duration
1744
- # The amount of time the created commits will be valid for.
1994
+ # Defines the length of the access schedule for each created commit/credit. The
1995
+ # value represents the number of units. Unit defaults to "PERIODS", where the
1996
+ # length of a period is determined by the recurrence_frequency.
1745
1997
  #
1746
- # @return [MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration]
1998
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration]
1747
1999
  required :commit_duration,
1748
2000
  -> {
1749
2001
  MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration
@@ -1793,7 +2045,7 @@ module MetronomeSDK
1793
2045
  # @!attribute invoice_amount
1794
2046
  # The amount the customer should be billed for the commit. Not required.
1795
2047
  #
1796
- # @return [MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::InvoiceAmount, nil]
2048
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::InvoiceAmount, nil]
1797
2049
  optional :invoice_amount,
1798
2050
  -> {
1799
2051
  MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::InvoiceAmount
@@ -1815,7 +2067,7 @@ module MetronomeSDK
1815
2067
  # Determines whether the first and last commit will be prorated. If not provided,
1816
2068
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1817
2069
  #
1818
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Proration, nil]
2070
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::Proration, nil]
1819
2071
  optional :proration,
1820
2072
  enum: -> {
1821
2073
  MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Proration
@@ -1824,17 +2076,17 @@ module MetronomeSDK
1824
2076
  # @!attribute rate_type
1825
2077
  # Whether the created commits will use the commit rate or list rate
1826
2078
  #
1827
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::RateType, nil]
2079
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::RateType, nil]
1828
2080
  optional :rate_type, enum: -> { MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::RateType }
1829
2081
 
1830
2082
  # @!attribute recurrence_frequency
1831
2083
  # The frequency at which the recurring commits will be created. If not provided: -
1832
2084
  # The commits will be created on the usage invoice frequency. If provided: - The
1833
2085
  # period defined in the duration will correspond to this frequency. - Commits will
1834
- # be created aligned with the recurring commit's start_date rather than the usage
2086
+ # be created aligned with the recurring commit's starting_at rather than the usage
1835
2087
  # invoice dates.
1836
2088
  #
1837
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::RecurrenceFrequency, nil]
2089
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::RecurrenceFrequency, nil]
1838
2090
  optional :recurrence_frequency,
1839
2091
  enum: -> { MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::RecurrenceFrequency }
1840
2092
 
@@ -1846,6 +2098,18 @@ module MetronomeSDK
1846
2098
  # @return [Float, nil]
1847
2099
  optional :rollover_fraction, Float
1848
2100
 
2101
+ # @!attribute specifiers
2102
+ # List of filters that determine what kind of customer usage draws down a commit
2103
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2104
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2105
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
2106
+ #
2107
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::Specifier>, nil]
2108
+ optional :specifiers,
2109
+ -> {
2110
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Specifier]
2111
+ }
2112
+
1849
2113
  # @!attribute temporary_id
1850
2114
  # A temporary ID that can be used to reference the recurring commit for commit
1851
2115
  # specific overrides.
@@ -1853,13 +2117,14 @@ module MetronomeSDK
1853
2117
  # @return [String, nil]
1854
2118
  optional :temporary_id, String
1855
2119
 
1856
- # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, temporary_id: nil)
2120
+ # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
1857
2121
  # Some parameter documentations has been truncated, see
1858
- # {MetronomeSDK::V2::ContractEditParams::AddRecurringCommit} for more details.
2122
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit} for more
2123
+ # details.
1859
2124
  #
1860
- # @param access_amount [MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::AccessAmount] The amount of commit to grant.
2125
+ # @param access_amount [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::AccessAmount] The amount of commit to grant.
1861
2126
  #
1862
- # @param commit_duration [MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration] The amount of time the created commits will be valid for.
2127
+ # @param commit_duration [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration] Defines the length of the access schedule for each created commit/credit. The va
1863
2128
  #
1864
2129
  # @param priority [Float] Will be passed down to the individual commits
1865
2130
  #
@@ -1875,23 +2140,25 @@ module MetronomeSDK
1875
2140
  #
1876
2141
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. optional
1877
2142
  #
1878
- # @param invoice_amount [MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
2143
+ # @param invoice_amount [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
1879
2144
  #
1880
2145
  # @param name [String] displayed on invoices. will be passed through to the individual commits
1881
2146
  #
1882
2147
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
1883
2148
  #
1884
- # @param proration [Symbol, MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
2149
+ # @param proration [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
1885
2150
  #
1886
- # @param rate_type [Symbol, MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::RateType] Whether the created commits will use the commit rate or list rate
2151
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::RateType] Whether the created commits will use the commit rate or list rate
1887
2152
  #
1888
- # @param recurrence_frequency [Symbol, MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
2153
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
1889
2154
  #
1890
2155
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
1891
2156
  #
2157
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2158
+ #
1892
2159
  # @param temporary_id [String] A temporary ID that can be used to reference the recurring commit for commit spe
1893
2160
 
1894
- # @see MetronomeSDK::V2::ContractEditParams::AddRecurringCommit#access_amount
2161
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit#access_amount
1895
2162
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1896
2163
  # @!attribute credit_type_id
1897
2164
  #
@@ -1916,28 +2183,30 @@ module MetronomeSDK
1916
2183
  # @param unit_price [Float]
1917
2184
  end
1918
2185
 
1919
- # @see MetronomeSDK::V2::ContractEditParams::AddRecurringCommit#commit_duration
2186
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit#commit_duration
1920
2187
  class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
2188
+ # @!attribute value
2189
+ #
2190
+ # @return [Float]
2191
+ required :value, Float
2192
+
1921
2193
  # @!attribute unit
1922
2194
  #
1923
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration::Unit]
1924
- required :unit,
2195
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration::Unit, nil]
2196
+ optional :unit,
1925
2197
  enum: -> {
1926
2198
  MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration::Unit
1927
2199
  }
1928
2200
 
1929
- # @!attribute value
1930
- #
1931
- # @return [Float]
1932
- required :value, Float
1933
-
1934
- # @!method initialize(unit:, value:)
1935
- # The amount of time the created commits will be valid for.
2201
+ # @!method initialize(value:, unit: nil)
2202
+ # Defines the length of the access schedule for each created commit/credit. The
2203
+ # value represents the number of units. Unit defaults to "PERIODS", where the
2204
+ # length of a period is determined by the recurrence_frequency.
1936
2205
  #
1937
- # @param unit [Symbol, MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration::Unit]
1938
2206
  # @param value [Float]
2207
+ # @param unit [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration::Unit]
1939
2208
 
1940
- # @see MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::CommitDuration#unit
2209
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::CommitDuration#unit
1941
2210
  module Unit
1942
2211
  extend MetronomeSDK::Internal::Type::Enum
1943
2212
 
@@ -1948,7 +2217,7 @@ module MetronomeSDK
1948
2217
  end
1949
2218
  end
1950
2219
 
1951
- # @see MetronomeSDK::V2::ContractEditParams::AddRecurringCommit#invoice_amount
2220
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit#invoice_amount
1952
2221
  class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
1953
2222
  # @!attribute credit_type_id
1954
2223
  #
@@ -1976,7 +2245,7 @@ module MetronomeSDK
1976
2245
  # Determines whether the first and last commit will be prorated. If not provided,
1977
2246
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1978
2247
  #
1979
- # @see MetronomeSDK::V2::ContractEditParams::AddRecurringCommit#proration
2248
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit#proration
1980
2249
  module Proration
1981
2250
  extend MetronomeSDK::Internal::Type::Enum
1982
2251
 
@@ -1991,7 +2260,7 @@ module MetronomeSDK
1991
2260
 
1992
2261
  # Whether the created commits will use the commit rate or list rate
1993
2262
  #
1994
- # @see MetronomeSDK::V2::ContractEditParams::AddRecurringCommit#rate_type
2263
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit#rate_type
1995
2264
  module RateType
1996
2265
  extend MetronomeSDK::Internal::Type::Enum
1997
2266
 
@@ -2005,10 +2274,10 @@ module MetronomeSDK
2005
2274
  # The frequency at which the recurring commits will be created. If not provided: -
2006
2275
  # The commits will be created on the usage invoice frequency. If provided: - The
2007
2276
  # period defined in the duration will correspond to this frequency. - Commits will
2008
- # be created aligned with the recurring commit's start_date rather than the usage
2277
+ # be created aligned with the recurring commit's starting_at rather than the usage
2009
2278
  # invoice dates.
2010
2279
  #
2011
- # @see MetronomeSDK::V2::ContractEditParams::AddRecurringCommit#recurrence_frequency
2280
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit#recurrence_frequency
2012
2281
  module RecurrenceFrequency
2013
2282
  extend MetronomeSDK::Internal::Type::Enum
2014
2283
 
@@ -2020,22 +2289,62 @@ module MetronomeSDK
2020
2289
  # @!method self.values
2021
2290
  # @return [Array<Symbol>]
2022
2291
  end
2292
+
2293
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2294
+ # @!attribute presentation_group_values
2295
+ #
2296
+ # @return [Hash{Symbol=>String}, nil]
2297
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2298
+
2299
+ # @!attribute pricing_group_values
2300
+ #
2301
+ # @return [Hash{Symbol=>String}, nil]
2302
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2303
+
2304
+ # @!attribute product_id
2305
+ # If provided, the specifier will only apply to the product with the specified ID.
2306
+ #
2307
+ # @return [String, nil]
2308
+ optional :product_id, String
2309
+
2310
+ # @!attribute product_tags
2311
+ # If provided, the specifier will only apply to products with all the specified
2312
+ # tags.
2313
+ #
2314
+ # @return [Array<String>, nil]
2315
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2316
+
2317
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2318
+ # Some parameter documentations has been truncated, see
2319
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::Specifier}
2320
+ # for more details.
2321
+ #
2322
+ # @param presentation_group_values [Hash{Symbol=>String}]
2323
+ #
2324
+ # @param pricing_group_values [Hash{Symbol=>String}]
2325
+ #
2326
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2327
+ #
2328
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2329
+ end
2023
2330
  end
2024
2331
 
2025
2332
  class AddRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
2026
2333
  # @!attribute access_amount
2027
2334
  # The amount of commit to grant.
2028
2335
  #
2029
- # @return [MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::AccessAmount]
2336
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::AccessAmount]
2030
2337
  required :access_amount,
2031
2338
  -> {
2032
2339
  MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::AccessAmount
2033
2340
  }
2034
2341
 
2035
2342
  # @!attribute commit_duration
2036
- # The amount of time the created commits will be valid for.
2343
+ # Defines the length of the access schedule for each created commit/credit. The
2344
+ # value represents the number of units. Unit defaults to "PERIODS", where the
2345
+ # length of a period is determined by the recurrence_frequency.
2037
2346
  #
2038
- # @return [MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration]
2347
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration]
2039
2348
  required :commit_duration,
2040
2349
  -> {
2041
2350
  MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration
@@ -2098,7 +2407,7 @@ module MetronomeSDK
2098
2407
  # Determines whether the first and last commit will be prorated. If not provided,
2099
2408
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2100
2409
  #
2101
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Proration, nil]
2410
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::Proration, nil]
2102
2411
  optional :proration,
2103
2412
  enum: -> {
2104
2413
  MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Proration
@@ -2107,17 +2416,17 @@ module MetronomeSDK
2107
2416
  # @!attribute rate_type
2108
2417
  # Whether the created commits will use the commit rate or list rate
2109
2418
  #
2110
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::RateType, nil]
2419
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::RateType, nil]
2111
2420
  optional :rate_type, enum: -> { MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::RateType }
2112
2421
 
2113
2422
  # @!attribute recurrence_frequency
2114
2423
  # The frequency at which the recurring commits will be created. If not provided: -
2115
2424
  # The commits will be created on the usage invoice frequency. If provided: - The
2116
2425
  # period defined in the duration will correspond to this frequency. - Commits will
2117
- # be created aligned with the recurring commit's start_date rather than the usage
2426
+ # be created aligned with the recurring commit's starting_at rather than the usage
2118
2427
  # invoice dates.
2119
2428
  #
2120
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::RecurrenceFrequency, nil]
2429
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::RecurrenceFrequency, nil]
2121
2430
  optional :recurrence_frequency,
2122
2431
  enum: -> { MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::RecurrenceFrequency }
2123
2432
 
@@ -2129,6 +2438,18 @@ module MetronomeSDK
2129
2438
  # @return [Float, nil]
2130
2439
  optional :rollover_fraction, Float
2131
2440
 
2441
+ # @!attribute specifiers
2442
+ # List of filters that determine what kind of customer usage draws down a commit
2443
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2444
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2445
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
2446
+ #
2447
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::Specifier>, nil]
2448
+ optional :specifiers,
2449
+ -> {
2450
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Specifier]
2451
+ }
2452
+
2132
2453
  # @!attribute temporary_id
2133
2454
  # A temporary ID that can be used to reference the recurring commit for commit
2134
2455
  # specific overrides.
@@ -2136,13 +2457,14 @@ module MetronomeSDK
2136
2457
  # @return [String, nil]
2137
2458
  optional :temporary_id, String
2138
2459
 
2139
- # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, temporary_id: nil)
2460
+ # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
2140
2461
  # Some parameter documentations has been truncated, see
2141
- # {MetronomeSDK::V2::ContractEditParams::AddRecurringCredit} for more details.
2462
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit} for more
2463
+ # details.
2142
2464
  #
2143
- # @param access_amount [MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::AccessAmount] The amount of commit to grant.
2465
+ # @param access_amount [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::AccessAmount] The amount of commit to grant.
2144
2466
  #
2145
- # @param commit_duration [MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration] The amount of time the created commits will be valid for.
2467
+ # @param commit_duration [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration] Defines the length of the access schedule for each created commit/credit. The va
2146
2468
  #
2147
2469
  # @param priority [Float] Will be passed down to the individual commits
2148
2470
  #
@@ -2162,17 +2484,19 @@ module MetronomeSDK
2162
2484
  #
2163
2485
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
2164
2486
  #
2165
- # @param proration [Symbol, MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
2487
+ # @param proration [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
2166
2488
  #
2167
- # @param rate_type [Symbol, MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::RateType] Whether the created commits will use the commit rate or list rate
2489
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::RateType] Whether the created commits will use the commit rate or list rate
2168
2490
  #
2169
- # @param recurrence_frequency [Symbol, MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
2491
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
2170
2492
  #
2171
2493
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
2172
2494
  #
2495
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2496
+ #
2173
2497
  # @param temporary_id [String] A temporary ID that can be used to reference the recurring commit for commit spe
2174
2498
 
2175
- # @see MetronomeSDK::V2::ContractEditParams::AddRecurringCredit#access_amount
2499
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit#access_amount
2176
2500
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
2177
2501
  # @!attribute credit_type_id
2178
2502
  #
@@ -2197,28 +2521,30 @@ module MetronomeSDK
2197
2521
  # @param unit_price [Float]
2198
2522
  end
2199
2523
 
2200
- # @see MetronomeSDK::V2::ContractEditParams::AddRecurringCredit#commit_duration
2524
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit#commit_duration
2201
2525
  class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
2526
+ # @!attribute value
2527
+ #
2528
+ # @return [Float]
2529
+ required :value, Float
2530
+
2202
2531
  # @!attribute unit
2203
2532
  #
2204
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration::Unit]
2205
- required :unit,
2533
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration::Unit, nil]
2534
+ optional :unit,
2206
2535
  enum: -> {
2207
2536
  MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration::Unit
2208
2537
  }
2209
2538
 
2210
- # @!attribute value
2211
- #
2212
- # @return [Float]
2213
- required :value, Float
2214
-
2215
- # @!method initialize(unit:, value:)
2216
- # The amount of time the created commits will be valid for.
2539
+ # @!method initialize(value:, unit: nil)
2540
+ # Defines the length of the access schedule for each created commit/credit. The
2541
+ # value represents the number of units. Unit defaults to "PERIODS", where the
2542
+ # length of a period is determined by the recurrence_frequency.
2217
2543
  #
2218
- # @param unit [Symbol, MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration::Unit]
2219
2544
  # @param value [Float]
2545
+ # @param unit [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration::Unit]
2220
2546
 
2221
- # @see MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::CommitDuration#unit
2547
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::CommitDuration#unit
2222
2548
  module Unit
2223
2549
  extend MetronomeSDK::Internal::Type::Enum
2224
2550
 
@@ -2232,7 +2558,7 @@ module MetronomeSDK
2232
2558
  # Determines whether the first and last commit will be prorated. If not provided,
2233
2559
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2234
2560
  #
2235
- # @see MetronomeSDK::V2::ContractEditParams::AddRecurringCredit#proration
2561
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit#proration
2236
2562
  module Proration
2237
2563
  extend MetronomeSDK::Internal::Type::Enum
2238
2564
 
@@ -2247,7 +2573,7 @@ module MetronomeSDK
2247
2573
 
2248
2574
  # Whether the created commits will use the commit rate or list rate
2249
2575
  #
2250
- # @see MetronomeSDK::V2::ContractEditParams::AddRecurringCredit#rate_type
2576
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit#rate_type
2251
2577
  module RateType
2252
2578
  extend MetronomeSDK::Internal::Type::Enum
2253
2579
 
@@ -2261,10 +2587,10 @@ module MetronomeSDK
2261
2587
  # The frequency at which the recurring commits will be created. If not provided: -
2262
2588
  # The commits will be created on the usage invoice frequency. If provided: - The
2263
2589
  # period defined in the duration will correspond to this frequency. - Commits will
2264
- # be created aligned with the recurring commit's start_date rather than the usage
2590
+ # be created aligned with the recurring commit's starting_at rather than the usage
2265
2591
  # invoice dates.
2266
2592
  #
2267
- # @see MetronomeSDK::V2::ContractEditParams::AddRecurringCredit#recurrence_frequency
2593
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit#recurrence_frequency
2268
2594
  module RecurrenceFrequency
2269
2595
  extend MetronomeSDK::Internal::Type::Enum
2270
2596
 
@@ -2276,12 +2602,50 @@ module MetronomeSDK
2276
2602
  # @!method self.values
2277
2603
  # @return [Array<Symbol>]
2278
2604
  end
2605
+
2606
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2607
+ # @!attribute presentation_group_values
2608
+ #
2609
+ # @return [Hash{Symbol=>String}, nil]
2610
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2611
+
2612
+ # @!attribute pricing_group_values
2613
+ #
2614
+ # @return [Hash{Symbol=>String}, nil]
2615
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2616
+
2617
+ # @!attribute product_id
2618
+ # If provided, the specifier will only apply to the product with the specified ID.
2619
+ #
2620
+ # @return [String, nil]
2621
+ optional :product_id, String
2622
+
2623
+ # @!attribute product_tags
2624
+ # If provided, the specifier will only apply to products with all the specified
2625
+ # tags.
2626
+ #
2627
+ # @return [Array<String>, nil]
2628
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2629
+
2630
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2631
+ # Some parameter documentations has been truncated, see
2632
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::Specifier}
2633
+ # for more details.
2634
+ #
2635
+ # @param presentation_group_values [Hash{Symbol=>String}]
2636
+ #
2637
+ # @param pricing_group_values [Hash{Symbol=>String}]
2638
+ #
2639
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2640
+ #
2641
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2642
+ end
2279
2643
  end
2280
2644
 
2281
2645
  class AddResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
2282
2646
  # @!attribute reseller_type
2283
2647
  #
2284
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::ResellerType]
2648
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::ResellerType]
2285
2649
  required :reseller_type,
2286
2650
  enum: -> { MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::ResellerType }
2287
2651
 
@@ -2299,7 +2663,7 @@ module MetronomeSDK
2299
2663
 
2300
2664
  # @!attribute aws_options
2301
2665
  #
2302
- # @return [MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::AwsOptions, nil]
2666
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::AwsOptions, nil]
2303
2667
  optional :aws_options, -> { MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::AwsOptions }
2304
2668
 
2305
2669
  # @!attribute ending_before
@@ -2315,7 +2679,7 @@ module MetronomeSDK
2315
2679
 
2316
2680
  # @!attribute gcp_options
2317
2681
  #
2318
- # @return [MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::GcpOptions, nil]
2682
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::GcpOptions, nil]
2319
2683
  optional :gcp_options, -> { MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::GcpOptions }
2320
2684
 
2321
2685
  # @!attribute netsuite_reseller_id
@@ -2334,19 +2698,19 @@ module MetronomeSDK
2334
2698
  optional :starting_at, Time
2335
2699
 
2336
2700
  # @!method initialize(reseller_type:, applicable_product_ids: nil, applicable_product_tags: nil, aws_options: nil, ending_before: nil, fraction: nil, gcp_options: nil, netsuite_reseller_id: nil, reseller_contract_value: nil, starting_at: nil)
2337
- # @param reseller_type [Symbol, MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::ResellerType]
2701
+ # @param reseller_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::ResellerType]
2338
2702
  #
2339
2703
  # @param applicable_product_ids [Array<String>] Must provide at least one of applicable_product_ids or applicable_product_tags.
2340
2704
  #
2341
2705
  # @param applicable_product_tags [Array<String>] Must provide at least one of applicable_product_ids or applicable_product_tags.
2342
2706
  #
2343
- # @param aws_options [MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::AwsOptions]
2707
+ # @param aws_options [MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::AwsOptions]
2344
2708
  #
2345
2709
  # @param ending_before [Time, nil] Use null to indicate that the existing end timestamp should be removed.
2346
2710
  #
2347
2711
  # @param fraction [Float]
2348
2712
  #
2349
- # @param gcp_options [MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty::GcpOptions]
2713
+ # @param gcp_options [MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty::GcpOptions]
2350
2714
  #
2351
2715
  # @param netsuite_reseller_id [String]
2352
2716
  #
@@ -2354,7 +2718,7 @@ module MetronomeSDK
2354
2718
  #
2355
2719
  # @param starting_at [Time]
2356
2720
 
2357
- # @see MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty#reseller_type
2721
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty#reseller_type
2358
2722
  module ResellerType
2359
2723
  extend MetronomeSDK::Internal::Type::Enum
2360
2724
 
@@ -2367,7 +2731,7 @@ module MetronomeSDK
2367
2731
  # @return [Array<Symbol>]
2368
2732
  end
2369
2733
 
2370
- # @see MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty#aws_options
2734
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty#aws_options
2371
2735
  class AwsOptions < MetronomeSDK::Internal::Type::BaseModel
2372
2736
  # @!attribute aws_account_number
2373
2737
  #
@@ -2390,7 +2754,7 @@ module MetronomeSDK
2390
2754
  # @param aws_payer_reference_id [String]
2391
2755
  end
2392
2756
 
2393
- # @see MetronomeSDK::V2::ContractEditParams::AddResellerRoyalty#gcp_options
2757
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddResellerRoyalty#gcp_options
2394
2758
  class GcpOptions < MetronomeSDK::Internal::Type::BaseModel
2395
2759
  # @!attribute gcp_account_id
2396
2760
  #
@@ -2417,7 +2781,7 @@ module MetronomeSDK
2417
2781
  # @!attribute schedule
2418
2782
  # Must provide either schedule_items or recurring_schedule.
2419
2783
  #
2420
- # @return [MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule]
2784
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule]
2421
2785
  required :schedule, -> { MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule }
2422
2786
 
2423
2787
  # @!attribute name
@@ -2435,13 +2799,13 @@ module MetronomeSDK
2435
2799
  # @!method initialize(product_id:, schedule:, name: nil, netsuite_sales_order_id: nil)
2436
2800
  # @param product_id [String]
2437
2801
  #
2438
- # @param schedule [MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule] Must provide either schedule_items or recurring_schedule.
2802
+ # @param schedule [MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule] Must provide either schedule_items or recurring_schedule.
2439
2803
  #
2440
2804
  # @param name [String] displayed on invoices
2441
2805
  #
2442
2806
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
2443
2807
 
2444
- # @see MetronomeSDK::V2::ContractEditParams::AddScheduledCharge#schedule
2808
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge#schedule
2445
2809
  class Schedule < MetronomeSDK::Internal::Type::BaseModel
2446
2810
  # @!attribute credit_type_id
2447
2811
  # Defaults to USD if not passed. Only USD is supported at this time.
@@ -2454,7 +2818,7 @@ module MetronomeSDK
2454
2818
  # amount. If amount is sent, the unit price is assumed to be the amount and
2455
2819
  # quantity is inferred to be 1.
2456
2820
  #
2457
- # @return [MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule, nil]
2821
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule, nil]
2458
2822
  optional :recurring_schedule,
2459
2823
  -> {
2460
2824
  MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule
@@ -2463,7 +2827,7 @@ module MetronomeSDK
2463
2827
  # @!attribute schedule_items
2464
2828
  # Either provide amount or provide both unit_price and quantity.
2465
2829
  #
2466
- # @return [Array<MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::ScheduleItem>, nil]
2830
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::ScheduleItem>, nil]
2467
2831
  optional :schedule_items,
2468
2832
  -> {
2469
2833
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::ScheduleItem]
@@ -2471,22 +2835,22 @@ module MetronomeSDK
2471
2835
 
2472
2836
  # @!method initialize(credit_type_id: nil, recurring_schedule: nil, schedule_items: nil)
2473
2837
  # Some parameter documentations has been truncated, see
2474
- # {MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule} for more
2475
- # details.
2838
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule} for
2839
+ # more details.
2476
2840
  #
2477
2841
  # Must provide either schedule_items or recurring_schedule.
2478
2842
  #
2479
2843
  # @param credit_type_id [String] Defaults to USD if not passed. Only USD is supported at this time.
2480
2844
  #
2481
- # @param recurring_schedule [MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
2845
+ # @param recurring_schedule [MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
2482
2846
  #
2483
- # @param schedule_items [Array<MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
2847
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
2484
2848
 
2485
- # @see MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule#recurring_schedule
2849
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule#recurring_schedule
2486
2850
  class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
2487
2851
  # @!attribute amount_distribution
2488
2852
  #
2489
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::AmountDistribution]
2853
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::AmountDistribution]
2490
2854
  required :amount_distribution,
2491
2855
  enum: -> {
2492
2856
  MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::AmountDistribution
@@ -2500,7 +2864,7 @@ module MetronomeSDK
2500
2864
 
2501
2865
  # @!attribute frequency
2502
2866
  #
2503
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::Frequency]
2867
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::Frequency]
2504
2868
  required :frequency,
2505
2869
  enum: -> {
2506
2870
  MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::Frequency
@@ -2538,18 +2902,18 @@ module MetronomeSDK
2538
2902
 
2539
2903
  # @!method initialize(amount_distribution:, ending_before:, frequency:, starting_at:, amount: nil, quantity: nil, unit_price: nil)
2540
2904
  # Some parameter documentations has been truncated, see
2541
- # {MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule}
2905
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule}
2542
2906
  # for more details.
2543
2907
  #
2544
2908
  # Enter the unit price and quantity for the charge or instead only send the
2545
2909
  # amount. If amount is sent, the unit price is assumed to be the amount and
2546
2910
  # quantity is inferred to be 1.
2547
2911
  #
2548
- # @param amount_distribution [Symbol, MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::AmountDistribution]
2912
+ # @param amount_distribution [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::AmountDistribution]
2549
2913
  #
2550
2914
  # @param ending_before [Time] RFC 3339 timestamp (exclusive).
2551
2915
  #
2552
- # @param frequency [Symbol, MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::Frequency]
2916
+ # @param frequency [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule::Frequency]
2553
2917
  #
2554
2918
  # @param starting_at [Time] RFC 3339 timestamp (inclusive).
2555
2919
  #
@@ -2559,7 +2923,7 @@ module MetronomeSDK
2559
2923
  #
2560
2924
  # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
2561
2925
 
2562
- # @see MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule#amount_distribution
2926
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule#amount_distribution
2563
2927
  module AmountDistribution
2564
2928
  extend MetronomeSDK::Internal::Type::Enum
2565
2929
 
@@ -2571,7 +2935,7 @@ module MetronomeSDK
2571
2935
  # @return [Array<Symbol>]
2572
2936
  end
2573
2937
 
2574
- # @see MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule#frequency
2938
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::RecurringSchedule#frequency
2575
2939
  module Frequency
2576
2940
  extend MetronomeSDK::Internal::Type::Enum
2577
2941
 
@@ -2619,7 +2983,7 @@ module MetronomeSDK
2619
2983
 
2620
2984
  # @!method initialize(timestamp:, amount: nil, quantity: nil, unit_price: nil)
2621
2985
  # Some parameter documentations has been truncated, see
2622
- # {MetronomeSDK::V2::ContractEditParams::AddScheduledCharge::Schedule::ScheduleItem}
2986
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge::Schedule::ScheduleItem}
2623
2987
  # for more details.
2624
2988
  #
2625
2989
  # @param timestamp [Time] timestamp of the scheduled event
@@ -2636,7 +3000,7 @@ module MetronomeSDK
2636
3000
  class AddSpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
2637
3001
  # @!attribute commit
2638
3002
  #
2639
- # @return [MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::Commit]
3003
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::Commit]
2640
3004
  required :commit,
2641
3005
  -> {
2642
3006
  MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::Commit
@@ -2652,7 +3016,7 @@ module MetronomeSDK
2652
3016
 
2653
3017
  # @!attribute payment_gate_config
2654
3018
  #
2655
- # @return [MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig]
3019
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig]
2656
3020
  required :payment_gate_config,
2657
3021
  -> {
2658
3022
  MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig
@@ -2667,18 +3031,18 @@ module MetronomeSDK
2667
3031
 
2668
3032
  # @!method initialize(commit:, is_enabled:, payment_gate_config:, threshold_amount:)
2669
3033
  # Some parameter documentations has been truncated, see
2670
- # {MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration} for more
2671
- # details.
3034
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration}
3035
+ # for more details.
2672
3036
  #
2673
- # @param commit [MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::Commit]
3037
+ # @param commit [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::Commit]
2674
3038
  #
2675
3039
  # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
2676
3040
  #
2677
- # @param payment_gate_config [MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig]
3041
+ # @param payment_gate_config [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig]
2678
3042
  #
2679
3043
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
2680
3044
 
2681
- # @see MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration#commit
3045
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration#commit
2682
3046
  class Commit < MetronomeSDK::Internal::Type::BaseModel
2683
3047
  # @!attribute product_id
2684
3048
  # The commit product that will be used to generate the line item for commit
@@ -2701,7 +3065,7 @@ module MetronomeSDK
2701
3065
 
2702
3066
  # @!method initialize(product_id:, description: nil, name: nil)
2703
3067
  # Some parameter documentations has been truncated, see
2704
- # {MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::Commit}
3068
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::Commit}
2705
3069
  # for more details.
2706
3070
  #
2707
3071
  # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
@@ -2711,7 +3075,7 @@ module MetronomeSDK
2711
3075
  # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
2712
3076
  end
2713
3077
 
2714
- # @see MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration#payment_gate_config
3078
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration#payment_gate_config
2715
3079
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
2716
3080
  # @!attribute payment_gate_type
2717
3081
  # Gate access to the commit balance based on successful collection of payment.
@@ -2719,7 +3083,7 @@ module MetronomeSDK
2719
3083
  # facilitate payment using your own payment integration. Select NONE if you do not
2720
3084
  # wish to payment gate the commit balance.
2721
3085
  #
2722
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
3086
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
2723
3087
  required :payment_gate_type,
2724
3088
  enum: -> {
2725
3089
  MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType
@@ -2728,7 +3092,7 @@ module MetronomeSDK
2728
3092
  # @!attribute stripe_config
2729
3093
  # Only applicable if using Stripe as your payment gateway through Metronome.
2730
3094
  #
2731
- # @return [MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
3095
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
2732
3096
  optional :stripe_config,
2733
3097
  -> {
2734
3098
  MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig
@@ -2739,7 +3103,7 @@ module MetronomeSDK
2739
3103
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
2740
3104
  # will default to NONE.
2741
3105
  #
2742
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
3106
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
2743
3107
  optional :tax_type,
2744
3108
  enum: -> {
2745
3109
  MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType
@@ -2747,21 +3111,21 @@ module MetronomeSDK
2747
3111
 
2748
3112
  # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
2749
3113
  # Some parameter documentations has been truncated, see
2750
- # {MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig}
3114
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig}
2751
3115
  # for more details.
2752
3116
  #
2753
- # @param payment_gate_type [Symbol, MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
3117
+ # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
2754
3118
  #
2755
- # @param stripe_config [MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
3119
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
2756
3120
  #
2757
- # @param tax_type [Symbol, MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
3121
+ # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
2758
3122
 
2759
3123
  # Gate access to the commit balance based on successful collection of payment.
2760
3124
  # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
2761
3125
  # facilitate payment using your own payment integration. Select NONE if you do not
2762
3126
  # wish to payment gate the commit balance.
2763
3127
  #
2764
- # @see MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
3128
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
2765
3129
  module PaymentGateType
2766
3130
  extend MetronomeSDK::Internal::Type::Enum
2767
3131
 
@@ -2773,12 +3137,12 @@ module MetronomeSDK
2773
3137
  # @return [Array<Symbol>]
2774
3138
  end
2775
3139
 
2776
- # @see MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig#stripe_config
3140
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig#stripe_config
2777
3141
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2778
3142
  # @!attribute payment_type
2779
3143
  # If left blank, will default to INVOICE
2780
3144
  #
2781
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
3145
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
2782
3146
  required :payment_type,
2783
3147
  enum: -> {
2784
3148
  MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
@@ -2787,11 +3151,11 @@ module MetronomeSDK
2787
3151
  # @!method initialize(payment_type:)
2788
3152
  # Only applicable if using Stripe as your payment gateway through Metronome.
2789
3153
  #
2790
- # @param payment_type [Symbol, MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
3154
+ # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
2791
3155
 
2792
3156
  # If left blank, will default to INVOICE
2793
3157
  #
2794
- # @see MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
3158
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
2795
3159
  module PaymentType
2796
3160
  extend MetronomeSDK::Internal::Type::Enum
2797
3161
 
@@ -2807,7 +3171,7 @@ module MetronomeSDK
2807
3171
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
2808
3172
  # will default to NONE.
2809
3173
  #
2810
- # @see MetronomeSDK::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig#tax_type
3174
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration::PaymentGateConfig#tax_type
2811
3175
  module TaxType
2812
3176
  extend MetronomeSDK::Internal::Type::Enum
2813
3177
 
@@ -2820,6 +3184,183 @@ module MetronomeSDK
2820
3184
  end
2821
3185
  end
2822
3186
 
3187
+ class AddSubscription < MetronomeSDK::Internal::Type::BaseModel
3188
+ # @!attribute collection_schedule
3189
+ #
3190
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::CollectionSchedule]
3191
+ required :collection_schedule,
3192
+ enum: -> { MetronomeSDK::V2::ContractEditParams::AddSubscription::CollectionSchedule }
3193
+
3194
+ # @!attribute initial_quantity
3195
+ #
3196
+ # @return [Float]
3197
+ required :initial_quantity, Float
3198
+
3199
+ # @!attribute proration
3200
+ #
3201
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration]
3202
+ required :proration, -> { MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration }
3203
+
3204
+ # @!attribute subscription_rate
3205
+ #
3206
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::SubscriptionRate]
3207
+ required :subscription_rate,
3208
+ -> { MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate }
3209
+
3210
+ # @!attribute custom_fields
3211
+ #
3212
+ # @return [Hash{Symbol=>String}, nil]
3213
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
3214
+
3215
+ # @!attribute description
3216
+ #
3217
+ # @return [String, nil]
3218
+ optional :description, String
3219
+
3220
+ # @!attribute ending_before
3221
+ # Exclusive end time for the subscription. If not provided, subscription inherits
3222
+ # contract end date.
3223
+ #
3224
+ # @return [Time, nil]
3225
+ optional :ending_before, Time
3226
+
3227
+ # @!attribute name
3228
+ #
3229
+ # @return [String, nil]
3230
+ optional :name, String
3231
+
3232
+ # @!attribute starting_at
3233
+ # Inclusive start time for the subscription. If not provided, defaults to contract
3234
+ # start date
3235
+ #
3236
+ # @return [Time, nil]
3237
+ optional :starting_at, Time
3238
+
3239
+ # @!method initialize(collection_schedule:, initial_quantity:, proration:, subscription_rate:, custom_fields: nil, description: nil, ending_before: nil, name: nil, starting_at: nil)
3240
+ # Some parameter documentations has been truncated, see
3241
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddSubscription} for more
3242
+ # details.
3243
+ #
3244
+ # @param collection_schedule [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::CollectionSchedule]
3245
+ #
3246
+ # @param initial_quantity [Float]
3247
+ #
3248
+ # @param proration [MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration]
3249
+ #
3250
+ # @param subscription_rate [MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::SubscriptionRate]
3251
+ #
3252
+ # @param custom_fields [Hash{Symbol=>String}]
3253
+ #
3254
+ # @param description [String]
3255
+ #
3256
+ # @param ending_before [Time] Exclusive end time for the subscription. If not provided, subscription inherits
3257
+ #
3258
+ # @param name [String]
3259
+ #
3260
+ # @param starting_at [Time] Inclusive start time for the subscription. If not provided, defaults to contract
3261
+
3262
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddSubscription#collection_schedule
3263
+ module CollectionSchedule
3264
+ extend MetronomeSDK::Internal::Type::Enum
3265
+
3266
+ ADVANCE = :ADVANCE
3267
+ ARREARS = :ARREARS
3268
+
3269
+ # @!method self.values
3270
+ # @return [Array<Symbol>]
3271
+ end
3272
+
3273
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddSubscription#proration
3274
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
3275
+ # @!attribute invoice_behavior
3276
+ # Indicates how mid-period quantity adjustments are invoiced. If BILL_IMMEDIATELY
3277
+ # is selected, the quantity increase will be billed on the scheduled date. If
3278
+ # BILL_ON_NEXT_COLLECTION_DATE is selected, the quantity increase will be billed
3279
+ # for in-arrears at the end of the period.
3280
+ #
3281
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::InvoiceBehavior, nil]
3282
+ optional :invoice_behavior,
3283
+ enum: -> {
3284
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::InvoiceBehavior
3285
+ }
3286
+
3287
+ # @!attribute is_prorated
3288
+ # Indicates if the partial period will be prorated or charged a full amount.
3289
+ #
3290
+ # @return [Boolean, nil]
3291
+ optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
3292
+
3293
+ # @!method initialize(invoice_behavior: nil, is_prorated: nil)
3294
+ # Some parameter documentations has been truncated, see
3295
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration} for
3296
+ # more details.
3297
+ #
3298
+ # @param invoice_behavior [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::InvoiceBehavior] Indicates how mid-period quantity adjustments are invoiced. If BILL_IMMEDIATELY
3299
+ #
3300
+ # @param is_prorated [Boolean] Indicates if the partial period will be prorated or charged a full amount.
3301
+
3302
+ # Indicates how mid-period quantity adjustments are invoiced. If BILL_IMMEDIATELY
3303
+ # is selected, the quantity increase will be billed on the scheduled date. If
3304
+ # BILL_ON_NEXT_COLLECTION_DATE is selected, the quantity increase will be billed
3305
+ # for in-arrears at the end of the period.
3306
+ #
3307
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration#invoice_behavior
3308
+ module InvoiceBehavior
3309
+ extend MetronomeSDK::Internal::Type::Enum
3310
+
3311
+ BILL_IMMEDIATELY = :BILL_IMMEDIATELY
3312
+ BILL_ON_NEXT_COLLECTION_DATE = :BILL_ON_NEXT_COLLECTION_DATE
3313
+
3314
+ # @!method self.values
3315
+ # @return [Array<Symbol>]
3316
+ end
3317
+ end
3318
+
3319
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddSubscription#subscription_rate
3320
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
3321
+ # @!attribute billing_frequency
3322
+ # Frequency to bill subscription with. Together with product_id, must match
3323
+ # existing rate on the rate card.
3324
+ #
3325
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::SubscriptionRate::BillingFrequency]
3326
+ required :billing_frequency,
3327
+ enum: -> {
3328
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::BillingFrequency
3329
+ }
3330
+
3331
+ # @!attribute product_id
3332
+ # Must be subscription type product
3333
+ #
3334
+ # @return [String]
3335
+ required :product_id, String
3336
+
3337
+ # @!method initialize(billing_frequency:, product_id:)
3338
+ # Some parameter documentations has been truncated, see
3339
+ # {MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::SubscriptionRate}
3340
+ # for more details.
3341
+ #
3342
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::SubscriptionRate::BillingFrequency] Frequency to bill subscription with. Together with product_id, must match existi
3343
+ #
3344
+ # @param product_id [String] Must be subscription type product
3345
+
3346
+ # Frequency to bill subscription with. Together with product_id, must match
3347
+ # existing rate on the rate card.
3348
+ #
3349
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::SubscriptionRate#billing_frequency
3350
+ module BillingFrequency
3351
+ extend MetronomeSDK::Internal::Type::Enum
3352
+
3353
+ MONTHLY = :MONTHLY
3354
+ QUARTERLY = :QUARTERLY
3355
+ ANNUAL = :ANNUAL
3356
+ WEEKLY = :WEEKLY
3357
+
3358
+ # @!method self.values
3359
+ # @return [Array<Symbol>]
3360
+ end
3361
+ end
3362
+ end
3363
+
2823
3364
  class ArchiveCommit < MetronomeSDK::Internal::Type::BaseModel
2824
3365
  # @!attribute id
2825
3366
  #
@@ -2868,7 +3409,7 @@ module MetronomeSDK
2868
3409
 
2869
3410
  # @!attribute access_schedule
2870
3411
  #
2871
- # @return [MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule, nil]
3412
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule, nil]
2872
3413
  optional :access_schedule, -> { MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule }
2873
3414
 
2874
3415
  # @!attribute applicable_product_ids
@@ -2887,7 +3428,7 @@ module MetronomeSDK
2887
3428
 
2888
3429
  # @!attribute invoice_schedule
2889
3430
  #
2890
- # @return [MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule, nil]
3431
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule, nil]
2891
3432
  optional :invoice_schedule,
2892
3433
  -> {
2893
3434
  MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule
@@ -2910,17 +3451,17 @@ module MetronomeSDK
2910
3451
 
2911
3452
  # @!method initialize(commit_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, invoice_schedule: nil, netsuite_sales_order_id: nil, product_id: nil, rollover_fraction: nil)
2912
3453
  # Some parameter documentations has been truncated, see
2913
- # {MetronomeSDK::V2::ContractEditParams::UpdateCommit} for more details.
3454
+ # {MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit} for more details.
2914
3455
  #
2915
3456
  # @param commit_id [String]
2916
3457
  #
2917
- # @param access_schedule [MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule]
3458
+ # @param access_schedule [MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule]
2918
3459
  #
2919
3460
  # @param applicable_product_ids [Array<String>, nil] Which products the commit applies to. If both applicable_product_ids and applica
2920
3461
  #
2921
3462
  # @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If both applicable*product_ids and applicable*
2922
3463
  #
2923
- # @param invoice_schedule [MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule]
3464
+ # @param invoice_schedule [MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule]
2924
3465
  #
2925
3466
  # @param netsuite_sales_order_id [String, nil]
2926
3467
  #
@@ -2928,11 +3469,11 @@ module MetronomeSDK
2928
3469
  #
2929
3470
  # @param rollover_fraction [Float, nil]
2930
3471
 
2931
- # @see MetronomeSDK::V2::ContractEditParams::UpdateCommit#access_schedule
3472
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit#access_schedule
2932
3473
  class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
2933
3474
  # @!attribute add_schedule_items
2934
3475
  #
2935
- # @return [Array<MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::AddScheduleItem>, nil]
3476
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule::AddScheduleItem>, nil]
2936
3477
  optional :add_schedule_items,
2937
3478
  -> {
2938
3479
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::AddScheduleItem]
@@ -2940,7 +3481,7 @@ module MetronomeSDK
2940
3481
 
2941
3482
  # @!attribute remove_schedule_items
2942
3483
  #
2943
- # @return [Array<MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::RemoveScheduleItem>, nil]
3484
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule::RemoveScheduleItem>, nil]
2944
3485
  optional :remove_schedule_items,
2945
3486
  -> {
2946
3487
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::RemoveScheduleItem]
@@ -2948,16 +3489,16 @@ module MetronomeSDK
2948
3489
 
2949
3490
  # @!attribute update_schedule_items
2950
3491
  #
2951
- # @return [Array<MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::UpdateScheduleItem>, nil]
3492
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule::UpdateScheduleItem>, nil]
2952
3493
  optional :update_schedule_items,
2953
3494
  -> {
2954
3495
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::UpdateScheduleItem]
2955
3496
  }
2956
3497
 
2957
3498
  # @!method initialize(add_schedule_items: nil, remove_schedule_items: nil, update_schedule_items: nil)
2958
- # @param add_schedule_items [Array<MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::AddScheduleItem>]
2959
- # @param remove_schedule_items [Array<MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::RemoveScheduleItem>]
2960
- # @param update_schedule_items [Array<MetronomeSDK::V2::ContractEditParams::UpdateCommit::AccessSchedule::UpdateScheduleItem>]
3499
+ # @param add_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule::AddScheduleItem>]
3500
+ # @param remove_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule::RemoveScheduleItem>]
3501
+ # @param update_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::AccessSchedule::UpdateScheduleItem>]
2961
3502
 
2962
3503
  class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2963
3504
  # @!attribute amount
@@ -3020,11 +3561,11 @@ module MetronomeSDK
3020
3561
  end
3021
3562
  end
3022
3563
 
3023
- # @see MetronomeSDK::V2::ContractEditParams::UpdateCommit#invoice_schedule
3564
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit#invoice_schedule
3024
3565
  class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
3025
3566
  # @!attribute add_schedule_items
3026
3567
  #
3027
- # @return [Array<MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::AddScheduleItem>, nil]
3568
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::AddScheduleItem>, nil]
3028
3569
  optional :add_schedule_items,
3029
3570
  -> {
3030
3571
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::AddScheduleItem]
@@ -3032,7 +3573,7 @@ module MetronomeSDK
3032
3573
 
3033
3574
  # @!attribute remove_schedule_items
3034
3575
  #
3035
- # @return [Array<MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::RemoveScheduleItem>, nil]
3576
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::RemoveScheduleItem>, nil]
3036
3577
  optional :remove_schedule_items,
3037
3578
  -> {
3038
3579
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::RemoveScheduleItem]
@@ -3040,16 +3581,16 @@ module MetronomeSDK
3040
3581
 
3041
3582
  # @!attribute update_schedule_items
3042
3583
  #
3043
- # @return [Array<MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::UpdateScheduleItem>, nil]
3584
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::UpdateScheduleItem>, nil]
3044
3585
  optional :update_schedule_items,
3045
3586
  -> {
3046
3587
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::UpdateScheduleItem]
3047
3588
  }
3048
3589
 
3049
3590
  # @!method initialize(add_schedule_items: nil, remove_schedule_items: nil, update_schedule_items: nil)
3050
- # @param add_schedule_items [Array<MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::AddScheduleItem>]
3051
- # @param remove_schedule_items [Array<MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::RemoveScheduleItem>]
3052
- # @param update_schedule_items [Array<MetronomeSDK::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::UpdateScheduleItem>]
3591
+ # @param add_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::AddScheduleItem>]
3592
+ # @param remove_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::RemoveScheduleItem>]
3593
+ # @param update_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit::InvoiceSchedule::UpdateScheduleItem>]
3053
3594
 
3054
3595
  class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
3055
3596
  # @!attribute timestamp
@@ -3133,7 +3674,7 @@ module MetronomeSDK
3133
3674
 
3134
3675
  # @!attribute access_schedule
3135
3676
  #
3136
- # @return [MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule, nil]
3677
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule, nil]
3137
3678
  optional :access_schedule, -> { MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule }
3138
3679
 
3139
3680
  # @!attribute applicable_product_ids
@@ -3162,11 +3703,11 @@ module MetronomeSDK
3162
3703
 
3163
3704
  # @!method initialize(credit_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, netsuite_sales_order_id: nil, product_id: nil)
3164
3705
  # Some parameter documentations has been truncated, see
3165
- # {MetronomeSDK::V2::ContractEditParams::UpdateCredit} for more details.
3706
+ # {MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit} for more details.
3166
3707
  #
3167
3708
  # @param credit_id [String]
3168
3709
  #
3169
- # @param access_schedule [MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule]
3710
+ # @param access_schedule [MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule]
3170
3711
  #
3171
3712
  # @param applicable_product_ids [Array<String>, nil] Which products the commit applies to. If both applicable_product_ids and applica
3172
3713
  #
@@ -3176,11 +3717,11 @@ module MetronomeSDK
3176
3717
  #
3177
3718
  # @param product_id [String]
3178
3719
 
3179
- # @see MetronomeSDK::V2::ContractEditParams::UpdateCredit#access_schedule
3720
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit#access_schedule
3180
3721
  class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
3181
3722
  # @!attribute add_schedule_items
3182
3723
  #
3183
- # @return [Array<MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule::AddScheduleItem>, nil]
3724
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule::AddScheduleItem>, nil]
3184
3725
  optional :add_schedule_items,
3185
3726
  -> {
3186
3727
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule::AddScheduleItem]
@@ -3188,7 +3729,7 @@ module MetronomeSDK
3188
3729
 
3189
3730
  # @!attribute remove_schedule_items
3190
3731
  #
3191
- # @return [Array<MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule::RemoveScheduleItem>, nil]
3732
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule::RemoveScheduleItem>, nil]
3192
3733
  optional :remove_schedule_items,
3193
3734
  -> {
3194
3735
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule::RemoveScheduleItem]
@@ -3196,16 +3737,16 @@ module MetronomeSDK
3196
3737
 
3197
3738
  # @!attribute update_schedule_items
3198
3739
  #
3199
- # @return [Array<MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule::UpdateScheduleItem>, nil]
3740
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule::UpdateScheduleItem>, nil]
3200
3741
  optional :update_schedule_items,
3201
3742
  -> {
3202
3743
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule::UpdateScheduleItem]
3203
3744
  }
3204
3745
 
3205
3746
  # @!method initialize(add_schedule_items: nil, remove_schedule_items: nil, update_schedule_items: nil)
3206
- # @param add_schedule_items [Array<MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule::AddScheduleItem>]
3207
- # @param remove_schedule_items [Array<MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule::RemoveScheduleItem>]
3208
- # @param update_schedule_items [Array<MetronomeSDK::V2::ContractEditParams::UpdateCredit::AccessSchedule::UpdateScheduleItem>]
3747
+ # @param add_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule::AddScheduleItem>]
3748
+ # @param remove_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule::RemoveScheduleItem>]
3749
+ # @param update_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCredit::AccessSchedule::UpdateScheduleItem>]
3209
3750
 
3210
3751
  class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
3211
3752
  # @!attribute amount
@@ -3272,7 +3813,7 @@ module MetronomeSDK
3272
3813
  class UpdatePrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
3273
3814
  # @!attribute commit
3274
3815
  #
3275
- # @return [MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit, nil]
3816
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit, nil]
3276
3817
  optional :commit,
3277
3818
  -> {
3278
3819
  MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit
@@ -3288,7 +3829,7 @@ module MetronomeSDK
3288
3829
 
3289
3830
  # @!attribute payment_gate_config
3290
3831
  #
3291
- # @return [MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig, nil]
3832
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig, nil]
3292
3833
  optional :payment_gate_config,
3293
3834
  -> {
3294
3835
  MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig
@@ -3309,28 +3850,21 @@ module MetronomeSDK
3309
3850
 
3310
3851
  # @!method initialize(commit: nil, is_enabled: nil, payment_gate_config: nil, recharge_to_amount: nil, threshold_amount: nil)
3311
3852
  # Some parameter documentations has been truncated, see
3312
- # {MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration}
3853
+ # {MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration}
3313
3854
  # for more details.
3314
3855
  #
3315
- # @param commit [MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit]
3856
+ # @param commit [MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit]
3316
3857
  #
3317
3858
  # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
3318
3859
  #
3319
- # @param payment_gate_config [MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig]
3860
+ # @param payment_gate_config [MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig]
3320
3861
  #
3321
3862
  # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
3322
3863
  #
3323
3864
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
3324
3865
 
3325
- # @see MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration#commit
3866
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration#commit
3326
3867
  class Commit < MetronomeSDK::Internal::Type::BaseModel
3327
- # @!attribute product_id
3328
- # The commit product that will be used to generate the line item for commit
3329
- # payment.
3330
- #
3331
- # @return [String]
3332
- required :product_id, String
3333
-
3334
3868
  # @!attribute applicable_product_ids
3335
3869
  # Which products the threshold commit applies to. If both applicable_product_ids
3336
3870
  # and applicable_product_tags are not provided, the commit applies to all
@@ -3358,13 +3892,30 @@ module MetronomeSDK
3358
3892
  # @return [String, nil]
3359
3893
  optional :name, String
3360
3894
 
3361
- # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil)
3895
+ # @!attribute product_id
3896
+ # The commit product that will be used to generate the line item for commit
3897
+ # payment.
3898
+ #
3899
+ # @return [String, nil]
3900
+ optional :product_id, String
3901
+
3902
+ # @!attribute specifiers
3903
+ # List of filters that determine what kind of customer usage draws down a commit
3904
+ # or credit. A customer's usage needs to meet the condition of at least one of the
3905
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
3906
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
3907
+ #
3908
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
3909
+ optional :specifiers,
3910
+ -> {
3911
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier]
3912
+ }
3913
+
3914
+ # @!method initialize(applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, product_id: nil, specifiers: nil)
3362
3915
  # Some parameter documentations has been truncated, see
3363
- # {MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit}
3916
+ # {MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit}
3364
3917
  # for more details.
3365
3918
  #
3366
- # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
3367
- #
3368
3919
  # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
3369
3920
  #
3370
3921
  # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
@@ -3372,9 +3923,51 @@ module MetronomeSDK
3372
3923
  # @param description [String]
3373
3924
  #
3374
3925
  # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
3926
+ #
3927
+ # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
3928
+ #
3929
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
3930
+
3931
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
3932
+ # @!attribute presentation_group_values
3933
+ #
3934
+ # @return [Hash{Symbol=>String}, nil]
3935
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3936
+
3937
+ # @!attribute pricing_group_values
3938
+ #
3939
+ # @return [Hash{Symbol=>String}, nil]
3940
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3941
+
3942
+ # @!attribute product_id
3943
+ # If provided, the specifier will only apply to the product with the specified ID.
3944
+ #
3945
+ # @return [String, nil]
3946
+ optional :product_id, String
3947
+
3948
+ # @!attribute product_tags
3949
+ # If provided, the specifier will only apply to products with all the specified
3950
+ # tags.
3951
+ #
3952
+ # @return [Array<String>, nil]
3953
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
3954
+
3955
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
3956
+ # Some parameter documentations has been truncated, see
3957
+ # {MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier}
3958
+ # for more details.
3959
+ #
3960
+ # @param presentation_group_values [Hash{Symbol=>String}]
3961
+ #
3962
+ # @param pricing_group_values [Hash{Symbol=>String}]
3963
+ #
3964
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
3965
+ #
3966
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3967
+ end
3375
3968
  end
3376
3969
 
3377
- # @see MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration#payment_gate_config
3970
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration#payment_gate_config
3378
3971
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
3379
3972
  # @!attribute payment_gate_type
3380
3973
  # Gate access to the commit balance based on successful collection of payment.
@@ -3382,7 +3975,7 @@ module MetronomeSDK
3382
3975
  # facilitate payment using your own payment integration. Select NONE if you do not
3383
3976
  # wish to payment gate the commit balance.
3384
3977
  #
3385
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
3978
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
3386
3979
  required :payment_gate_type,
3387
3980
  enum: -> {
3388
3981
  MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType
@@ -3391,7 +3984,7 @@ module MetronomeSDK
3391
3984
  # @!attribute stripe_config
3392
3985
  # Only applicable if using Stripe as your payment gateway through Metronome.
3393
3986
  #
3394
- # @return [MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
3987
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
3395
3988
  optional :stripe_config,
3396
3989
  -> {
3397
3990
  MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
@@ -3402,7 +3995,7 @@ module MetronomeSDK
3402
3995
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
3403
3996
  # will default to NONE.
3404
3997
  #
3405
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
3998
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
3406
3999
  optional :tax_type,
3407
4000
  enum: -> {
3408
4001
  MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType
@@ -3410,21 +4003,21 @@ module MetronomeSDK
3410
4003
 
3411
4004
  # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
3412
4005
  # Some parameter documentations has been truncated, see
3413
- # {MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig}
4006
+ # {MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig}
3414
4007
  # for more details.
3415
4008
  #
3416
- # @param payment_gate_type [Symbol, MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
4009
+ # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
3417
4010
  #
3418
- # @param stripe_config [MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
4011
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
3419
4012
  #
3420
- # @param tax_type [Symbol, MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
4013
+ # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
3421
4014
 
3422
4015
  # Gate access to the commit balance based on successful collection of payment.
3423
4016
  # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
3424
4017
  # facilitate payment using your own payment integration. Select NONE if you do not
3425
4018
  # wish to payment gate the commit balance.
3426
4019
  #
3427
- # @see MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
4020
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
3428
4021
  module PaymentGateType
3429
4022
  extend MetronomeSDK::Internal::Type::Enum
3430
4023
 
@@ -3436,12 +4029,12 @@ module MetronomeSDK
3436
4029
  # @return [Array<Symbol>]
3437
4030
  end
3438
4031
 
3439
- # @see MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
4032
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
3440
4033
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
3441
4034
  # @!attribute payment_type
3442
4035
  # If left blank, will default to INVOICE
3443
4036
  #
3444
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
4037
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
3445
4038
  required :payment_type,
3446
4039
  enum: -> {
3447
4040
  MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
@@ -3450,11 +4043,11 @@ module MetronomeSDK
3450
4043
  # @!method initialize(payment_type:)
3451
4044
  # Only applicable if using Stripe as your payment gateway through Metronome.
3452
4045
  #
3453
- # @param payment_type [Symbol, MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
4046
+ # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
3454
4047
 
3455
4048
  # If left blank, will default to INVOICE
3456
4049
  #
3457
- # @see MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
4050
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
3458
4051
  module PaymentType
3459
4052
  extend MetronomeSDK::Internal::Type::Enum
3460
4053
 
@@ -3470,7 +4063,7 @@ module MetronomeSDK
3470
4063
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
3471
4064
  # will default to NONE.
3472
4065
  #
3473
- # @see MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
4066
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
3474
4067
  module TaxType
3475
4068
  extend MetronomeSDK::Internal::Type::Enum
3476
4069
 
@@ -3483,6 +4076,114 @@ module MetronomeSDK
3483
4076
  end
3484
4077
  end
3485
4078
 
4079
+ class UpdateRecurringCommit < MetronomeSDK::Internal::Type::BaseModel
4080
+ # @!attribute recurring_commit_id
4081
+ #
4082
+ # @return [String]
4083
+ required :recurring_commit_id, String
4084
+
4085
+ # @!attribute access_amount
4086
+ #
4087
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount, nil]
4088
+ optional :access_amount,
4089
+ -> {
4090
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount
4091
+ }
4092
+
4093
+ # @!attribute ending_before
4094
+ #
4095
+ # @return [Time, nil]
4096
+ optional :ending_before, Time, nil?: true
4097
+
4098
+ # @!attribute invoice_amount
4099
+ #
4100
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount, nil]
4101
+ optional :invoice_amount,
4102
+ -> { MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount }
4103
+
4104
+ # @!method initialize(recurring_commit_id:, access_amount: nil, ending_before: nil, invoice_amount: nil)
4105
+ # @param recurring_commit_id [String]
4106
+ # @param access_amount [MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount]
4107
+ # @param ending_before [Time, nil]
4108
+ # @param invoice_amount [MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount]
4109
+
4110
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit#access_amount
4111
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
4112
+ # @!attribute quantity
4113
+ #
4114
+ # @return [Float, nil]
4115
+ optional :quantity, Float
4116
+
4117
+ # @!attribute unit_price
4118
+ #
4119
+ # @return [Float, nil]
4120
+ optional :unit_price, Float
4121
+
4122
+ # @!method initialize(quantity: nil, unit_price: nil)
4123
+ # @param quantity [Float]
4124
+ # @param unit_price [Float]
4125
+ end
4126
+
4127
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit#invoice_amount
4128
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
4129
+ # @!attribute quantity
4130
+ #
4131
+ # @return [Float, nil]
4132
+ optional :quantity, Float
4133
+
4134
+ # @!attribute unit_price
4135
+ #
4136
+ # @return [Float, nil]
4137
+ optional :unit_price, Float
4138
+
4139
+ # @!method initialize(quantity: nil, unit_price: nil)
4140
+ # @param quantity [Float]
4141
+ # @param unit_price [Float]
4142
+ end
4143
+ end
4144
+
4145
+ class UpdateRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
4146
+ # @!attribute recurring_credit_id
4147
+ #
4148
+ # @return [String]
4149
+ required :recurring_credit_id, String
4150
+
4151
+ # @!attribute access_amount
4152
+ #
4153
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount, nil]
4154
+ optional :access_amount,
4155
+ -> {
4156
+ MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount
4157
+ }
4158
+
4159
+ # @!attribute ending_before
4160
+ #
4161
+ # @return [Time, nil]
4162
+ optional :ending_before, Time, nil?: true
4163
+
4164
+ # @!method initialize(recurring_credit_id:, access_amount: nil, ending_before: nil)
4165
+ # @param recurring_credit_id [String]
4166
+ # @param access_amount [MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount]
4167
+ # @param ending_before [Time, nil]
4168
+
4169
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit#access_amount
4170
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
4171
+ # @!attribute quantity
4172
+ #
4173
+ # @return [Float, nil]
4174
+ optional :quantity, Float
4175
+
4176
+ # @!attribute unit_price
4177
+ #
4178
+ # @return [Float, nil]
4179
+ optional :unit_price, Float
4180
+
4181
+ # @!method initialize(quantity: nil, unit_price: nil)
4182
+ # @param quantity [Float]
4183
+ # @param unit_price [Float]
4184
+ end
4185
+ end
4186
+
3486
4187
  class UpdateScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
3487
4188
  # @!attribute scheduled_charge_id
3488
4189
  #
@@ -3491,7 +4192,7 @@ module MetronomeSDK
3491
4192
 
3492
4193
  # @!attribute invoice_schedule
3493
4194
  #
3494
- # @return [MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule, nil]
4195
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule, nil]
3495
4196
  optional :invoice_schedule,
3496
4197
  -> { MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule }
3497
4198
 
@@ -3502,14 +4203,14 @@ module MetronomeSDK
3502
4203
 
3503
4204
  # @!method initialize(scheduled_charge_id:, invoice_schedule: nil, netsuite_sales_order_id: nil)
3504
4205
  # @param scheduled_charge_id [String]
3505
- # @param invoice_schedule [MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule]
4206
+ # @param invoice_schedule [MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule]
3506
4207
  # @param netsuite_sales_order_id [String, nil]
3507
4208
 
3508
- # @see MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge#invoice_schedule
4209
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge#invoice_schedule
3509
4210
  class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
3510
4211
  # @!attribute add_schedule_items
3511
4212
  #
3512
- # @return [Array<MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem>, nil]
4213
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem>, nil]
3513
4214
  optional :add_schedule_items,
3514
4215
  -> {
3515
4216
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem]
@@ -3517,7 +4218,7 @@ module MetronomeSDK
3517
4218
 
3518
4219
  # @!attribute remove_schedule_items
3519
4220
  #
3520
- # @return [Array<MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem>, nil]
4221
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem>, nil]
3521
4222
  optional :remove_schedule_items,
3522
4223
  -> {
3523
4224
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem]
@@ -3525,16 +4226,16 @@ module MetronomeSDK
3525
4226
 
3526
4227
  # @!attribute update_schedule_items
3527
4228
  #
3528
- # @return [Array<MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem>, nil]
4229
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem>, nil]
3529
4230
  optional :update_schedule_items,
3530
4231
  -> {
3531
4232
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem]
3532
4233
  }
3533
4234
 
3534
4235
  # @!method initialize(add_schedule_items: nil, remove_schedule_items: nil, update_schedule_items: nil)
3535
- # @param add_schedule_items [Array<MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem>]
3536
- # @param remove_schedule_items [Array<MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem>]
3537
- # @param update_schedule_items [Array<MetronomeSDK::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem>]
4236
+ # @param add_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem>]
4237
+ # @param remove_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem>]
4238
+ # @param update_schedule_items [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem>]
3538
4239
 
3539
4240
  class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
3540
4241
  # @!attribute timestamp
@@ -3613,7 +4314,7 @@ module MetronomeSDK
3613
4314
  class UpdateSpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
3614
4315
  # @!attribute commit
3615
4316
  #
3616
- # @return [MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::Commit, nil]
4317
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::Commit, nil]
3617
4318
  optional :commit,
3618
4319
  -> {
3619
4320
  MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::Commit
@@ -3629,7 +4330,7 @@ module MetronomeSDK
3629
4330
 
3630
4331
  # @!attribute payment_gate_config
3631
4332
  #
3632
- # @return [MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig, nil]
4333
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig, nil]
3633
4334
  optional :payment_gate_config,
3634
4335
  -> {
3635
4336
  MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig
@@ -3644,49 +4345,51 @@ module MetronomeSDK
3644
4345
 
3645
4346
  # @!method initialize(commit: nil, is_enabled: nil, payment_gate_config: nil, threshold_amount: nil)
3646
4347
  # Some parameter documentations has been truncated, see
3647
- # {MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration} for
3648
- # more details.
4348
+ # {MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration}
4349
+ # for more details.
3649
4350
  #
3650
- # @param commit [MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::Commit]
4351
+ # @param commit [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::Commit]
3651
4352
  #
3652
4353
  # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
3653
4354
  #
3654
- # @param payment_gate_config [MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig]
4355
+ # @param payment_gate_config [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig]
3655
4356
  #
3656
4357
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
3657
4358
 
3658
- # @see MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration#commit
4359
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration#commit
3659
4360
  class Commit < MetronomeSDK::Internal::Type::BaseModel
3660
4361
  # @!attribute description
3661
4362
  #
3662
4363
  # @return [String, nil]
3663
- optional :description, String, nil?: true
4364
+ optional :description, String
3664
4365
 
3665
4366
  # @!attribute name
3666
4367
  # Specify the name of the line item for the threshold charge. If left blank, it
3667
4368
  # will default to the commit product name.
3668
4369
  #
3669
4370
  # @return [String, nil]
3670
- optional :name, String, nil?: true
4371
+ optional :name, String
3671
4372
 
3672
4373
  # @!attribute product_id
4374
+ # The commit product that will be used to generate the line item for commit
4375
+ # payment.
3673
4376
  #
3674
4377
  # @return [String, nil]
3675
4378
  optional :product_id, String
3676
4379
 
3677
4380
  # @!method initialize(description: nil, name: nil, product_id: nil)
3678
4381
  # Some parameter documentations has been truncated, see
3679
- # {MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::Commit}
4382
+ # {MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::Commit}
3680
4383
  # for more details.
3681
4384
  #
3682
- # @param description [String, nil]
4385
+ # @param description [String]
3683
4386
  #
3684
- # @param name [String, nil] Specify the name of the line item for the threshold charge. If left blank, it wi
4387
+ # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
3685
4388
  #
3686
- # @param product_id [String]
4389
+ # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
3687
4390
  end
3688
4391
 
3689
- # @see MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration#payment_gate_config
4392
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration#payment_gate_config
3690
4393
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
3691
4394
  # @!attribute payment_gate_type
3692
4395
  # Gate access to the commit balance based on successful collection of payment.
@@ -3694,7 +4397,7 @@ module MetronomeSDK
3694
4397
  # facilitate payment using your own payment integration. Select NONE if you do not
3695
4398
  # wish to payment gate the commit balance.
3696
4399
  #
3697
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
4400
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
3698
4401
  required :payment_gate_type,
3699
4402
  enum: -> {
3700
4403
  MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType
@@ -3703,7 +4406,7 @@ module MetronomeSDK
3703
4406
  # @!attribute stripe_config
3704
4407
  # Only applicable if using Stripe as your payment gateway through Metronome.
3705
4408
  #
3706
- # @return [MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
4409
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
3707
4410
  optional :stripe_config,
3708
4411
  -> {
3709
4412
  MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig
@@ -3714,7 +4417,7 @@ module MetronomeSDK
3714
4417
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
3715
4418
  # will default to NONE.
3716
4419
  #
3717
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
4420
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
3718
4421
  optional :tax_type,
3719
4422
  enum: -> {
3720
4423
  MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType
@@ -3722,21 +4425,21 @@ module MetronomeSDK
3722
4425
 
3723
4426
  # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
3724
4427
  # Some parameter documentations has been truncated, see
3725
- # {MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig}
4428
+ # {MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig}
3726
4429
  # for more details.
3727
4430
  #
3728
- # @param payment_gate_type [Symbol, MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
4431
+ # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
3729
4432
  #
3730
- # @param stripe_config [MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
4433
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
3731
4434
  #
3732
- # @param tax_type [Symbol, MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
4435
+ # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
3733
4436
 
3734
4437
  # Gate access to the commit balance based on successful collection of payment.
3735
4438
  # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
3736
4439
  # facilitate payment using your own payment integration. Select NONE if you do not
3737
4440
  # wish to payment gate the commit balance.
3738
4441
  #
3739
- # @see MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
4442
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
3740
4443
  module PaymentGateType
3741
4444
  extend MetronomeSDK::Internal::Type::Enum
3742
4445
 
@@ -3748,12 +4451,12 @@ module MetronomeSDK
3748
4451
  # @return [Array<Symbol>]
3749
4452
  end
3750
4453
 
3751
- # @see MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig#stripe_config
4454
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig#stripe_config
3752
4455
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
3753
4456
  # @!attribute payment_type
3754
4457
  # If left blank, will default to INVOICE
3755
4458
  #
3756
- # @return [Symbol, MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
4459
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
3757
4460
  required :payment_type,
3758
4461
  enum: -> {
3759
4462
  MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
@@ -3762,11 +4465,11 @@ module MetronomeSDK
3762
4465
  # @!method initialize(payment_type:)
3763
4466
  # Only applicable if using Stripe as your payment gateway through Metronome.
3764
4467
  #
3765
- # @param payment_type [Symbol, MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
4468
+ # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
3766
4469
 
3767
4470
  # If left blank, will default to INVOICE
3768
4471
  #
3769
- # @see MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
4472
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
3770
4473
  module PaymentType
3771
4474
  extend MetronomeSDK::Internal::Type::Enum
3772
4475
 
@@ -3782,7 +4485,7 @@ module MetronomeSDK
3782
4485
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
3783
4486
  # will default to NONE.
3784
4487
  #
3785
- # @see MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig#tax_type
4488
+ # @see MetronomeSDK::Models::V2::ContractEditParams::UpdateSpendThresholdConfiguration::PaymentGateConfig#tax_type
3786
4489
  module TaxType
3787
4490
  extend MetronomeSDK::Internal::Type::Enum
3788
4491
 
@@ -3794,6 +4497,73 @@ module MetronomeSDK
3794
4497
  end
3795
4498
  end
3796
4499
  end
4500
+
4501
+ class UpdateSubscription < MetronomeSDK::Internal::Type::BaseModel
4502
+ # @!attribute subscription_id
4503
+ #
4504
+ # @return [String]
4505
+ required :subscription_id, String
4506
+
4507
+ # @!attribute ending_before
4508
+ #
4509
+ # @return [Time, nil]
4510
+ optional :ending_before, Time, nil?: true
4511
+
4512
+ # @!attribute quantity_updates
4513
+ # Quantity changes are applied on the effective date based on the order which they
4514
+ # are sent. For example, if I scheduled the quantity to be 12 on May 21 and then
4515
+ # scheduled a quantity delta change of -1, the result from that day would be 11.
4516
+ #
4517
+ # @return [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::QuantityUpdate>, nil]
4518
+ optional :quantity_updates,
4519
+ -> {
4520
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate]
4521
+ }
4522
+
4523
+ # @!method initialize(subscription_id:, ending_before: nil, quantity_updates: nil)
4524
+ # Some parameter documentations has been truncated, see
4525
+ # {MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription} for more
4526
+ # details.
4527
+ #
4528
+ # @param subscription_id [String]
4529
+ #
4530
+ # @param ending_before [Time, nil]
4531
+ #
4532
+ # @param quantity_updates [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::QuantityUpdate>] Quantity changes are applied on the effective date based on the order which they
4533
+
4534
+ class QuantityUpdate < MetronomeSDK::Internal::Type::BaseModel
4535
+ # @!attribute starting_at
4536
+ #
4537
+ # @return [Time]
4538
+ required :starting_at, Time
4539
+
4540
+ # @!attribute quantity
4541
+ # The new quantity for the subscription. Must be provided if quantity_delta is not
4542
+ # provided. Must be non-negative.
4543
+ #
4544
+ # @return [Float, nil]
4545
+ optional :quantity, Float
4546
+
4547
+ # @!attribute quantity_delta
4548
+ # The delta to add to the subscription's quantity. Must be provided if quantity is
4549
+ # not provided. Can't be zero. It also can't result in a negative quantity on the
4550
+ # subscription.
4551
+ #
4552
+ # @return [Float, nil]
4553
+ optional :quantity_delta, Float
4554
+
4555
+ # @!method initialize(starting_at:, quantity: nil, quantity_delta: nil)
4556
+ # Some parameter documentations has been truncated, see
4557
+ # {MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::QuantityUpdate}
4558
+ # for more details.
4559
+ #
4560
+ # @param starting_at [Time]
4561
+ #
4562
+ # @param quantity [Float] The new quantity for the subscription. Must be provided if quantity_delta is not
4563
+ #
4564
+ # @param quantity_delta [Float] The delta to add to the subscription's quantity. Must be provided if quantity is
4565
+ end
4566
+ end
3797
4567
  end
3798
4568
  end
3799
4569
  end