metronome-sdk 0.1.0.pre.alpha.1 → 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 (723) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +97 -0
  3. data/README.md +138 -81
  4. data/SECURITY.md +2 -2
  5. data/lib/metronome_sdk/client.rb +4 -4
  6. data/lib/metronome_sdk/errors.rb +1 -1
  7. data/lib/metronome_sdk/file_part.rb +2 -2
  8. data/lib/metronome_sdk/internal/cursor_page.rb +3 -3
  9. data/lib/metronome_sdk/internal/transport/base_client.rb +80 -8
  10. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +17 -1
  11. data/lib/metronome_sdk/internal/type/array_of.rb +9 -1
  12. data/lib/metronome_sdk/internal/type/base_model.rb +76 -39
  13. data/lib/metronome_sdk/internal/type/boolean.rb +8 -0
  14. data/lib/metronome_sdk/internal/type/converter.rb +18 -0
  15. data/lib/metronome_sdk/internal/type/enum.rb +13 -0
  16. data/lib/metronome_sdk/internal/type/file_input.rb +7 -0
  17. data/lib/metronome_sdk/internal/type/hash_of.rb +9 -1
  18. data/lib/metronome_sdk/internal/type/request_parameters.rb +6 -12
  19. data/lib/metronome_sdk/internal/type/union.rb +13 -0
  20. data/lib/metronome_sdk/internal/type/unknown.rb +8 -0
  21. data/lib/metronome_sdk/internal/util.rb +131 -6
  22. data/lib/metronome_sdk/internal.rb +9 -0
  23. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +14 -3
  24. data/lib/metronome_sdk/models/v1/alert_create_params.rb +8 -16
  25. data/lib/metronome_sdk/models/v1/alert_create_response.rb +14 -3
  26. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +1 -4
  27. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +8 -2
  28. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +14 -3
  29. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +86 -12
  30. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +14 -3
  31. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +84 -10
  32. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +85 -10
  33. data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +0 -2
  34. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +241 -98
  35. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +14 -3
  36. data/lib/metronome_sdk/models/v1/contract_archive_params.rb +0 -1
  37. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +14 -3
  38. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +15 -9
  39. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +1276 -3
  40. data/lib/metronome_sdk/models/v1/contract_create_params.rb +933 -402
  41. data/lib/metronome_sdk/models/v1/contract_create_response.rb +14 -3
  42. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +0 -2
  43. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +1645 -5
  44. data/lib/metronome_sdk/models/v1/contract_list_params.rb +0 -4
  45. data/lib/metronome_sdk/models/v1/contract_list_response.rb +11371 -152
  46. data/lib/metronome_sdk/models/v1/contract_retrieve_params.rb +0 -2
  47. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +32 -7
  48. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +317 -11
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +11400 -152
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rb +34 -0
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rb +81 -0
  52. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +3 -3
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +1276 -3
  54. data/lib/metronome_sdk/models/v1/contract_update_end_date_params.rb +0 -2
  55. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +14 -3
  56. data/lib/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rb +0 -1
  57. data/lib/metronome_sdk/models/v1/contracts/named_schedule_update_params.rb +0 -1
  58. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +14 -3
  59. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +98 -13
  60. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +14 -3
  61. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +4 -5
  62. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +561 -16
  63. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +8 -2
  64. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +561 -16
  65. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +97 -18
  66. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +14 -3
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +24 -0
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +31 -0
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +6 -4
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +14 -3
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +42 -6
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +8 -2
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +32 -6
  74. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +181 -8
  75. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +42 -6
  76. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +3 -2
  77. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +14 -3
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rb +0 -1
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rb +0 -1
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +14 -3
  81. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +3 -1
  82. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +14 -3
  83. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +83 -18
  84. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +16 -3
  85. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +74 -17
  86. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +61 -15
  87. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +32 -6
  88. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +180 -8
  89. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +81 -15
  90. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +14 -3
  91. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +14 -3
  92. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +0 -4
  93. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +153 -15
  94. data/lib/metronome_sdk/models/v1/credit_grant_list_params.rb +0 -3
  95. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +175 -18
  96. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +14 -3
  97. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +1 -1
  98. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +1 -1
  99. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +3 -1
  100. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +1 -1
  101. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +1 -1
  102. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +8 -2
  103. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +14 -3
  104. data/lib/metronome_sdk/models/v1/customer_create_params.rb +13 -12
  105. data/lib/metronome_sdk/models/v1/customer_create_response.rb +50 -3
  106. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_params.rb +0 -1
  107. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +85 -10
  108. data/lib/metronome_sdk/models/v1/customer_list_params.rb +0 -2
  109. data/lib/metronome_sdk/models/v1/{customer_detail.rb → customer_list_response.rb} +15 -17
  110. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +126 -3
  111. data/lib/metronome_sdk/models/v1/customer_set_name_params.rb +0 -1
  112. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +50 -3
  113. data/lib/metronome_sdk/models/v1/customer_update_config_params.rb +0 -1
  114. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +3 -2
  115. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +276 -3
  116. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +26 -1
  117. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +279 -3
  118. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +3 -5
  119. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +1 -1
  120. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +1 -1
  121. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +0 -3
  122. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +72 -27
  123. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +14 -3
  124. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +0 -2
  125. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +1047 -3
  126. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_params.rb +0 -2
  127. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +14 -3
  128. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +58 -9
  129. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +14 -3
  130. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +0 -2
  131. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +593 -3
  132. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_params.rb +0 -1
  133. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +14 -3
  134. data/lib/metronome_sdk/models/v1/customers/invoice_add_charge_params.rb +0 -2
  135. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +4 -6
  136. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +1271 -2
  137. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +1 -4
  138. data/lib/metronome_sdk/models/v1/customers/{invoice.rb → invoice_list_response.rb} +321 -117
  139. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +1276 -3
  140. data/lib/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rb +0 -1
  141. data/lib/metronome_sdk/models/v1/customers/named_schedule_update_params.rb +0 -1
  142. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +9 -14
  143. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +14 -3
  144. data/lib/metronome_sdk/models/v1/customers/plan_end_params.rb +0 -3
  145. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +21 -3
  146. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +11 -7
  147. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +286 -3
  148. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +20 -6
  149. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +2 -2
  150. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +128 -3
  151. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +3 -1
  152. data/lib/metronome_sdk/models/v1/usage_list_params.rb +5 -7
  153. data/lib/metronome_sdk/models/v1/usage_list_response.rb +0 -1
  154. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +2 -5
  155. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +73 -11
  156. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +14 -3
  157. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +63 -7
  158. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +14 -3
  159. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1751 -462
  160. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +14 -3
  161. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +2212 -142
  162. data/lib/metronome_sdk/models/v2/contract_list_params.rb +0 -4
  163. data/lib/metronome_sdk/models/v2/contract_list_response.rb +1485 -342
  164. data/lib/metronome_sdk/models/v2/contract_retrieve_params.rb +0 -3
  165. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +1482 -336
  166. data/lib/metronome_sdk/models.rb +45 -0
  167. data/lib/metronome_sdk/request_options.rb +4 -0
  168. data/lib/metronome_sdk/resources/v1/alerts.rb +2 -12
  169. data/lib/metronome_sdk/resources/v1/audit_logs.rb +1 -4
  170. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +6 -10
  171. data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +2 -4
  172. data/lib/metronome_sdk/resources/v1/contracts/products.rb +13 -28
  173. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +2 -5
  174. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +2 -4
  175. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +7 -13
  176. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +26 -11
  177. data/lib/metronome_sdk/resources/v1/contracts.rb +43 -35
  178. data/lib/metronome_sdk/resources/v1/credit_grants.rb +6 -18
  179. data/lib/metronome_sdk/resources/v1/custom_fields.rb +5 -5
  180. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +9 -5
  181. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +3 -4
  182. data/lib/metronome_sdk/resources/v1/customers/commits.rb +6 -17
  183. data/lib/metronome_sdk/resources/v1/customers/credits.rb +6 -12
  184. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +6 -18
  185. data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +2 -4
  186. data/lib/metronome_sdk/resources/v1/customers/plans.rb +4 -14
  187. data/lib/metronome_sdk/resources/v1/customers.rb +13 -19
  188. data/lib/metronome_sdk/resources/v1/dashboards.rb +1 -1
  189. data/lib/metronome_sdk/resources/v1/invoices.rb +2 -2
  190. data/lib/metronome_sdk/resources/v1/plans.rb +5 -5
  191. data/lib/metronome_sdk/resources/v1/pricing_units.rb +1 -1
  192. data/lib/metronome_sdk/resources/v1/usage.rb +3 -8
  193. data/lib/metronome_sdk/resources/v2/contracts.rb +32 -20
  194. data/lib/metronome_sdk/version.rb +1 -1
  195. data/lib/metronome_sdk.rb +12 -28
  196. data/rbi/metronome_sdk/client.rbi +5 -4
  197. data/rbi/metronome_sdk/errors.rbi +34 -15
  198. data/rbi/metronome_sdk/file_part.rbi +9 -6
  199. data/rbi/metronome_sdk/internal/cursor_page.rbi +2 -1
  200. data/rbi/metronome_sdk/internal/transport/base_client.rbi +165 -77
  201. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +33 -13
  202. data/rbi/metronome_sdk/internal/type/array_of.rbi +40 -24
  203. data/rbi/metronome_sdk/internal/type/base_model.rbi +160 -70
  204. data/rbi/metronome_sdk/internal/type/base_page.rbi +13 -8
  205. data/rbi/metronome_sdk/internal/type/boolean.rbi +22 -14
  206. data/rbi/metronome_sdk/internal/type/converter.rbi +72 -28
  207. data/rbi/metronome_sdk/internal/type/enum.rbi +29 -13
  208. data/rbi/metronome_sdk/internal/type/file_input.rbi +13 -4
  209. data/rbi/metronome_sdk/internal/type/hash_of.rbi +40 -24
  210. data/rbi/metronome_sdk/internal/type/request_parameters.rbi +14 -4
  211. data/rbi/metronome_sdk/internal/type/union.rbi +58 -22
  212. data/rbi/metronome_sdk/internal/type/unknown.rbi +22 -6
  213. data/rbi/metronome_sdk/internal/util.rbi +272 -89
  214. data/rbi/metronome_sdk/internal.rbi +7 -0
  215. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +22 -11
  216. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +49 -6
  217. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +175 -81
  218. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +49 -6
  219. data/rbi/metronome_sdk/models/v1/audit_log_list_params.rbi +59 -26
  220. data/rbi/metronome_sdk/models/v1/audit_log_list_response.rbi +127 -45
  221. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +25 -6
  222. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +56 -6
  223. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +253 -41
  224. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +55 -6
  225. data/rbi/metronome_sdk/models/v1/billable_metric_list_params.rbi +23 -14
  226. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +253 -41
  227. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_params.rbi +22 -6
  228. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +264 -50
  229. data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +27 -18
  230. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +1808 -784
  231. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +49 -6
  232. data/rbi/metronome_sdk/models/v1/contract_archive_params.rbi +23 -14
  233. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +51 -6
  234. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +178 -110
  235. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +2611 -6
  236. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +4937 -2578
  237. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +49 -6
  238. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +30 -21
  239. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3411 -15
  240. data/rbi/metronome_sdk/models/v1/contract_list_params.rbi +26 -17
  241. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +24250 -325
  242. data/rbi/metronome_sdk/models/v1/contract_retrieve_params.rbi +24 -15
  243. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +143 -45
  244. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +804 -74
  245. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +24250 -337
  246. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbi +58 -0
  247. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbi +212 -0
  248. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbi +66 -41
  249. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +2611 -6
  250. data/rbi/metronome_sdk/models/v1/contract_set_usage_filter_params.rbi +22 -15
  251. data/rbi/metronome_sdk/models/v1/contract_update_end_date_params.rbi +24 -15
  252. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +56 -6
  253. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbi +23 -14
  254. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbi +54 -17
  255. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbi +25 -16
  256. data/rbi/metronome_sdk/models/v1/contracts/product_archive_params.rbi +23 -6
  257. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +58 -6
  258. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +308 -46
  259. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +58 -6
  260. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +66 -28
  261. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +1247 -90
  262. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +25 -6
  263. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +1278 -116
  264. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +257 -33
  265. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +58 -6
  266. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +42 -0
  267. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +75 -0
  268. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +109 -45
  269. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +58 -6
  270. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_params.rbi +23 -14
  271. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +182 -55
  272. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +25 -6
  273. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +138 -44
  274. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +509 -71
  275. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +213 -81
  276. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_params.rbi +70 -25
  277. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +58 -6
  278. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbi +24 -15
  279. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbi +54 -19
  280. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbi +26 -17
  281. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbi +22 -13
  282. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +58 -6
  283. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbi +55 -24
  284. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +58 -6
  285. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +323 -98
  286. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +60 -6
  287. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +310 -78
  288. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +277 -81
  289. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +144 -44
  290. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +482 -51
  291. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +303 -80
  292. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +53 -6
  293. data/rbi/metronome_sdk/models/v1/credit_grant_edit_params.rbi +24 -15
  294. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +51 -6
  295. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +25 -16
  296. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +383 -77
  297. data/rbi/metronome_sdk/models/v1/credit_grant_list_params.rbi +27 -18
  298. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +436 -72
  299. data/rbi/metronome_sdk/models/v1/credit_grant_void_params.rbi +23 -14
  300. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +51 -6
  301. data/rbi/metronome_sdk/models/v1/custom_field_add_key_params.rbi +122 -37
  302. data/rbi/metronome_sdk/models/v1/custom_field_delete_values_params.rbi +120 -37
  303. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_params.rbi +140 -37
  304. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +136 -43
  305. data/rbi/metronome_sdk/models/v1/custom_field_remove_key_params.rbi +126 -36
  306. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +127 -37
  307. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +25 -6
  308. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +51 -6
  309. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +247 -158
  310. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +96 -7
  311. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbi +25 -16
  312. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +237 -44
  313. data/rbi/metronome_sdk/models/v1/customer_list_costs_params.rbi +25 -16
  314. data/rbi/metronome_sdk/models/v1/customer_list_costs_response.rbi +100 -49
  315. data/rbi/metronome_sdk/models/v1/customer_list_params.rbi +26 -17
  316. data/rbi/metronome_sdk/models/v1/customer_list_response.rbi +242 -0
  317. data/rbi/metronome_sdk/models/v1/customer_retrieve_params.rbi +22 -6
  318. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +267 -7
  319. data/rbi/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbi +21 -13
  320. data/rbi/metronome_sdk/models/v1/customer_set_name_params.rbi +22 -6
  321. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +98 -7
  322. data/rbi/metronome_sdk/models/v1/customer_update_config_params.rbi +23 -14
  323. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +69 -25
  324. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +641 -9
  325. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +15 -5
  326. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +77 -5
  327. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +642 -8
  328. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +129 -79
  329. data/rbi/metronome_sdk/models/v1/customers/billing_config_delete_params.rbi +54 -29
  330. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbi +54 -29
  331. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +111 -68
  332. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +429 -171
  333. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +58 -6
  334. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +30 -21
  335. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +2183 -6
  336. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbi +24 -15
  337. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +58 -6
  338. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +250 -66
  339. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +58 -6
  340. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +30 -21
  341. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +1243 -6
  342. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbi +23 -14
  343. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +58 -6
  344. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbi +27 -18
  345. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbi +12 -2
  346. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbi +101 -43
  347. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +2579 -5
  348. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +70 -28
  349. data/rbi/metronome_sdk/models/v1/customers/invoice_list_response.rbi +2587 -0
  350. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbi +23 -14
  351. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +2628 -7
  352. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbi +23 -14
  353. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbi +54 -17
  354. data/rbi/metronome_sdk/models/v1/customers/named_schedule_update_params.rbi +25 -16
  355. data/rbi/metronome_sdk/models/v1/customers/plan_add_params.rbi +205 -119
  356. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +55 -6
  357. data/rbi/metronome_sdk/models/v1/customers/plan_end_params.rbi +25 -16
  358. data/rbi/metronome_sdk/models/v1/customers/plan_end_response.rbi +12 -2
  359. data/rbi/metronome_sdk/models/v1/customers/plan_list_params.rbi +23 -14
  360. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbi +24 -15
  361. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +98 -48
  362. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +133 -50
  363. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +215 -122
  364. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbi +44 -13
  365. data/rbi/metronome_sdk/models/v1/invoice_regenerate_params.rbi +20 -9
  366. data/rbi/metronome_sdk/models/v1/invoice_regenerate_response.rbi +42 -13
  367. data/rbi/metronome_sdk/models/v1/invoice_void_params.rbi +20 -9
  368. data/rbi/metronome_sdk/models/v1/invoice_void_response.rbi +41 -11
  369. data/rbi/metronome_sdk/models/v1/plan_get_details_params.rbi +19 -6
  370. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +572 -7
  371. data/rbi/metronome_sdk/models/v1/plan_list_charges_params.rbi +23 -14
  372. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +200 -76
  373. data/rbi/metronome_sdk/models/v1/plan_list_customers_params.rbi +71 -25
  374. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +300 -32
  375. data/rbi/metronome_sdk/models/v1/plan_list_params.rbi +22 -6
  376. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +18 -4
  377. data/rbi/metronome_sdk/models/v1/pricing_unit_list_params.rbi +22 -6
  378. data/rbi/metronome_sdk/models/v1/pricing_unit_list_response.rbi +23 -5
  379. data/rbi/metronome_sdk/models/v1/service_list_params.rbi +18 -5
  380. data/rbi/metronome_sdk/models/v1/service_list_response.rbi +73 -24
  381. data/rbi/metronome_sdk/models/v1/usage_ingest_params.rbi +51 -31
  382. data/rbi/metronome_sdk/models/v1/usage_list_params.rbi +126 -45
  383. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +51 -24
  384. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +96 -37
  385. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +28 -14
  386. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +425 -169
  387. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +53 -6
  388. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +274 -89
  389. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +53 -6
  390. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +6953 -2830
  391. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +49 -6
  392. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_params.rbi +14 -5
  393. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +8529 -3060
  394. data/rbi/metronome_sdk/models/v2/contract_list_params.rbi +26 -17
  395. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +7013 -3240
  396. data/rbi/metronome_sdk/models/v2/contract_retrieve_params.rbi +25 -16
  397. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +7017 -3332
  398. data/rbi/metronome_sdk/models.rbi +7 -0
  399. data/rbi/metronome_sdk/request_options.rbi +18 -7
  400. data/rbi/metronome_sdk/resources/v1/alerts.rbi +25 -13
  401. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +11 -5
  402. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +35 -17
  403. data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +13 -8
  404. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +61 -23
  405. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +16 -9
  406. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +21 -14
  407. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +45 -31
  408. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +77 -33
  409. data/rbi/metronome_sdk/resources/v1/contracts.rbi +170 -105
  410. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +36 -26
  411. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +34 -26
  412. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +34 -11
  413. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +28 -17
  414. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +35 -22
  415. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +31 -17
  416. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +36 -18
  417. data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +13 -8
  418. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +38 -30
  419. data/rbi/metronome_sdk/resources/v1/customers.rbi +69 -39
  420. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +21 -24
  421. data/rbi/metronome_sdk/resources/v1/invoices.rbi +16 -7
  422. data/rbi/metronome_sdk/resources/v1/plans.rbi +37 -14
  423. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +14 -4
  424. data/rbi/metronome_sdk/resources/v1/services.rbi +9 -3
  425. data/rbi/metronome_sdk/resources/v1/usage.rbi +30 -17
  426. data/rbi/metronome_sdk/resources/v1.rbi +2 -1
  427. data/rbi/metronome_sdk/resources/v2/contracts.rbi +167 -69
  428. data/rbi/metronome_sdk/resources/v2.rbi +2 -1
  429. data/sig/metronome_sdk/internal/transport/base_client.rbs +16 -1
  430. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +4 -0
  431. data/sig/metronome_sdk/internal/type/array_of.rbs +3 -0
  432. data/sig/metronome_sdk/internal/type/base_model.rbs +13 -5
  433. data/sig/metronome_sdk/internal/type/base_page.rbs +1 -1
  434. data/sig/metronome_sdk/internal/type/boolean.rbs +3 -0
  435. data/sig/metronome_sdk/internal/type/converter.rbs +2 -0
  436. data/sig/metronome_sdk/internal/type/enum.rbs +3 -0
  437. data/sig/metronome_sdk/internal/type/file_input.rbs +2 -0
  438. data/sig/metronome_sdk/internal/type/hash_of.rbs +3 -0
  439. data/sig/metronome_sdk/internal/type/request_parameters.rbs +5 -1
  440. data/sig/metronome_sdk/internal/type/union.rbs +3 -0
  441. data/sig/metronome_sdk/internal/type/unknown.rbs +3 -0
  442. data/sig/metronome_sdk/internal/util.rbs +27 -0
  443. data/sig/metronome_sdk/internal.rbs +4 -0
  444. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +5 -1
  445. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +19 -4
  446. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +32 -13
  447. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +19 -4
  448. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +10 -1
  449. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +13 -3
  450. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +12 -4
  451. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +19 -4
  452. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +82 -11
  453. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +19 -4
  454. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +6 -1
  455. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +83 -11
  456. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +4 -1
  457. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +86 -12
  458. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +10 -1
  459. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +481 -160
  460. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +19 -4
  461. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +6 -1
  462. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +19 -4
  463. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +42 -15
  464. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +1291 -4
  465. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1196 -401
  466. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +19 -4
  467. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +13 -1
  468. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1647 -3
  469. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +9 -1
  470. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +11114 -146
  471. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +7 -1
  472. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +42 -7
  473. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +312 -16
  474. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +11114 -146
  475. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbs +34 -0
  476. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbs +101 -0
  477. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +22 -5
  478. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +1291 -4
  479. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +8 -1
  480. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +7 -1
  481. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +18 -4
  482. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +6 -1
  483. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +8 -2
  484. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +8 -1
  485. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +4 -1
  486. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +21 -4
  487. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +97 -7
  488. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +21 -4
  489. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +6 -1
  490. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +489 -14
  491. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +12 -4
  492. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +492 -15
  493. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +98 -7
  494. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +21 -4
  495. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +27 -0
  496. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +34 -0
  497. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +28 -13
  498. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +21 -4
  499. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +6 -1
  500. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +52 -11
  501. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +12 -4
  502. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +41 -7
  503. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +185 -11
  504. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +55 -12
  505. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +17 -7
  506. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +21 -4
  507. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +7 -1
  508. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +8 -2
  509. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +9 -1
  510. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +5 -1
  511. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +21 -4
  512. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +9 -5
  513. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +20 -4
  514. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +94 -21
  515. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +21 -4
  516. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +88 -17
  517. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +75 -18
  518. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +41 -7
  519. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +181 -10
  520. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +102 -18
  521. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +19 -4
  522. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +7 -1
  523. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +19 -4
  524. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +8 -1
  525. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +140 -14
  526. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +10 -1
  527. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +169 -17
  528. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +6 -1
  529. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +19 -4
  530. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +6 -1
  531. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +6 -1
  532. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +5 -1
  533. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +9 -2
  534. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +5 -1
  535. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +6 -1
  536. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +12 -4
  537. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +19 -4
  538. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +33 -13
  539. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +47 -4
  540. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +8 -1
  541. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +87 -11
  542. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +8 -1
  543. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +16 -3
  544. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +9 -1
  545. data/sig/metronome_sdk/models/v1/{customer_detail.rbs → customer_list_response.rbs} +30 -17
  546. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +4 -1
  547. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +112 -4
  548. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +5 -1
  549. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +5 -1
  550. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +47 -4
  551. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +6 -1
  552. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +6 -1
  553. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +246 -4
  554. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +5 -1
  555. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +29 -2
  556. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +247 -4
  557. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +9 -1
  558. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +5 -1
  559. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +5 -1
  560. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +14 -2
  561. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +123 -27
  562. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +21 -4
  563. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +13 -1
  564. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +1060 -4
  565. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +7 -1
  566. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +20 -4
  567. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +85 -9
  568. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +21 -4
  569. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +13 -1
  570. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +599 -4
  571. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +6 -1
  572. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +20 -4
  573. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +10 -1
  574. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +1 -1
  575. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +13 -1
  576. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +1281 -8
  577. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +12 -1
  578. data/sig/metronome_sdk/models/v1/customers/{invoice.rbs → invoice_list_response.rbs} +432 -137
  579. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +6 -1
  580. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +1292 -4
  581. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +6 -1
  582. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +8 -2
  583. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +8 -1
  584. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +49 -25
  585. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +19 -4
  586. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +8 -1
  587. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +1 -1
  588. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +6 -1
  589. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +7 -1
  590. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +12 -2
  591. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +35 -6
  592. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +33 -19
  593. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +4 -2
  594. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +4 -1
  595. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +4 -2
  596. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +4 -1
  597. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +4 -2
  598. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +4 -1
  599. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +266 -4
  600. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +6 -1
  601. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +40 -6
  602. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +7 -1
  603. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +119 -5
  604. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +5 -1
  605. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +6 -1
  606. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +5 -1
  607. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +1 -1
  608. data/sig/metronome_sdk/models/v1/service_list_params.rbs +1 -1
  609. data/sig/metronome_sdk/models/v1/service_list_response.rbs +8 -2
  610. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +16 -7
  611. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +24 -13
  612. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +13 -2
  613. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +18 -7
  614. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +7 -1
  615. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +141 -50
  616. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +19 -4
  617. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +100 -26
  618. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +19 -4
  619. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +1888 -430
  620. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +19 -4
  621. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +5 -1
  622. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2826 -521
  623. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +9 -1
  624. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +1849 -334
  625. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +8 -1
  626. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +1849 -334
  627. data/sig/metronome_sdk/models.rbs +5 -0
  628. data/sig/metronome_sdk/request_options.rbs +1 -1
  629. data/sig/metronome_sdk/resources/v1/alerts.rbs +2 -2
  630. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  631. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  632. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbs +1 -1
  633. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +5 -4
  634. data/sig/metronome_sdk/resources/v1/contracts/rate_cards.rbs +9 -4
  635. data/sig/metronome_sdk/resources/v1/contracts.rbs +33 -25
  636. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +3 -3
  637. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  638. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +3 -2
  639. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -1
  640. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  641. data/sig/metronome_sdk/resources/v1/customers/plans.rbs +3 -3
  642. data/sig/metronome_sdk/resources/v1/customers.rbs +3 -3
  643. data/sig/metronome_sdk/resources/v1/dashboards.rbs +3 -3
  644. data/sig/metronome_sdk/resources/v1/usage.rbs +3 -3
  645. data/sig/metronome_sdk/resources/v2/contracts.rbs +31 -21
  646. metadata +25 -85
  647. data/lib/metronome_sdk/models/base_usage_filter.rb +0 -27
  648. data/lib/metronome_sdk/models/commit.rb +0 -848
  649. data/lib/metronome_sdk/models/contract_without_amendments.rb +0 -1431
  650. data/lib/metronome_sdk/models/credit.rb +0 -476
  651. data/lib/metronome_sdk/models/credit_type_data.rb +0 -21
  652. data/lib/metronome_sdk/models/discount.rb +0 -68
  653. data/lib/metronome_sdk/models/event_type_filter.rb +0 -35
  654. data/lib/metronome_sdk/models/id.rb +0 -15
  655. data/lib/metronome_sdk/models/override.rb +0 -368
  656. data/lib/metronome_sdk/models/pro_service.rb +0 -75
  657. data/lib/metronome_sdk/models/property_filter.rb +0 -55
  658. data/lib/metronome_sdk/models/rate.rb +0 -106
  659. data/lib/metronome_sdk/models/schedule_duration.rb +0 -50
  660. data/lib/metronome_sdk/models/schedule_point_in_time.rb +0 -62
  661. data/lib/metronome_sdk/models/scheduled_charge.rb +0 -76
  662. data/lib/metronome_sdk/models/tier.rb +0 -21
  663. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +0 -152
  664. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +0 -57
  665. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +0 -43
  666. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +0 -71
  667. data/lib/metronome_sdk/models/v1/customer.rb +0 -55
  668. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +0 -269
  669. data/lib/metronome_sdk/models/v1/plan_detail.rb +0 -200
  670. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +0 -38
  671. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +0 -38
  672. data/rbi/metronome_sdk/models/base_usage_filter.rbi +0 -27
  673. data/rbi/metronome_sdk/models/commit.rbi +0 -1283
  674. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +0 -2407
  675. data/rbi/metronome_sdk/models/credit.rbi +0 -697
  676. data/rbi/metronome_sdk/models/credit_type_data.rbi +0 -19
  677. data/rbi/metronome_sdk/models/discount.rbi +0 -90
  678. data/rbi/metronome_sdk/models/event_type_filter.rbi +0 -40
  679. data/rbi/metronome_sdk/models/id.rbi +0 -16
  680. data/rbi/metronome_sdk/models/override.rbi +0 -503
  681. data/rbi/metronome_sdk/models/pro_service.rbi +0 -92
  682. data/rbi/metronome_sdk/models/property_filter.rbi +0 -75
  683. data/rbi/metronome_sdk/models/rate.rbi +0 -143
  684. data/rbi/metronome_sdk/models/schedule_duration.rbi +0 -58
  685. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +0 -92
  686. data/rbi/metronome_sdk/models/scheduled_charge.rbi +0 -104
  687. data/rbi/metronome_sdk/models/tier.rbi +0 -22
  688. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +0 -214
  689. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +0 -80
  690. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +0 -62
  691. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +0 -81
  692. data/rbi/metronome_sdk/models/v1/customer.rbi +0 -68
  693. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +0 -175
  694. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +0 -445
  695. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +0 -1756
  696. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +0 -303
  697. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +0 -43
  698. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +0 -48
  699. data/sig/metronome_sdk/models/base_usage_filter.rbs +0 -24
  700. data/sig/metronome_sdk/models/commit.rbs +0 -750
  701. data/sig/metronome_sdk/models/contract_without_amendments.rbs +0 -1122
  702. data/sig/metronome_sdk/models/credit.rbs +0 -415
  703. data/sig/metronome_sdk/models/credit_type_data.rbs +0 -15
  704. data/sig/metronome_sdk/models/discount.rbs +0 -56
  705. data/sig/metronome_sdk/models/event_type_filter.rbs +0 -23
  706. data/sig/metronome_sdk/models/id.rbs +0 -13
  707. data/sig/metronome_sdk/models/override.rbs +0 -343
  708. data/sig/metronome_sdk/models/pro_service.rbs +0 -52
  709. data/sig/metronome_sdk/models/property_filter.rbs +0 -36
  710. data/sig/metronome_sdk/models/rate.rbs +0 -86
  711. data/sig/metronome_sdk/models/schedule_duration.rbs +0 -48
  712. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +0 -65
  713. data/sig/metronome_sdk/models/scheduled_charge.rbs +0 -62
  714. data/sig/metronome_sdk/models/tier.rbs +0 -17
  715. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +0 -104
  716. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +0 -43
  717. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +0 -38
  718. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +0 -44
  719. data/sig/metronome_sdk/models/v1/customer.rbs +0 -38
  720. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +0 -213
  721. data/sig/metronome_sdk/models/v1/plan_detail.rbs +0 -173
  722. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +0 -34
  723. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +0 -34
@@ -34,8 +34,9 @@ module MetronomeSDK
34
34
 
35
35
  # @!attribute add_discounts
36
36
  #
37
- # @return [Array<MetronomeSDK::Models::Discount>, nil]
38
- optional :add_discounts, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::Discount] }
37
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount>, nil]
38
+ optional :add_discounts,
39
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount] }
39
40
 
40
41
  # @!attribute add_overrides
41
42
  #
@@ -43,10 +44,17 @@ module MetronomeSDK
43
44
  optional :add_overrides,
44
45
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride] }
45
46
 
47
+ # @!attribute add_prepaid_balance_threshold_configuration
48
+ #
49
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration, nil]
50
+ optional :add_prepaid_balance_threshold_configuration,
51
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration }
52
+
46
53
  # @!attribute add_pro_services
47
54
  #
48
- # @return [Array<MetronomeSDK::Models::ProService>, nil]
49
- optional :add_pro_services, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::ProService] }
55
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddProService>, nil]
56
+ optional :add_pro_services,
57
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddProService] }
50
58
 
51
59
  # @!attribute add_recurring_commits
52
60
  #
@@ -72,6 +80,19 @@ module MetronomeSDK
72
80
  optional :add_scheduled_charges,
73
81
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge] }
74
82
 
83
+ # @!attribute add_spend_threshold_configuration
84
+ #
85
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration, nil]
86
+ optional :add_spend_threshold_configuration,
87
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration }
88
+
89
+ # @!attribute add_subscriptions
90
+ # (beta) List of subscriptions on the contract.
91
+ #
92
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription>, nil]
93
+ optional :add_subscriptions,
94
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription] }
95
+
75
96
  # @!attribute add_usage_filters
76
97
  #
77
98
  # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddUsageFilter>, nil]
@@ -130,6 +151,24 @@ module MetronomeSDK
130
151
  optional :update_discounts,
131
152
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount] }
132
153
 
154
+ # @!attribute update_prepaid_balance_threshold_configuration
155
+ #
156
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration, nil]
157
+ optional :update_prepaid_balance_threshold_configuration,
158
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration }
159
+
160
+ # @!attribute update_recurring_commits
161
+ #
162
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit>, nil]
163
+ optional :update_recurring_commits,
164
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit] }
165
+
166
+ # @!attribute update_recurring_credits
167
+ #
168
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit>, nil]
169
+ optional :update_recurring_credits,
170
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit] }
171
+
133
172
  # @!attribute update_refund_invoices
134
173
  #
135
174
  # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRefundInvoice>, nil]
@@ -142,29 +181,79 @@ module MetronomeSDK
142
181
  optional :update_scheduled_charges,
143
182
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge] }
144
183
 
145
- # @!method initialize(id:, add_commits: nil, add_credits: nil, add_discounts: nil, add_overrides: nil, add_pro_services: nil, add_recurring_commits: nil, add_recurring_credits: nil, add_reseller_royalties: nil, add_scheduled_charges: nil, add_usage_filters: nil, archive_commits: nil, archive_credits: nil, archive_scheduled_charges: nil, remove_overrides: nil, timestamp: nil, update_commits: nil, update_contract_end_date: nil, update_credits: nil, update_discounts: nil, update_refund_invoices: nil, update_scheduled_charges: nil)
184
+ # @!attribute update_spend_threshold_configuration
185
+ #
186
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration, nil]
187
+ optional :update_spend_threshold_configuration,
188
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration }
189
+
190
+ # @!attribute update_subscriptions
191
+ # (beta) Optional list of subscriptions to update.
192
+ #
193
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSubscription>, nil]
194
+ optional :update_subscriptions,
195
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSubscription] }
196
+
197
+ # @!method initialize(id:, add_commits: nil, add_credits: nil, add_discounts: nil, add_overrides: nil, add_prepaid_balance_threshold_configuration: nil, add_pro_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, add_usage_filters: nil, archive_commits: nil, archive_credits: nil, archive_scheduled_charges: nil, remove_overrides: nil, timestamp: nil, update_commits: nil, update_contract_end_date: nil, update_credits: nil, update_discounts: nil, update_prepaid_balance_threshold_configuration: nil, update_recurring_commits: nil, update_recurring_credits: nil, update_refund_invoices: nil, update_scheduled_charges: nil, update_spend_threshold_configuration: nil, update_subscriptions: nil)
146
198
  # @param id [String]
199
+ #
147
200
  # @param add_commits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit>]
201
+ #
148
202
  # @param add_credits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit>]
149
- # @param add_discounts [Array<MetronomeSDK::Models::Discount>]
203
+ #
204
+ # @param add_discounts [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount>]
205
+ #
150
206
  # @param add_overrides [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride>]
151
- # @param add_pro_services [Array<MetronomeSDK::Models::ProService>]
207
+ #
208
+ # @param add_prepaid_balance_threshold_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration]
209
+ #
210
+ # @param add_pro_services [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddProService>]
211
+ #
152
212
  # @param add_recurring_commits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit>]
213
+ #
153
214
  # @param add_recurring_credits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit>]
215
+ #
154
216
  # @param add_reseller_royalties [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty>]
217
+ #
155
218
  # @param add_scheduled_charges [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge>]
219
+ #
220
+ # @param add_spend_threshold_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration]
221
+ #
222
+ # @param add_subscriptions [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription>] (beta) List of subscriptions on the contract.
223
+ #
156
224
  # @param add_usage_filters [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddUsageFilter>]
225
+ #
157
226
  # @param archive_commits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveCommit>]
227
+ #
158
228
  # @param archive_credits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveCredit>]
229
+ #
159
230
  # @param archive_scheduled_charges [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveScheduledCharge>]
231
+ #
160
232
  # @param remove_overrides [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::RemoveOverride>]
233
+ #
161
234
  # @param timestamp [Time]
235
+ #
162
236
  # @param update_commits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit>]
237
+ #
163
238
  # @param update_contract_end_date [Time]
239
+ #
164
240
  # @param update_credits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit>]
241
+ #
165
242
  # @param update_discounts [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount>]
243
+ #
244
+ # @param update_prepaid_balance_threshold_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration]
245
+ #
246
+ # @param update_recurring_commits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit>]
247
+ #
248
+ # @param update_recurring_credits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit>]
249
+ #
166
250
  # @param update_refund_invoices [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRefundInvoice>]
251
+ #
167
252
  # @param update_scheduled_charges [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge>]
253
+ #
254
+ # @param update_spend_threshold_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration]
255
+ #
256
+ # @param update_subscriptions [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSubscription>] (beta) Optional list of subscriptions to update.
168
257
 
169
258
  class AddCommit < MetronomeSDK::Internal::Type::BaseModel
170
259
  # @!attribute id
@@ -188,8 +277,9 @@ module MetronomeSDK
188
277
  # The schedule that the customer will gain access to the credits purposed with
189
278
  # this commit.
190
279
  #
191
- # @return [MetronomeSDK::Models::ScheduleDuration, nil]
192
- optional :access_schedule, -> { MetronomeSDK::Models::ScheduleDuration }
280
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule, nil]
281
+ optional :access_schedule,
282
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule }
193
283
 
194
284
  # @!attribute applicable_product_ids
195
285
  #
@@ -209,8 +299,9 @@ module MetronomeSDK
209
299
  # @!attribute invoice_schedule
210
300
  # The schedule that the customer will be invoiced for this commit.
211
301
  #
212
- # @return [MetronomeSDK::Models::SchedulePointInTime, nil]
213
- optional :invoice_schedule, -> { MetronomeSDK::Models::SchedulePointInTime }
302
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule, nil]
303
+ optional :invoice_schedule,
304
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule }
214
305
 
215
306
  # @!attribute name
216
307
  #
@@ -247,7 +338,17 @@ module MetronomeSDK
247
338
  # @return [String, nil]
248
339
  optional :salesforce_opportunity_id, String
249
340
 
250
- # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rollover_fraction: nil, salesforce_opportunity_id: nil)
341
+ # @!attribute specifiers
342
+ # List of filters that determine what kind of customer usage draws down a commit
343
+ # or credit. A customer's usage needs to meet the condition of at least one of the
344
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
345
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
346
+ #
347
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Specifier>, nil]
348
+ optional :specifiers,
349
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Specifier] }
350
+
351
+ # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil)
251
352
  # Some parameter documentations has been truncated, see
252
353
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit} for
253
354
  # more details.
@@ -258,8 +359,7 @@ module MetronomeSDK
258
359
  #
259
360
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Type]
260
361
  #
261
- # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits purposed with thi
262
- # ...
362
+ # @param access_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule] The schedule that the customer will gain access to the credits purposed with thi
263
363
  #
264
364
  # @param applicable_product_ids [Array<String>]
265
365
  #
@@ -267,20 +367,21 @@ module MetronomeSDK
267
367
  #
268
368
  # @param description [String]
269
369
  #
270
- # @param invoice_schedule [MetronomeSDK::Models::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
370
+ # @param invoice_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule] The schedule that the customer will be invoiced for this commit.
271
371
  #
272
372
  # @param name [String]
273
373
  #
274
374
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
275
375
  #
276
376
  # @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
277
- # ...
278
377
  #
279
378
  # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::RateType]
280
379
  #
281
380
  # @param rollover_fraction [Float]
282
381
  #
283
382
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
383
+ #
384
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
284
385
 
285
386
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit#product
286
387
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -310,6 +411,151 @@ module MetronomeSDK
310
411
  # @return [Array<Symbol>]
311
412
  end
312
413
 
414
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit#access_schedule
415
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
416
+ # @!attribute schedule_items
417
+ #
418
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::ScheduleItem>]
419
+ required :schedule_items,
420
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::ScheduleItem] }
421
+
422
+ # @!attribute credit_type
423
+ #
424
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::CreditType, nil]
425
+ optional :credit_type,
426
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::CreditType }
427
+
428
+ # @!method initialize(schedule_items:, credit_type: nil)
429
+ # The schedule that the customer will gain access to the credits purposed with
430
+ # this commit.
431
+ #
432
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::ScheduleItem>]
433
+ # @param credit_type [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::CreditType]
434
+
435
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
436
+ # @!attribute id
437
+ #
438
+ # @return [String]
439
+ required :id, String
440
+
441
+ # @!attribute amount
442
+ #
443
+ # @return [Float]
444
+ required :amount, Float
445
+
446
+ # @!attribute ending_before
447
+ #
448
+ # @return [Time]
449
+ required :ending_before, Time
450
+
451
+ # @!attribute starting_at
452
+ #
453
+ # @return [Time]
454
+ required :starting_at, Time
455
+
456
+ # @!method initialize(id:, amount:, ending_before:, starting_at:)
457
+ # @param id [String]
458
+ # @param amount [Float]
459
+ # @param ending_before [Time]
460
+ # @param starting_at [Time]
461
+ end
462
+
463
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule#credit_type
464
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
465
+ # @!attribute id
466
+ #
467
+ # @return [String]
468
+ required :id, String
469
+
470
+ # @!attribute name
471
+ #
472
+ # @return [String]
473
+ required :name, String
474
+
475
+ # @!method initialize(id:, name:)
476
+ # @param id [String]
477
+ # @param name [String]
478
+ end
479
+ end
480
+
481
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit#invoice_schedule
482
+ class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
483
+ # @!attribute credit_type
484
+ #
485
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::CreditType, nil]
486
+ optional :credit_type,
487
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::CreditType }
488
+
489
+ # @!attribute schedule_items
490
+ #
491
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::ScheduleItem>, nil]
492
+ optional :schedule_items,
493
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::ScheduleItem] }
494
+
495
+ # @!method initialize(credit_type: nil, schedule_items: nil)
496
+ # The schedule that the customer will be invoiced for this commit.
497
+ #
498
+ # @param credit_type [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::CreditType]
499
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::ScheduleItem>]
500
+
501
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule#credit_type
502
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
503
+ # @!attribute id
504
+ #
505
+ # @return [String]
506
+ required :id, String
507
+
508
+ # @!attribute name
509
+ #
510
+ # @return [String]
511
+ required :name, String
512
+
513
+ # @!method initialize(id:, name:)
514
+ # @param id [String]
515
+ # @param name [String]
516
+ end
517
+
518
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
519
+ # @!attribute id
520
+ #
521
+ # @return [String]
522
+ required :id, String
523
+
524
+ # @!attribute amount
525
+ #
526
+ # @return [Float]
527
+ required :amount, Float
528
+
529
+ # @!attribute invoice_id
530
+ #
531
+ # @return [String]
532
+ required :invoice_id, String
533
+
534
+ # @!attribute quantity
535
+ #
536
+ # @return [Float]
537
+ required :quantity, Float
538
+
539
+ # @!attribute timestamp
540
+ #
541
+ # @return [Time]
542
+ required :timestamp, Time
543
+
544
+ # @!attribute unit_price
545
+ #
546
+ # @return [Float]
547
+ required :unit_price, Float
548
+
549
+ # @!method initialize(id:, amount:, invoice_id:, quantity:, timestamp:, unit_price:)
550
+ # @param id [String]
551
+ # @param amount [Float]
552
+ # @param invoice_id [String]
553
+ # @param quantity [Float]
554
+ # @param timestamp [Time]
555
+ # @param unit_price [Float]
556
+ end
557
+ end
558
+
313
559
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit#rate_type
314
560
  module RateType
315
561
  extend MetronomeSDK::Internal::Type::Enum
@@ -320,6 +566,44 @@ module MetronomeSDK
320
566
  # @!method self.values
321
567
  # @return [Array<Symbol>]
322
568
  end
569
+
570
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
571
+ # @!attribute presentation_group_values
572
+ #
573
+ # @return [Hash{Symbol=>String}, nil]
574
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
575
+
576
+ # @!attribute pricing_group_values
577
+ #
578
+ # @return [Hash{Symbol=>String}, nil]
579
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
580
+
581
+ # @!attribute product_id
582
+ # If provided, the specifier will only apply to the product with the specified ID.
583
+ #
584
+ # @return [String, nil]
585
+ optional :product_id, String
586
+
587
+ # @!attribute product_tags
588
+ # If provided, the specifier will only apply to products with all the specified
589
+ # tags.
590
+ #
591
+ # @return [Array<String>, nil]
592
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
593
+
594
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
595
+ # Some parameter documentations has been truncated, see
596
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Specifier}
597
+ # for more details.
598
+ #
599
+ # @param presentation_group_values [Hash{Symbol=>String}]
600
+ #
601
+ # @param pricing_group_values [Hash{Symbol=>String}]
602
+ #
603
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
604
+ #
605
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
606
+ end
323
607
  end
324
608
 
325
609
  class AddCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -343,8 +627,9 @@ module MetronomeSDK
343
627
  # @!attribute access_schedule
344
628
  # The schedule that the customer will gain access to the credits.
345
629
  #
346
- # @return [MetronomeSDK::Models::ScheduleDuration, nil]
347
- optional :access_schedule, -> { MetronomeSDK::Models::ScheduleDuration }
630
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule, nil]
631
+ optional :access_schedule,
632
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule }
348
633
 
349
634
  # @!attribute applicable_product_ids
350
635
  #
@@ -385,7 +670,17 @@ module MetronomeSDK
385
670
  # @return [String, nil]
386
671
  optional :salesforce_opportunity_id, String
387
672
 
388
- # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, salesforce_opportunity_id: nil)
673
+ # @!attribute specifiers
674
+ # List of filters that determine what kind of customer usage draws down a commit
675
+ # or credit. A customer's usage needs to meet the condition of at least one of the
676
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
677
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
678
+ #
679
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Specifier>, nil]
680
+ optional :specifiers,
681
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Specifier] }
682
+
683
+ # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, salesforce_opportunity_id: nil, specifiers: nil)
389
684
  # Some parameter documentations has been truncated, see
390
685
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit} for
391
686
  # more details.
@@ -396,7 +691,7 @@ module MetronomeSDK
396
691
  #
397
692
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Type]
398
693
  #
399
- # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits.
694
+ # @param access_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule] The schedule that the customer will gain access to the credits.
400
695
  #
401
696
  # @param applicable_product_ids [Array<String>]
402
697
  #
@@ -409,9 +704,10 @@ module MetronomeSDK
409
704
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
410
705
  #
411
706
  # @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
412
- # ...
413
707
  #
414
708
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
709
+ #
710
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
415
711
 
416
712
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit#product
417
713
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -439,58 +735,303 @@ module MetronomeSDK
439
735
  # @!method self.values
440
736
  # @return [Array<Symbol>]
441
737
  end
442
- end
443
738
 
444
- class AddOverride < MetronomeSDK::Internal::Type::BaseModel
445
- # @!attribute id
446
- #
447
- # @return [String]
448
- required :id, String
739
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit#access_schedule
740
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
741
+ # @!attribute schedule_items
742
+ #
743
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::ScheduleItem>]
744
+ required :schedule_items,
745
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::ScheduleItem] }
449
746
 
450
- # @!attribute starting_at
451
- #
452
- # @return [Time]
453
- required :starting_at, Time
747
+ # @!attribute credit_type
748
+ #
749
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::CreditType, nil]
750
+ optional :credit_type,
751
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::CreditType }
454
752
 
455
- # @!attribute applicable_product_tags
456
- #
457
- # @return [Array<String>, nil]
458
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
753
+ # @!method initialize(schedule_items:, credit_type: nil)
754
+ # The schedule that the customer will gain access to the credits.
755
+ #
756
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::ScheduleItem>]
757
+ # @param credit_type [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::CreditType]
459
758
 
460
- # @!attribute ending_before
461
- #
462
- # @return [Time, nil]
463
- optional :ending_before, Time
759
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
760
+ # @!attribute id
761
+ #
762
+ # @return [String]
763
+ required :id, String
464
764
 
465
- # @!attribute entitled
466
- #
467
- # @return [Boolean, nil]
468
- optional :entitled, MetronomeSDK::Internal::Type::Boolean
765
+ # @!attribute amount
766
+ #
767
+ # @return [Float]
768
+ required :amount, Float
469
769
 
470
- # @!attribute is_commit_specific
471
- #
472
- # @return [Boolean, nil]
473
- optional :is_commit_specific, MetronomeSDK::Internal::Type::Boolean
770
+ # @!attribute ending_before
771
+ #
772
+ # @return [Time]
773
+ required :ending_before, Time
474
774
 
475
- # @!attribute multiplier
476
- #
477
- # @return [Float, nil]
478
- optional :multiplier, Float
775
+ # @!attribute starting_at
776
+ #
777
+ # @return [Time]
778
+ required :starting_at, Time
479
779
 
480
- # @!attribute override_specifiers
481
- #
482
- # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier>, nil]
483
- optional :override_specifiers,
484
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier] }
780
+ # @!method initialize(id:, amount:, ending_before:, starting_at:)
781
+ # @param id [String]
782
+ # @param amount [Float]
783
+ # @param ending_before [Time]
784
+ # @param starting_at [Time]
785
+ end
485
786
 
486
- # @!attribute override_tiers
487
- #
488
- # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideTier>, nil]
489
- optional :override_tiers,
490
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideTier] }
787
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule#credit_type
788
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
789
+ # @!attribute id
790
+ #
791
+ # @return [String]
792
+ required :id, String
491
793
 
492
- # @!attribute overwrite_rate
493
- #
794
+ # @!attribute name
795
+ #
796
+ # @return [String]
797
+ required :name, String
798
+
799
+ # @!method initialize(id:, name:)
800
+ # @param id [String]
801
+ # @param name [String]
802
+ end
803
+ end
804
+
805
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
806
+ # @!attribute presentation_group_values
807
+ #
808
+ # @return [Hash{Symbol=>String}, nil]
809
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
810
+
811
+ # @!attribute pricing_group_values
812
+ #
813
+ # @return [Hash{Symbol=>String}, nil]
814
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
815
+
816
+ # @!attribute product_id
817
+ # If provided, the specifier will only apply to the product with the specified ID.
818
+ #
819
+ # @return [String, nil]
820
+ optional :product_id, String
821
+
822
+ # @!attribute product_tags
823
+ # If provided, the specifier will only apply to products with all the specified
824
+ # tags.
825
+ #
826
+ # @return [Array<String>, nil]
827
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
828
+
829
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
830
+ # Some parameter documentations has been truncated, see
831
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Specifier}
832
+ # for more details.
833
+ #
834
+ # @param presentation_group_values [Hash{Symbol=>String}]
835
+ #
836
+ # @param pricing_group_values [Hash{Symbol=>String}]
837
+ #
838
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
839
+ #
840
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
841
+ end
842
+ end
843
+
844
+ class AddDiscount < MetronomeSDK::Internal::Type::BaseModel
845
+ # @!attribute id
846
+ #
847
+ # @return [String]
848
+ required :id, String
849
+
850
+ # @!attribute product
851
+ #
852
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Product]
853
+ required :product,
854
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Product }
855
+
856
+ # @!attribute schedule
857
+ #
858
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule]
859
+ required :schedule,
860
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule }
861
+
862
+ # @!attribute custom_fields
863
+ #
864
+ # @return [Hash{Symbol=>String}, nil]
865
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
866
+
867
+ # @!attribute name
868
+ #
869
+ # @return [String, nil]
870
+ optional :name, String
871
+
872
+ # @!attribute netsuite_sales_order_id
873
+ # This field's availability is dependent on your client's configuration.
874
+ #
875
+ # @return [String, nil]
876
+ optional :netsuite_sales_order_id, String
877
+
878
+ # @!method initialize(id:, product:, schedule:, custom_fields: nil, name: nil, netsuite_sales_order_id: nil)
879
+ # @param id [String]
880
+ #
881
+ # @param product [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Product]
882
+ #
883
+ # @param schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule]
884
+ #
885
+ # @param custom_fields [Hash{Symbol=>String}]
886
+ #
887
+ # @param name [String]
888
+ #
889
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
890
+
891
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount#product
892
+ class Product < MetronomeSDK::Internal::Type::BaseModel
893
+ # @!attribute id
894
+ #
895
+ # @return [String]
896
+ required :id, String
897
+
898
+ # @!attribute name
899
+ #
900
+ # @return [String]
901
+ required :name, String
902
+
903
+ # @!method initialize(id:, name:)
904
+ # @param id [String]
905
+ # @param name [String]
906
+ end
907
+
908
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount#schedule
909
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
910
+ # @!attribute credit_type
911
+ #
912
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::CreditType, nil]
913
+ optional :credit_type,
914
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::CreditType }
915
+
916
+ # @!attribute schedule_items
917
+ #
918
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::ScheduleItem>, nil]
919
+ optional :schedule_items,
920
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::ScheduleItem] }
921
+
922
+ # @!method initialize(credit_type: nil, schedule_items: nil)
923
+ # @param credit_type [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::CreditType]
924
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::ScheduleItem>]
925
+
926
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule#credit_type
927
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
928
+ # @!attribute id
929
+ #
930
+ # @return [String]
931
+ required :id, String
932
+
933
+ # @!attribute name
934
+ #
935
+ # @return [String]
936
+ required :name, String
937
+
938
+ # @!method initialize(id:, name:)
939
+ # @param id [String]
940
+ # @param name [String]
941
+ end
942
+
943
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
944
+ # @!attribute id
945
+ #
946
+ # @return [String]
947
+ required :id, String
948
+
949
+ # @!attribute amount
950
+ #
951
+ # @return [Float]
952
+ required :amount, Float
953
+
954
+ # @!attribute invoice_id
955
+ #
956
+ # @return [String]
957
+ required :invoice_id, String
958
+
959
+ # @!attribute quantity
960
+ #
961
+ # @return [Float]
962
+ required :quantity, Float
963
+
964
+ # @!attribute timestamp
965
+ #
966
+ # @return [Time]
967
+ required :timestamp, Time
968
+
969
+ # @!attribute unit_price
970
+ #
971
+ # @return [Float]
972
+ required :unit_price, Float
973
+
974
+ # @!method initialize(id:, amount:, invoice_id:, quantity:, timestamp:, unit_price:)
975
+ # @param id [String]
976
+ # @param amount [Float]
977
+ # @param invoice_id [String]
978
+ # @param quantity [Float]
979
+ # @param timestamp [Time]
980
+ # @param unit_price [Float]
981
+ end
982
+ end
983
+ end
984
+
985
+ class AddOverride < MetronomeSDK::Internal::Type::BaseModel
986
+ # @!attribute id
987
+ #
988
+ # @return [String]
989
+ required :id, String
990
+
991
+ # @!attribute starting_at
992
+ #
993
+ # @return [Time]
994
+ required :starting_at, Time
995
+
996
+ # @!attribute applicable_product_tags
997
+ #
998
+ # @return [Array<String>, nil]
999
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1000
+
1001
+ # @!attribute ending_before
1002
+ #
1003
+ # @return [Time, nil]
1004
+ optional :ending_before, Time
1005
+
1006
+ # @!attribute entitled
1007
+ #
1008
+ # @return [Boolean, nil]
1009
+ optional :entitled, MetronomeSDK::Internal::Type::Boolean
1010
+
1011
+ # @!attribute is_commit_specific
1012
+ #
1013
+ # @return [Boolean, nil]
1014
+ optional :is_commit_specific, MetronomeSDK::Internal::Type::Boolean
1015
+
1016
+ # @!attribute multiplier
1017
+ #
1018
+ # @return [Float, nil]
1019
+ optional :multiplier, Float
1020
+
1021
+ # @!attribute override_specifiers
1022
+ #
1023
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier>, nil]
1024
+ optional :override_specifiers,
1025
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier] }
1026
+
1027
+ # @!attribute override_tiers
1028
+ #
1029
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideTier>, nil]
1030
+ optional :override_tiers,
1031
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideTier] }
1032
+
1033
+ # @!attribute overwrite_rate
1034
+ #
494
1035
  # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate, nil]
495
1036
  optional :overwrite_rate,
496
1037
  -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate }
@@ -535,6 +1076,12 @@ module MetronomeSDK
535
1076
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::Type]
536
1077
 
537
1078
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1079
+ # @!attribute billing_frequency
1080
+ #
1081
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier::BillingFrequency, nil]
1082
+ optional :billing_frequency,
1083
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier::BillingFrequency }
1084
+
538
1085
  # @!attribute commit_ids
539
1086
  #
540
1087
  # @return [Array<String>, nil]
@@ -570,7 +1117,8 @@ module MetronomeSDK
570
1117
  # @return [Array<String>, nil]
571
1118
  optional :recurring_credit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
572
1119
 
573
- # @!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)
1120
+ # @!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)
1121
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier::BillingFrequency]
574
1122
  # @param commit_ids [Array<String>]
575
1123
  # @param presentation_group_values [Hash{Symbol=>String, nil}]
576
1124
  # @param pricing_group_values [Hash{Symbol=>String}]
@@ -578,6 +1126,19 @@ module MetronomeSDK
578
1126
  # @param product_tags [Array<String>]
579
1127
  # @param recurring_commit_ids [Array<String>]
580
1128
  # @param recurring_credit_ids [Array<String>]
1129
+
1130
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier#billing_frequency
1131
+ module BillingFrequency
1132
+ extend MetronomeSDK::Internal::Type::Enum
1133
+
1134
+ MONTHLY = :MONTHLY
1135
+ QUARTERLY = :QUARTERLY
1136
+ ANNUAL = :ANNUAL
1137
+ WEEKLY = :WEEKLY
1138
+
1139
+ # @!method self.values
1140
+ # @return [Array<Symbol>]
1141
+ end
581
1142
  end
582
1143
 
583
1144
  class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
@@ -606,8 +1167,9 @@ module MetronomeSDK
606
1167
 
607
1168
  # @!attribute credit_type
608
1169
  #
609
- # @return [MetronomeSDK::Models::CreditTypeData, nil]
610
- optional :credit_type, -> { MetronomeSDK::Models::CreditTypeData }
1170
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::CreditType, nil]
1171
+ optional :credit_type,
1172
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::CreditType }
611
1173
 
612
1174
  # @!attribute custom_rate
613
1175
  # Only set for CUSTOM rate_type. This field is interpreted by custom rate
@@ -640,8 +1202,9 @@ module MetronomeSDK
640
1202
  # @!attribute tiers
641
1203
  # Only set for TIERED rate_type.
642
1204
  #
643
- # @return [Array<MetronomeSDK::Models::Tier>, nil]
644
- optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::Tier] }
1205
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::Tier>, nil]
1206
+ optional :tiers,
1207
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::Tier] }
645
1208
 
646
1209
  # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
647
1210
  # Some parameter documentations has been truncated, see
@@ -650,20 +1213,17 @@ module MetronomeSDK
650
1213
  #
651
1214
  # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::RateType]
652
1215
  #
653
- # @param credit_type [MetronomeSDK::Models::CreditTypeData]
1216
+ # @param credit_type [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::CreditType]
654
1217
  #
655
1218
  # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
656
- # ...
657
1219
  #
658
1220
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
659
- # ...
660
1221
  #
661
1222
  # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
662
- # ...
663
1223
  #
664
1224
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
665
1225
  #
666
- # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
1226
+ # @param tiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::Tier>] Only set for TIERED rate_type.
667
1227
 
668
1228
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate#rate_type
669
1229
  module RateType
@@ -678,6 +1238,39 @@ module MetronomeSDK
678
1238
  # @!method self.values
679
1239
  # @return [Array<Symbol>]
680
1240
  end
1241
+
1242
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate#credit_type
1243
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
1244
+ # @!attribute id
1245
+ #
1246
+ # @return [String]
1247
+ required :id, String
1248
+
1249
+ # @!attribute name
1250
+ #
1251
+ # @return [String]
1252
+ required :name, String
1253
+
1254
+ # @!method initialize(id:, name:)
1255
+ # @param id [String]
1256
+ # @param name [String]
1257
+ end
1258
+
1259
+ class Tier < MetronomeSDK::Internal::Type::BaseModel
1260
+ # @!attribute price
1261
+ #
1262
+ # @return [Float]
1263
+ required :price, Float
1264
+
1265
+ # @!attribute size
1266
+ #
1267
+ # @return [Float, nil]
1268
+ optional :size, Float
1269
+
1270
+ # @!method initialize(price:, size: nil)
1271
+ # @param price [Float]
1272
+ # @param size [Float]
1273
+ end
681
1274
  end
682
1275
 
683
1276
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride#product
@@ -721,47 +1314,373 @@ module MetronomeSDK
721
1314
  end
722
1315
  end
723
1316
 
724
- class AddRecurringCommit < MetronomeSDK::Internal::Type::BaseModel
725
- # @!attribute id
1317
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data#add_prepaid_balance_threshold_configuration
1318
+ class AddPrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
1319
+ # @!attribute commit
726
1320
  #
727
- # @return [String]
728
- required :id, String
1321
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit]
1322
+ required :commit,
1323
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit }
729
1324
 
730
- # @!attribute access_amount
731
- # The amount of commit to grant.
1325
+ # @!attribute is_enabled
1326
+ # When set to false, the contract will not be evaluated against the
1327
+ # threshold_amount. Toggling to true will result an immediate evaluation,
1328
+ # regardless of prior state.
732
1329
  #
733
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::AccessAmount]
734
- required :access_amount,
735
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::AccessAmount }
1330
+ # @return [Boolean]
1331
+ required :is_enabled, MetronomeSDK::Internal::Type::Boolean
736
1332
 
737
- # @!attribute commit_duration
738
- # The amount of time the created commits will be valid for
1333
+ # @!attribute payment_gate_config
739
1334
  #
740
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::CommitDuration]
741
- required :commit_duration,
742
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::CommitDuration }
1335
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig]
1336
+ required :payment_gate_config,
1337
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig }
743
1338
 
744
- # @!attribute priority
745
- # Will be passed down to the individual commits
1339
+ # @!attribute recharge_to_amount
1340
+ # Specify the amount the balance should be recharged to.
746
1341
  #
747
1342
  # @return [Float]
748
- required :priority, Float
1343
+ required :recharge_to_amount, Float
749
1344
 
750
- # @!attribute product
1345
+ # @!attribute threshold_amount
1346
+ # Specify the threshold amount for the contract. Each time the contract's balance
1347
+ # lowers to this amount, a threshold charge will be initiated.
751
1348
  #
752
- # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Product]
753
- required :product,
754
- -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Product }
1349
+ # @return [Float]
1350
+ required :threshold_amount, Float
755
1351
 
756
- # @!attribute rate_type
757
- # Whether the created commits will use the commit rate or list rate
1352
+ # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:)
1353
+ # Some parameter documentations has been truncated, see
1354
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration}
1355
+ # for more details.
758
1356
  #
759
- # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RateType]
760
- required :rate_type,
761
- enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RateType }
762
-
763
- # @!attribute starting_at
764
- # Determines the start time for the first commit
1357
+ # @param commit [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit]
1358
+ #
1359
+ # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
1360
+ #
1361
+ # @param payment_gate_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig]
1362
+ #
1363
+ # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
1364
+ #
1365
+ # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
1366
+
1367
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration#commit
1368
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
1369
+ # @!attribute product_id
1370
+ # The commit product that will be used to generate the line item for commit
1371
+ # payment.
1372
+ #
1373
+ # @return [String]
1374
+ required :product_id, String
1375
+
1376
+ # @!attribute applicable_product_ids
1377
+ # Which products the threshold commit applies to. If both applicable_product_ids
1378
+ # and applicable_product_tags are not provided, the commit applies to all
1379
+ # products.
1380
+ #
1381
+ # @return [Array<String>, nil]
1382
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1383
+
1384
+ # @!attribute applicable_product_tags
1385
+ # Which tags the threshold commit applies to. If both applicable_product_ids and
1386
+ # applicable_product_tags are not provided, the commit applies to all products.
1387
+ #
1388
+ # @return [Array<String>, nil]
1389
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1390
+
1391
+ # @!attribute description
1392
+ #
1393
+ # @return [String, nil]
1394
+ optional :description, String
1395
+
1396
+ # @!attribute name
1397
+ # Specify the name of the line item for the threshold charge. If left blank, it
1398
+ # will default to the commit product name.
1399
+ #
1400
+ # @return [String, nil]
1401
+ optional :name, String
1402
+
1403
+ # @!attribute specifiers
1404
+ # List of filters that determine what kind of customer usage draws down a commit
1405
+ # or credit. A customer's usage needs to meet the condition of at least one of the
1406
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
1407
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
1408
+ #
1409
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
1410
+ optional :specifiers,
1411
+ -> do
1412
+ MetronomeSDK::Internal::Type::ArrayOf[
1413
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier
1414
+ ]
1415
+ end
1416
+
1417
+ # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, specifiers: nil)
1418
+ # Some parameter documentations has been truncated, see
1419
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit}
1420
+ # for more details.
1421
+ #
1422
+ # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
1423
+ #
1424
+ # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
1425
+ #
1426
+ # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
1427
+ #
1428
+ # @param description [String]
1429
+ #
1430
+ # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
1431
+ #
1432
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
1433
+
1434
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1435
+ # @!attribute presentation_group_values
1436
+ #
1437
+ # @return [Hash{Symbol=>String}, nil]
1438
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1439
+
1440
+ # @!attribute pricing_group_values
1441
+ #
1442
+ # @return [Hash{Symbol=>String}, nil]
1443
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1444
+
1445
+ # @!attribute product_id
1446
+ # If provided, the specifier will only apply to the product with the specified ID.
1447
+ #
1448
+ # @return [String, nil]
1449
+ optional :product_id, String
1450
+
1451
+ # @!attribute product_tags
1452
+ # If provided, the specifier will only apply to products with all the specified
1453
+ # tags.
1454
+ #
1455
+ # @return [Array<String>, nil]
1456
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1457
+
1458
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1459
+ # Some parameter documentations has been truncated, see
1460
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier}
1461
+ # for more details.
1462
+ #
1463
+ # @param presentation_group_values [Hash{Symbol=>String}]
1464
+ #
1465
+ # @param pricing_group_values [Hash{Symbol=>String}]
1466
+ #
1467
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1468
+ #
1469
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1470
+ end
1471
+ end
1472
+
1473
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration#payment_gate_config
1474
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
1475
+ # @!attribute payment_gate_type
1476
+ # Gate access to the commit balance based on successful collection of payment.
1477
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1478
+ # facilitate payment using your own payment integration. Select NONE if you do not
1479
+ # wish to payment gate the commit balance.
1480
+ #
1481
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
1482
+ required :payment_gate_type,
1483
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType }
1484
+
1485
+ # @!attribute stripe_config
1486
+ # Only applicable if using Stripe as your payment gateway through Metronome.
1487
+ #
1488
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
1489
+ optional :stripe_config,
1490
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig }
1491
+
1492
+ # @!attribute tax_type
1493
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1494
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1495
+ # will default to NONE.
1496
+ #
1497
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
1498
+ optional :tax_type,
1499
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType }
1500
+
1501
+ # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
1502
+ # Some parameter documentations has been truncated, see
1503
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig}
1504
+ # for more details.
1505
+ #
1506
+ # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
1507
+ #
1508
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
1509
+ #
1510
+ # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
1511
+
1512
+ # Gate access to the commit balance based on successful collection of payment.
1513
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1514
+ # facilitate payment using your own payment integration. Select NONE if you do not
1515
+ # wish to payment gate the commit balance.
1516
+ #
1517
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
1518
+ module PaymentGateType
1519
+ extend MetronomeSDK::Internal::Type::Enum
1520
+
1521
+ NONE = :NONE
1522
+ STRIPE = :STRIPE
1523
+ EXTERNAL = :EXTERNAL
1524
+
1525
+ # @!method self.values
1526
+ # @return [Array<Symbol>]
1527
+ end
1528
+
1529
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
1530
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1531
+ # @!attribute payment_type
1532
+ # If left blank, will default to INVOICE
1533
+ #
1534
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
1535
+ required :payment_type,
1536
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
1537
+
1538
+ # @!method initialize(payment_type:)
1539
+ # Only applicable if using Stripe as your payment gateway through Metronome.
1540
+ #
1541
+ # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
1542
+
1543
+ # If left blank, will default to INVOICE
1544
+ #
1545
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
1546
+ module PaymentType
1547
+ extend MetronomeSDK::Internal::Type::Enum
1548
+
1549
+ INVOICE = :INVOICE
1550
+ PAYMENT_INTENT = :PAYMENT_INTENT
1551
+
1552
+ # @!method self.values
1553
+ # @return [Array<Symbol>]
1554
+ end
1555
+ end
1556
+
1557
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1558
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1559
+ # will default to NONE.
1560
+ #
1561
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
1562
+ module TaxType
1563
+ extend MetronomeSDK::Internal::Type::Enum
1564
+
1565
+ NONE = :NONE
1566
+ STRIPE = :STRIPE
1567
+
1568
+ # @!method self.values
1569
+ # @return [Array<Symbol>]
1570
+ end
1571
+ end
1572
+ end
1573
+
1574
+ class AddProService < MetronomeSDK::Internal::Type::BaseModel
1575
+ # @!attribute id
1576
+ #
1577
+ # @return [String]
1578
+ required :id, String
1579
+
1580
+ # @!attribute max_amount
1581
+ # Maximum amount for the term.
1582
+ #
1583
+ # @return [Float]
1584
+ required :max_amount, Float
1585
+
1586
+ # @!attribute product_id
1587
+ #
1588
+ # @return [String]
1589
+ required :product_id, String
1590
+
1591
+ # @!attribute quantity
1592
+ # Quantity for the charge. Will be multiplied by unit_price to determine the
1593
+ # amount.
1594
+ #
1595
+ # @return [Float]
1596
+ required :quantity, Float
1597
+
1598
+ # @!attribute unit_price
1599
+ # Unit price for the charge. Will be multiplied by quantity to determine the
1600
+ # amount and must be specified.
1601
+ #
1602
+ # @return [Float]
1603
+ required :unit_price, Float
1604
+
1605
+ # @!attribute custom_fields
1606
+ #
1607
+ # @return [Hash{Symbol=>String}, nil]
1608
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
1609
+
1610
+ # @!attribute description
1611
+ #
1612
+ # @return [String, nil]
1613
+ optional :description, String
1614
+
1615
+ # @!attribute netsuite_sales_order_id
1616
+ # This field's availability is dependent on your client's configuration.
1617
+ #
1618
+ # @return [String, nil]
1619
+ optional :netsuite_sales_order_id, String
1620
+
1621
+ # @!method initialize(id:, max_amount:, product_id:, quantity:, unit_price:, custom_fields: nil, description: nil, netsuite_sales_order_id: nil)
1622
+ # Some parameter documentations has been truncated, see
1623
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddProService}
1624
+ # for more details.
1625
+ #
1626
+ # @param id [String]
1627
+ #
1628
+ # @param max_amount [Float] Maximum amount for the term.
1629
+ #
1630
+ # @param product_id [String]
1631
+ #
1632
+ # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
1633
+ #
1634
+ # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
1635
+ #
1636
+ # @param custom_fields [Hash{Symbol=>String}]
1637
+ #
1638
+ # @param description [String]
1639
+ #
1640
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
1641
+ end
1642
+
1643
+ class AddRecurringCommit < MetronomeSDK::Internal::Type::BaseModel
1644
+ # @!attribute id
1645
+ #
1646
+ # @return [String]
1647
+ required :id, String
1648
+
1649
+ # @!attribute access_amount
1650
+ # The amount of commit to grant.
1651
+ #
1652
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::AccessAmount]
1653
+ required :access_amount,
1654
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::AccessAmount }
1655
+
1656
+ # @!attribute commit_duration
1657
+ # The amount of time the created commits will be valid for
1658
+ #
1659
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::CommitDuration]
1660
+ required :commit_duration,
1661
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::CommitDuration }
1662
+
1663
+ # @!attribute priority
1664
+ # Will be passed down to the individual commits
1665
+ #
1666
+ # @return [Float]
1667
+ required :priority, Float
1668
+
1669
+ # @!attribute product
1670
+ #
1671
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Product]
1672
+ required :product,
1673
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Product }
1674
+
1675
+ # @!attribute rate_type
1676
+ # Whether the created commits will use the commit rate or list rate
1677
+ #
1678
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RateType]
1679
+ required :rate_type,
1680
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RateType }
1681
+
1682
+ # @!attribute starting_at
1683
+ # Determines the start time for the first commit
765
1684
  #
766
1685
  # @return [Time]
767
1686
  required :starting_at, Time
@@ -827,7 +1746,7 @@ module MetronomeSDK
827
1746
  # The frequency at which the recurring commits will be created. If not provided: -
828
1747
  # The commits will be created on the usage invoice frequency. If provided: - The
829
1748
  # period defined in the duration will correspond to this frequency. - Commits will
830
- # be created aligned with the recurring commit's start_date rather than the usage
1749
+ # be created aligned with the recurring commit's starting_at rather than the usage
831
1750
  # invoice dates.
832
1751
  #
833
1752
  # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RecurrenceFrequency, nil]
@@ -842,7 +1761,16 @@ module MetronomeSDK
842
1761
  # @return [Float, nil]
843
1762
  optional :rollover_fraction, Float
844
1763
 
845
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil)
1764
+ # @!attribute specifiers
1765
+ # List of filters that determine what kind of customer usage draws down a commit
1766
+ # or credit. A customer's usage needs to meet the condition of at least one of the
1767
+ # specifiers to contribute to a commit's or credit's drawdown.
1768
+ #
1769
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Specifier>, nil]
1770
+ optional :specifiers,
1771
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Specifier] }
1772
+
1773
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
846
1774
  # Some parameter documentations has been truncated, see
847
1775
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit}
848
1776
  # for more details.
@@ -878,13 +1806,12 @@ module MetronomeSDK
878
1806
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
879
1807
  #
880
1808
  # @param proration [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
881
- # ...
882
1809
  #
883
1810
  # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
884
- # ...
885
1811
  #
886
1812
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
887
- # ...
1813
+ #
1814
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
888
1815
 
889
1816
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#access_amount
890
1817
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -1026,7 +1953,7 @@ module MetronomeSDK
1026
1953
  # The frequency at which the recurring commits will be created. If not provided: -
1027
1954
  # The commits will be created on the usage invoice frequency. If provided: - The
1028
1955
  # period defined in the duration will correspond to this frequency. - Commits will
1029
- # be created aligned with the recurring commit's start_date rather than the usage
1956
+ # be created aligned with the recurring commit's starting_at rather than the usage
1030
1957
  # invoice dates.
1031
1958
  #
1032
1959
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#recurrence_frequency
@@ -1041,6 +1968,44 @@ module MetronomeSDK
1041
1968
  # @!method self.values
1042
1969
  # @return [Array<Symbol>]
1043
1970
  end
1971
+
1972
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1973
+ # @!attribute presentation_group_values
1974
+ #
1975
+ # @return [Hash{Symbol=>String}, nil]
1976
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1977
+
1978
+ # @!attribute pricing_group_values
1979
+ #
1980
+ # @return [Hash{Symbol=>String}, nil]
1981
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1982
+
1983
+ # @!attribute product_id
1984
+ # If provided, the specifier will only apply to the product with the specified ID.
1985
+ #
1986
+ # @return [String, nil]
1987
+ optional :product_id, String
1988
+
1989
+ # @!attribute product_tags
1990
+ # If provided, the specifier will only apply to products with all the specified
1991
+ # tags.
1992
+ #
1993
+ # @return [Array<String>, nil]
1994
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1995
+
1996
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1997
+ # Some parameter documentations has been truncated, see
1998
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Specifier}
1999
+ # for more details.
2000
+ #
2001
+ # @param presentation_group_values [Hash{Symbol=>String}]
2002
+ #
2003
+ # @param pricing_group_values [Hash{Symbol=>String}]
2004
+ #
2005
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2006
+ #
2007
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2008
+ end
1044
2009
  end
1045
2010
 
1046
2011
  class AddRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -1142,7 +2107,7 @@ module MetronomeSDK
1142
2107
  # The frequency at which the recurring commits will be created. If not provided: -
1143
2108
  # The commits will be created on the usage invoice frequency. If provided: - The
1144
2109
  # period defined in the duration will correspond to this frequency. - Commits will
1145
- # be created aligned with the recurring commit's start_date rather than the usage
2110
+ # be created aligned with the recurring commit's starting_at rather than the usage
1146
2111
  # invoice dates.
1147
2112
  #
1148
2113
  # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::RecurrenceFrequency, nil]
@@ -1157,7 +2122,16 @@ module MetronomeSDK
1157
2122
  # @return [Float, nil]
1158
2123
  optional :rollover_fraction, Float
1159
2124
 
1160
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil)
2125
+ # @!attribute specifiers
2126
+ # List of filters that determine what kind of customer usage draws down a commit
2127
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2128
+ # specifiers to contribute to a commit's or credit's drawdown.
2129
+ #
2130
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Specifier>, nil]
2131
+ optional :specifiers,
2132
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Specifier] }
2133
+
2134
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
1161
2135
  # Some parameter documentations has been truncated, see
1162
2136
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit}
1163
2137
  # for more details.
@@ -1191,13 +2165,12 @@ module MetronomeSDK
1191
2165
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
1192
2166
  #
1193
2167
  # @param proration [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
1194
- # ...
1195
2168
  #
1196
2169
  # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
1197
- # ...
1198
2170
  #
1199
2171
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
1200
- # ...
2172
+ #
2173
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
1201
2174
 
1202
2175
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#access_amount
1203
2176
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -1314,7 +2287,7 @@ module MetronomeSDK
1314
2287
  # The frequency at which the recurring commits will be created. If not provided: -
1315
2288
  # The commits will be created on the usage invoice frequency. If provided: - The
1316
2289
  # period defined in the duration will correspond to this frequency. - Commits will
1317
- # be created aligned with the recurring commit's start_date rather than the usage
2290
+ # be created aligned with the recurring commit's starting_at rather than the usage
1318
2291
  # invoice dates.
1319
2292
  #
1320
2293
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#recurrence_frequency
@@ -1329,6 +2302,44 @@ module MetronomeSDK
1329
2302
  # @!method self.values
1330
2303
  # @return [Array<Symbol>]
1331
2304
  end
2305
+
2306
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2307
+ # @!attribute presentation_group_values
2308
+ #
2309
+ # @return [Hash{Symbol=>String}, nil]
2310
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2311
+
2312
+ # @!attribute pricing_group_values
2313
+ #
2314
+ # @return [Hash{Symbol=>String}, nil]
2315
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2316
+
2317
+ # @!attribute product_id
2318
+ # If provided, the specifier will only apply to the product with the specified ID.
2319
+ #
2320
+ # @return [String, nil]
2321
+ optional :product_id, String
2322
+
2323
+ # @!attribute product_tags
2324
+ # If provided, the specifier will only apply to products with all the specified
2325
+ # tags.
2326
+ #
2327
+ # @return [Array<String>, nil]
2328
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2329
+
2330
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2331
+ # Some parameter documentations has been truncated, see
2332
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Specifier}
2333
+ # for more details.
2334
+ #
2335
+ # @param presentation_group_values [Hash{Symbol=>String}]
2336
+ #
2337
+ # @param pricing_group_values [Hash{Symbol=>String}]
2338
+ #
2339
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2340
+ #
2341
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2342
+ end
1332
2343
  end
1333
2344
 
1334
2345
  class AddResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
@@ -1441,8 +2452,9 @@ module MetronomeSDK
1441
2452
 
1442
2453
  # @!attribute schedule
1443
2454
  #
1444
- # @return [MetronomeSDK::Models::SchedulePointInTime]
1445
- required :schedule, -> { MetronomeSDK::Models::SchedulePointInTime }
2455
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule]
2456
+ required :schedule,
2457
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule }
1446
2458
 
1447
2459
  # @!attribute name
1448
2460
  # displayed on invoices
@@ -1461,7 +2473,7 @@ module MetronomeSDK
1461
2473
  #
1462
2474
  # @param product [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Product]
1463
2475
  #
1464
- # @param schedule [MetronomeSDK::Models::SchedulePointInTime]
2476
+ # @param schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule]
1465
2477
  #
1466
2478
  # @param name [String] displayed on invoices
1467
2479
  #
@@ -1483,13 +2495,450 @@ module MetronomeSDK
1483
2495
  # @param id [String]
1484
2496
  # @param name [String]
1485
2497
  end
1486
- end
1487
2498
 
1488
- class AddUsageFilter < MetronomeSDK::Internal::Type::BaseModel
1489
- # @!attribute group_key
1490
- #
1491
- # @return [String]
1492
- required :group_key, String
2499
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge#schedule
2500
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
2501
+ # @!attribute credit_type
2502
+ #
2503
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::CreditType, nil]
2504
+ optional :credit_type,
2505
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::CreditType }
2506
+
2507
+ # @!attribute schedule_items
2508
+ #
2509
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::ScheduleItem>, nil]
2510
+ optional :schedule_items,
2511
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::ScheduleItem] }
2512
+
2513
+ # @!method initialize(credit_type: nil, schedule_items: nil)
2514
+ # @param credit_type [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::CreditType]
2515
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::ScheduleItem>]
2516
+
2517
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule#credit_type
2518
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
2519
+ # @!attribute id
2520
+ #
2521
+ # @return [String]
2522
+ required :id, String
2523
+
2524
+ # @!attribute name
2525
+ #
2526
+ # @return [String]
2527
+ required :name, String
2528
+
2529
+ # @!method initialize(id:, name:)
2530
+ # @param id [String]
2531
+ # @param name [String]
2532
+ end
2533
+
2534
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2535
+ # @!attribute id
2536
+ #
2537
+ # @return [String]
2538
+ required :id, String
2539
+
2540
+ # @!attribute amount
2541
+ #
2542
+ # @return [Float]
2543
+ required :amount, Float
2544
+
2545
+ # @!attribute invoice_id
2546
+ #
2547
+ # @return [String]
2548
+ required :invoice_id, String
2549
+
2550
+ # @!attribute quantity
2551
+ #
2552
+ # @return [Float]
2553
+ required :quantity, Float
2554
+
2555
+ # @!attribute timestamp
2556
+ #
2557
+ # @return [Time]
2558
+ required :timestamp, Time
2559
+
2560
+ # @!attribute unit_price
2561
+ #
2562
+ # @return [Float]
2563
+ required :unit_price, Float
2564
+
2565
+ # @!method initialize(id:, amount:, invoice_id:, quantity:, timestamp:, unit_price:)
2566
+ # @param id [String]
2567
+ # @param amount [Float]
2568
+ # @param invoice_id [String]
2569
+ # @param quantity [Float]
2570
+ # @param timestamp [Time]
2571
+ # @param unit_price [Float]
2572
+ end
2573
+ end
2574
+ end
2575
+
2576
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data#add_spend_threshold_configuration
2577
+ class AddSpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
2578
+ # @!attribute commit
2579
+ #
2580
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::Commit]
2581
+ required :commit,
2582
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::Commit }
2583
+
2584
+ # @!attribute is_enabled
2585
+ # When set to false, the contract will not be evaluated against the
2586
+ # threshold_amount. Toggling to true will result an immediate evaluation,
2587
+ # regardless of prior state.
2588
+ #
2589
+ # @return [Boolean]
2590
+ required :is_enabled, MetronomeSDK::Internal::Type::Boolean
2591
+
2592
+ # @!attribute payment_gate_config
2593
+ #
2594
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig]
2595
+ required :payment_gate_config,
2596
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig }
2597
+
2598
+ # @!attribute threshold_amount
2599
+ # Specify the threshold amount for the contract. Each time the contract's usage
2600
+ # hits this amount, a threshold charge will be initiated.
2601
+ #
2602
+ # @return [Float]
2603
+ required :threshold_amount, Float
2604
+
2605
+ # @!method initialize(commit:, is_enabled:, payment_gate_config:, threshold_amount:)
2606
+ # Some parameter documentations has been truncated, see
2607
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration}
2608
+ # for more details.
2609
+ #
2610
+ # @param commit [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::Commit]
2611
+ #
2612
+ # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
2613
+ #
2614
+ # @param payment_gate_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig]
2615
+ #
2616
+ # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
2617
+
2618
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration#commit
2619
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
2620
+ # @!attribute product_id
2621
+ # The commit product that will be used to generate the line item for commit
2622
+ # payment.
2623
+ #
2624
+ # @return [String]
2625
+ required :product_id, String
2626
+
2627
+ # @!attribute description
2628
+ #
2629
+ # @return [String, nil]
2630
+ optional :description, String
2631
+
2632
+ # @!attribute name
2633
+ # Specify the name of the line item for the threshold charge. If left blank, it
2634
+ # will default to the commit product name.
2635
+ #
2636
+ # @return [String, nil]
2637
+ optional :name, String
2638
+
2639
+ # @!method initialize(product_id:, description: nil, name: nil)
2640
+ # Some parameter documentations has been truncated, see
2641
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::Commit}
2642
+ # for more details.
2643
+ #
2644
+ # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
2645
+ #
2646
+ # @param description [String]
2647
+ #
2648
+ # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
2649
+ end
2650
+
2651
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration#payment_gate_config
2652
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
2653
+ # @!attribute payment_gate_type
2654
+ # Gate access to the commit balance based on successful collection of payment.
2655
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
2656
+ # facilitate payment using your own payment integration. Select NONE if you do not
2657
+ # wish to payment gate the commit balance.
2658
+ #
2659
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
2660
+ required :payment_gate_type,
2661
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType }
2662
+
2663
+ # @!attribute stripe_config
2664
+ # Only applicable if using Stripe as your payment gateway through Metronome.
2665
+ #
2666
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
2667
+ optional :stripe_config,
2668
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig }
2669
+
2670
+ # @!attribute tax_type
2671
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
2672
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
2673
+ # will default to NONE.
2674
+ #
2675
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
2676
+ optional :tax_type,
2677
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType }
2678
+
2679
+ # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
2680
+ # Some parameter documentations has been truncated, see
2681
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig}
2682
+ # for more details.
2683
+ #
2684
+ # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
2685
+ #
2686
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
2687
+ #
2688
+ # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
2689
+
2690
+ # Gate access to the commit balance based on successful collection of payment.
2691
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
2692
+ # facilitate payment using your own payment integration. Select NONE if you do not
2693
+ # wish to payment gate the commit balance.
2694
+ #
2695
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
2696
+ module PaymentGateType
2697
+ extend MetronomeSDK::Internal::Type::Enum
2698
+
2699
+ NONE = :NONE
2700
+ STRIPE = :STRIPE
2701
+ EXTERNAL = :EXTERNAL
2702
+
2703
+ # @!method self.values
2704
+ # @return [Array<Symbol>]
2705
+ end
2706
+
2707
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig#stripe_config
2708
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2709
+ # @!attribute payment_type
2710
+ # If left blank, will default to INVOICE
2711
+ #
2712
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
2713
+ required :payment_type,
2714
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
2715
+
2716
+ # @!method initialize(payment_type:)
2717
+ # Only applicable if using Stripe as your payment gateway through Metronome.
2718
+ #
2719
+ # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
2720
+
2721
+ # If left blank, will default to INVOICE
2722
+ #
2723
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
2724
+ module PaymentType
2725
+ extend MetronomeSDK::Internal::Type::Enum
2726
+
2727
+ INVOICE = :INVOICE
2728
+ PAYMENT_INTENT = :PAYMENT_INTENT
2729
+
2730
+ # @!method self.values
2731
+ # @return [Array<Symbol>]
2732
+ end
2733
+ end
2734
+
2735
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
2736
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
2737
+ # will default to NONE.
2738
+ #
2739
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig#tax_type
2740
+ module TaxType
2741
+ extend MetronomeSDK::Internal::Type::Enum
2742
+
2743
+ NONE = :NONE
2744
+ STRIPE = :STRIPE
2745
+
2746
+ # @!method self.values
2747
+ # @return [Array<Symbol>]
2748
+ end
2749
+ end
2750
+ end
2751
+
2752
+ class AddSubscription < MetronomeSDK::Internal::Type::BaseModel
2753
+ # @!attribute collection_schedule
2754
+ #
2755
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::CollectionSchedule]
2756
+ required :collection_schedule,
2757
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::CollectionSchedule }
2758
+
2759
+ # @!attribute proration
2760
+ #
2761
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration]
2762
+ required :proration,
2763
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration }
2764
+
2765
+ # @!attribute quantity_schedule
2766
+ #
2767
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::QuantitySchedule>]
2768
+ required :quantity_schedule,
2769
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::QuantitySchedule] }
2770
+
2771
+ # @!attribute starting_at
2772
+ #
2773
+ # @return [Time]
2774
+ required :starting_at, Time
2775
+
2776
+ # @!attribute subscription_rate
2777
+ #
2778
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate]
2779
+ required :subscription_rate,
2780
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate }
2781
+
2782
+ # @!attribute id
2783
+ #
2784
+ # @return [String, nil]
2785
+ optional :id, String
2786
+
2787
+ # @!attribute custom_fields
2788
+ #
2789
+ # @return [Hash{Symbol=>String}, nil]
2790
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
2791
+
2792
+ # @!attribute description
2793
+ #
2794
+ # @return [String, nil]
2795
+ optional :description, String
2796
+
2797
+ # @!attribute ending_before
2798
+ #
2799
+ # @return [Time, nil]
2800
+ optional :ending_before, Time
2801
+
2802
+ # @!attribute fiat_credit_type_id
2803
+ #
2804
+ # @return [String, nil]
2805
+ optional :fiat_credit_type_id, String
2806
+
2807
+ # @!attribute name
2808
+ #
2809
+ # @return [String, nil]
2810
+ optional :name, String
2811
+
2812
+ # @!method initialize(collection_schedule:, proration:, quantity_schedule:, starting_at:, subscription_rate:, id: nil, custom_fields: nil, description: nil, ending_before: nil, fiat_credit_type_id: nil, name: nil)
2813
+ # @param collection_schedule [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::CollectionSchedule]
2814
+ # @param proration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration]
2815
+ # @param quantity_schedule [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::QuantitySchedule>]
2816
+ # @param starting_at [Time]
2817
+ # @param subscription_rate [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate]
2818
+ # @param id [String]
2819
+ # @param custom_fields [Hash{Symbol=>String}]
2820
+ # @param description [String]
2821
+ # @param ending_before [Time]
2822
+ # @param fiat_credit_type_id [String]
2823
+ # @param name [String]
2824
+
2825
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription#collection_schedule
2826
+ module CollectionSchedule
2827
+ extend MetronomeSDK::Internal::Type::Enum
2828
+
2829
+ ADVANCE = :ADVANCE
2830
+ ARREARS = :ARREARS
2831
+
2832
+ # @!method self.values
2833
+ # @return [Array<Symbol>]
2834
+ end
2835
+
2836
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription#proration
2837
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
2838
+ # @!attribute invoice_behavior
2839
+ #
2840
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::InvoiceBehavior]
2841
+ required :invoice_behavior,
2842
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::InvoiceBehavior }
2843
+
2844
+ # @!attribute is_prorated
2845
+ #
2846
+ # @return [Boolean]
2847
+ required :is_prorated, MetronomeSDK::Internal::Type::Boolean
2848
+
2849
+ # @!method initialize(invoice_behavior:, is_prorated:)
2850
+ # @param invoice_behavior [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::InvoiceBehavior]
2851
+ # @param is_prorated [Boolean]
2852
+
2853
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration#invoice_behavior
2854
+ module InvoiceBehavior
2855
+ extend MetronomeSDK::Internal::Type::Enum
2856
+
2857
+ BILL_IMMEDIATELY = :BILL_IMMEDIATELY
2858
+ BILL_ON_NEXT_COLLECTION_DATE = :BILL_ON_NEXT_COLLECTION_DATE
2859
+
2860
+ # @!method self.values
2861
+ # @return [Array<Symbol>]
2862
+ end
2863
+ end
2864
+
2865
+ class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
2866
+ # @!attribute quantity
2867
+ #
2868
+ # @return [Float]
2869
+ required :quantity, Float
2870
+
2871
+ # @!attribute starting_at
2872
+ #
2873
+ # @return [Time]
2874
+ required :starting_at, Time
2875
+
2876
+ # @!attribute ending_before
2877
+ #
2878
+ # @return [Time, nil]
2879
+ optional :ending_before, Time
2880
+
2881
+ # @!method initialize(quantity:, starting_at:, ending_before: nil)
2882
+ # @param quantity [Float]
2883
+ # @param starting_at [Time]
2884
+ # @param ending_before [Time]
2885
+ end
2886
+
2887
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription#subscription_rate
2888
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
2889
+ # @!attribute billing_frequency
2890
+ #
2891
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::BillingFrequency]
2892
+ required :billing_frequency,
2893
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::BillingFrequency }
2894
+
2895
+ # @!attribute product
2896
+ #
2897
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::Product]
2898
+ required :product,
2899
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::Product }
2900
+
2901
+ # @!method initialize(billing_frequency:, product:)
2902
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::BillingFrequency]
2903
+ # @param product [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate::Product]
2904
+
2905
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate#billing_frequency
2906
+ module BillingFrequency
2907
+ extend MetronomeSDK::Internal::Type::Enum
2908
+
2909
+ MONTHLY = :MONTHLY
2910
+ QUARTERLY = :QUARTERLY
2911
+ ANNUAL = :ANNUAL
2912
+ WEEKLY = :WEEKLY
2913
+
2914
+ # @!method self.values
2915
+ # @return [Array<Symbol>]
2916
+ end
2917
+
2918
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SubscriptionRate#product
2919
+ class Product < MetronomeSDK::Internal::Type::BaseModel
2920
+ # @!attribute id
2921
+ #
2922
+ # @return [String]
2923
+ required :id, String
2924
+
2925
+ # @!attribute name
2926
+ #
2927
+ # @return [String]
2928
+ required :name, String
2929
+
2930
+ # @!method initialize(id:, name:)
2931
+ # @param id [String]
2932
+ # @param name [String]
2933
+ end
2934
+ end
2935
+ end
2936
+
2937
+ class AddUsageFilter < MetronomeSDK::Internal::Type::BaseModel
2938
+ # @!attribute group_key
2939
+ #
2940
+ # @return [String]
2941
+ required :group_key, String
1493
2942
 
1494
2943
  # @!attribute group_values
1495
2944
  #
@@ -1520,10 +2969,8 @@ module MetronomeSDK
1520
2969
  # @param group_values [Array<String>]
1521
2970
  #
1522
2971
  # @param starting_at [Time] This will match contract starting_at value if usage filter is active from the be
1523
- # ...
1524
2972
  #
1525
2973
  # @param ending_before [Time] This will match contract ending_before value if usage filter is active until the
1526
- # ...
1527
2974
  end
1528
2975
 
1529
2976
  class ArchiveCommit < MetronomeSDK::Internal::Type::BaseModel
@@ -1618,7 +3065,17 @@ module MetronomeSDK
1618
3065
  # @return [Float, nil]
1619
3066
  optional :rollover_fraction, Float, nil?: true
1620
3067
 
1621
- # @!method initialize(id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, product_id: nil, rollover_fraction: nil)
3068
+ # @!attribute specifiers
3069
+ # List of filters that determine what kind of customer usage draws down a commit
3070
+ # or credit. A customer's usage needs to meet the condition of at least one of the
3071
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
3072
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
3073
+ #
3074
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier>, nil]
3075
+ optional :specifiers,
3076
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier] }
3077
+
3078
+ # @!method initialize(id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, product_id: nil, rollover_fraction: nil, specifiers: nil)
1622
3079
  # Some parameter documentations has been truncated, see
1623
3080
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit}
1624
3081
  # for more details.
@@ -1628,10 +3085,8 @@ module MetronomeSDK
1628
3085
  # @param access_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::AccessSchedule]
1629
3086
  #
1630
3087
  # @param applicable_product_ids [Array<String>, nil] Which products the commit applies to. If both applicable_product_ids and applica
1631
- # ...
1632
3088
  #
1633
3089
  # @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If both applicable*product_ids and applicable*
1634
- # ...
1635
3090
  #
1636
3091
  # @param invoice_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule]
1637
3092
  #
@@ -1642,6 +3097,8 @@ module MetronomeSDK
1642
3097
  # @param product_id [String]
1643
3098
  #
1644
3099
  # @param rollover_fraction [Float, nil]
3100
+ #
3101
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
1645
3102
 
1646
3103
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit#access_schedule
1647
3104
  class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
@@ -1859,15 +3316,53 @@ module MetronomeSDK
1859
3316
  # @param unit_price [Float]
1860
3317
  end
1861
3318
  end
1862
- end
1863
3319
 
1864
- class UpdateCredit < MetronomeSDK::Internal::Type::BaseModel
1865
- # @!attribute id
1866
- #
1867
- # @return [String]
1868
- required :id, String
3320
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
3321
+ # @!attribute presentation_group_values
3322
+ #
3323
+ # @return [Hash{Symbol=>String}, nil]
3324
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1869
3325
 
1870
- # @!attribute access_schedule
3326
+ # @!attribute pricing_group_values
3327
+ #
3328
+ # @return [Hash{Symbol=>String}, nil]
3329
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3330
+
3331
+ # @!attribute product_id
3332
+ # If provided, the specifier will only apply to the product with the specified ID.
3333
+ #
3334
+ # @return [String, nil]
3335
+ optional :product_id, String
3336
+
3337
+ # @!attribute product_tags
3338
+ # If provided, the specifier will only apply to products with all the specified
3339
+ # tags.
3340
+ #
3341
+ # @return [Array<String>, nil]
3342
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
3343
+
3344
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
3345
+ # Some parameter documentations has been truncated, see
3346
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier}
3347
+ # for more details.
3348
+ #
3349
+ # @param presentation_group_values [Hash{Symbol=>String}]
3350
+ #
3351
+ # @param pricing_group_values [Hash{Symbol=>String}]
3352
+ #
3353
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
3354
+ #
3355
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3356
+ end
3357
+ end
3358
+
3359
+ class UpdateCredit < MetronomeSDK::Internal::Type::BaseModel
3360
+ # @!attribute id
3361
+ #
3362
+ # @return [String]
3363
+ required :id, String
3364
+
3365
+ # @!attribute access_schedule
1871
3366
  #
1872
3367
  # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule, nil]
1873
3368
  optional :access_schedule,
@@ -2076,7 +3571,6 @@ module MetronomeSDK
2076
3571
  # @param credit_type_id [String] Defaults to USD if not passed. Only USD is supported at this time.
2077
3572
  #
2078
3573
  # @param recurring_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
2079
- # ...
2080
3574
  #
2081
3575
  # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
2082
3576
 
@@ -2148,13 +3642,10 @@ module MetronomeSDK
2148
3642
  # @param starting_at [Time] RFC 3339 timestamp (inclusive).
2149
3643
  #
2150
3644
  # @param amount [Float] Amount for the charge. Can be provided instead of unit_price and quantity. If am
2151
- # ...
2152
3645
  #
2153
3646
  # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
2154
- # ...
2155
3647
  #
2156
3648
  # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
2157
- # ...
2158
3649
 
2159
3650
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::RecurringSchedule#amount_distribution
2160
3651
  module AmountDistribution
@@ -2222,17 +3713,375 @@ module MetronomeSDK
2222
3713
  # @param timestamp [Time] timestamp of the scheduled event
2223
3714
  #
2224
3715
  # @param amount [Float] Amount for the charge. Can be provided instead of unit_price and quantity. If am
2225
- # ...
2226
3716
  #
2227
3717
  # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
2228
- # ...
2229
3718
  #
2230
3719
  # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
2231
- # ...
2232
3720
  end
2233
3721
  end
2234
3722
  end
2235
3723
 
3724
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data#update_prepaid_balance_threshold_configuration
3725
+ class UpdatePrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
3726
+ # @!attribute commit
3727
+ #
3728
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit, nil]
3729
+ optional :commit,
3730
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit }
3731
+
3732
+ # @!attribute is_enabled
3733
+ # When set to false, the contract will not be evaluated against the
3734
+ # threshold_amount. Toggling to true will result an immediate evaluation,
3735
+ # regardless of prior state.
3736
+ #
3737
+ # @return [Boolean, nil]
3738
+ optional :is_enabled, MetronomeSDK::Internal::Type::Boolean
3739
+
3740
+ # @!attribute payment_gate_config
3741
+ #
3742
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig, nil]
3743
+ optional :payment_gate_config,
3744
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig }
3745
+
3746
+ # @!attribute recharge_to_amount
3747
+ # Specify the amount the balance should be recharged to.
3748
+ #
3749
+ # @return [Float, nil]
3750
+ optional :recharge_to_amount, Float
3751
+
3752
+ # @!attribute threshold_amount
3753
+ # Specify the threshold amount for the contract. Each time the contract's balance
3754
+ # lowers to this amount, a threshold charge will be initiated.
3755
+ #
3756
+ # @return [Float, nil]
3757
+ optional :threshold_amount, Float
3758
+
3759
+ # @!method initialize(commit: nil, is_enabled: nil, payment_gate_config: nil, recharge_to_amount: nil, threshold_amount: nil)
3760
+ # Some parameter documentations has been truncated, see
3761
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration}
3762
+ # for more details.
3763
+ #
3764
+ # @param commit [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit]
3765
+ #
3766
+ # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
3767
+ #
3768
+ # @param payment_gate_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig]
3769
+ #
3770
+ # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
3771
+ #
3772
+ # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
3773
+
3774
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration#commit
3775
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
3776
+ # @!attribute applicable_product_ids
3777
+ # Which products the threshold commit applies to. If both applicable_product_ids
3778
+ # and applicable_product_tags are not provided, the commit applies to all
3779
+ # products.
3780
+ #
3781
+ # @return [Array<String>, nil]
3782
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3783
+
3784
+ # @!attribute applicable_product_tags
3785
+ # Which tags the threshold commit applies to. If both applicable_product_ids and
3786
+ # applicable_product_tags are not provided, the commit applies to all products.
3787
+ #
3788
+ # @return [Array<String>, nil]
3789
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
3790
+
3791
+ # @!attribute description
3792
+ #
3793
+ # @return [String, nil]
3794
+ optional :description, String
3795
+
3796
+ # @!attribute name
3797
+ # Specify the name of the line item for the threshold charge. If left blank, it
3798
+ # will default to the commit product name.
3799
+ #
3800
+ # @return [String, nil]
3801
+ optional :name, String
3802
+
3803
+ # @!attribute product_id
3804
+ # The commit product that will be used to generate the line item for commit
3805
+ # payment.
3806
+ #
3807
+ # @return [String, nil]
3808
+ optional :product_id, String
3809
+
3810
+ # @!attribute specifiers
3811
+ # List of filters that determine what kind of customer usage draws down a commit
3812
+ # or credit. A customer's usage needs to meet the condition of at least one of the
3813
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
3814
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
3815
+ #
3816
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
3817
+ optional :specifiers,
3818
+ -> do
3819
+ MetronomeSDK::Internal::Type::ArrayOf[
3820
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier
3821
+ ]
3822
+ end
3823
+
3824
+ # @!method initialize(applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, product_id: nil, specifiers: nil)
3825
+ # Some parameter documentations has been truncated, see
3826
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit}
3827
+ # for more details.
3828
+ #
3829
+ # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
3830
+ #
3831
+ # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
3832
+ #
3833
+ # @param description [String]
3834
+ #
3835
+ # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
3836
+ #
3837
+ # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
3838
+ #
3839
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
3840
+
3841
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
3842
+ # @!attribute presentation_group_values
3843
+ #
3844
+ # @return [Hash{Symbol=>String}, nil]
3845
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3846
+
3847
+ # @!attribute pricing_group_values
3848
+ #
3849
+ # @return [Hash{Symbol=>String}, nil]
3850
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3851
+
3852
+ # @!attribute product_id
3853
+ # If provided, the specifier will only apply to the product with the specified ID.
3854
+ #
3855
+ # @return [String, nil]
3856
+ optional :product_id, String
3857
+
3858
+ # @!attribute product_tags
3859
+ # If provided, the specifier will only apply to products with all the specified
3860
+ # tags.
3861
+ #
3862
+ # @return [Array<String>, nil]
3863
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
3864
+
3865
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
3866
+ # Some parameter documentations has been truncated, see
3867
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier}
3868
+ # for more details.
3869
+ #
3870
+ # @param presentation_group_values [Hash{Symbol=>String}]
3871
+ #
3872
+ # @param pricing_group_values [Hash{Symbol=>String}]
3873
+ #
3874
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
3875
+ #
3876
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3877
+ end
3878
+ end
3879
+
3880
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration#payment_gate_config
3881
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
3882
+ # @!attribute payment_gate_type
3883
+ # Gate access to the commit balance based on successful collection of payment.
3884
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
3885
+ # facilitate payment using your own payment integration. Select NONE if you do not
3886
+ # wish to payment gate the commit balance.
3887
+ #
3888
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
3889
+ required :payment_gate_type,
3890
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType }
3891
+
3892
+ # @!attribute stripe_config
3893
+ # Only applicable if using Stripe as your payment gateway through Metronome.
3894
+ #
3895
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
3896
+ optional :stripe_config,
3897
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig }
3898
+
3899
+ # @!attribute tax_type
3900
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
3901
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
3902
+ # will default to NONE.
3903
+ #
3904
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
3905
+ optional :tax_type,
3906
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType }
3907
+
3908
+ # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
3909
+ # Some parameter documentations has been truncated, see
3910
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig}
3911
+ # for more details.
3912
+ #
3913
+ # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
3914
+ #
3915
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
3916
+ #
3917
+ # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
3918
+
3919
+ # Gate access to the commit balance based on successful collection of payment.
3920
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
3921
+ # facilitate payment using your own payment integration. Select NONE if you do not
3922
+ # wish to payment gate the commit balance.
3923
+ #
3924
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
3925
+ module PaymentGateType
3926
+ extend MetronomeSDK::Internal::Type::Enum
3927
+
3928
+ NONE = :NONE
3929
+ STRIPE = :STRIPE
3930
+ EXTERNAL = :EXTERNAL
3931
+
3932
+ # @!method self.values
3933
+ # @return [Array<Symbol>]
3934
+ end
3935
+
3936
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
3937
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
3938
+ # @!attribute payment_type
3939
+ # If left blank, will default to INVOICE
3940
+ #
3941
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
3942
+ required :payment_type,
3943
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
3944
+
3945
+ # @!method initialize(payment_type:)
3946
+ # Only applicable if using Stripe as your payment gateway through Metronome.
3947
+ #
3948
+ # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
3949
+
3950
+ # If left blank, will default to INVOICE
3951
+ #
3952
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
3953
+ module PaymentType
3954
+ extend MetronomeSDK::Internal::Type::Enum
3955
+
3956
+ INVOICE = :INVOICE
3957
+ PAYMENT_INTENT = :PAYMENT_INTENT
3958
+
3959
+ # @!method self.values
3960
+ # @return [Array<Symbol>]
3961
+ end
3962
+ end
3963
+
3964
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
3965
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
3966
+ # will default to NONE.
3967
+ #
3968
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
3969
+ module TaxType
3970
+ extend MetronomeSDK::Internal::Type::Enum
3971
+
3972
+ NONE = :NONE
3973
+ STRIPE = :STRIPE
3974
+
3975
+ # @!method self.values
3976
+ # @return [Array<Symbol>]
3977
+ end
3978
+ end
3979
+ end
3980
+
3981
+ class UpdateRecurringCommit < MetronomeSDK::Internal::Type::BaseModel
3982
+ # @!attribute id
3983
+ #
3984
+ # @return [String]
3985
+ required :id, String
3986
+
3987
+ # @!attribute access_amount
3988
+ #
3989
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::AccessAmount, nil]
3990
+ optional :access_amount,
3991
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::AccessAmount }
3992
+
3993
+ # @!attribute ending_before
3994
+ #
3995
+ # @return [Time, nil]
3996
+ optional :ending_before, Time
3997
+
3998
+ # @!attribute invoice_amount
3999
+ #
4000
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::InvoiceAmount, nil]
4001
+ optional :invoice_amount,
4002
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::InvoiceAmount }
4003
+
4004
+ # @!method initialize(id:, access_amount: nil, ending_before: nil, invoice_amount: nil)
4005
+ # @param id [String]
4006
+ # @param access_amount [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::AccessAmount]
4007
+ # @param ending_before [Time]
4008
+ # @param invoice_amount [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::InvoiceAmount]
4009
+
4010
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit#access_amount
4011
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
4012
+ # @!attribute quantity
4013
+ #
4014
+ # @return [Float, nil]
4015
+ optional :quantity, Float
4016
+
4017
+ # @!attribute unit_price
4018
+ #
4019
+ # @return [Float, nil]
4020
+ optional :unit_price, Float
4021
+
4022
+ # @!method initialize(quantity: nil, unit_price: nil)
4023
+ # @param quantity [Float]
4024
+ # @param unit_price [Float]
4025
+ end
4026
+
4027
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit#invoice_amount
4028
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
4029
+ # @!attribute quantity
4030
+ #
4031
+ # @return [Float, nil]
4032
+ optional :quantity, Float
4033
+
4034
+ # @!attribute unit_price
4035
+ #
4036
+ # @return [Float, nil]
4037
+ optional :unit_price, Float
4038
+
4039
+ # @!method initialize(quantity: nil, unit_price: nil)
4040
+ # @param quantity [Float]
4041
+ # @param unit_price [Float]
4042
+ end
4043
+ end
4044
+
4045
+ class UpdateRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
4046
+ # @!attribute id
4047
+ #
4048
+ # @return [String]
4049
+ required :id, String
4050
+
4051
+ # @!attribute access_amount
4052
+ #
4053
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::AccessAmount, nil]
4054
+ optional :access_amount,
4055
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::AccessAmount }
4056
+
4057
+ # @!attribute ending_before
4058
+ #
4059
+ # @return [Time, nil]
4060
+ optional :ending_before, Time
4061
+
4062
+ # @!method initialize(id:, access_amount: nil, ending_before: nil)
4063
+ # @param id [String]
4064
+ # @param access_amount [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::AccessAmount]
4065
+ # @param ending_before [Time]
4066
+
4067
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit#access_amount
4068
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
4069
+ # @!attribute quantity
4070
+ #
4071
+ # @return [Float, nil]
4072
+ optional :quantity, Float
4073
+
4074
+ # @!attribute unit_price
4075
+ #
4076
+ # @return [Float, nil]
4077
+ optional :unit_price, Float
4078
+
4079
+ # @!method initialize(quantity: nil, unit_price: nil)
4080
+ # @param quantity [Float]
4081
+ # @param unit_price [Float]
4082
+ end
4083
+ end
4084
+
2236
4085
  class UpdateRefundInvoice < MetronomeSDK::Internal::Type::BaseModel
2237
4086
  # @!attribute date
2238
4087
  #
@@ -2387,6 +4236,227 @@ module MetronomeSDK
2387
4236
  end
2388
4237
  end
2389
4238
  end
4239
+
4240
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data#update_spend_threshold_configuration
4241
+ class UpdateSpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
4242
+ # @!attribute commit
4243
+ #
4244
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::Commit, nil]
4245
+ optional :commit,
4246
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::Commit }
4247
+
4248
+ # @!attribute is_enabled
4249
+ # When set to false, the contract will not be evaluated against the
4250
+ # threshold_amount. Toggling to true will result an immediate evaluation,
4251
+ # regardless of prior state.
4252
+ #
4253
+ # @return [Boolean, nil]
4254
+ optional :is_enabled, MetronomeSDK::Internal::Type::Boolean
4255
+
4256
+ # @!attribute payment_gate_config
4257
+ #
4258
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig, nil]
4259
+ optional :payment_gate_config,
4260
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig }
4261
+
4262
+ # @!attribute threshold_amount
4263
+ # Specify the threshold amount for the contract. Each time the contract's usage
4264
+ # hits this amount, a threshold charge will be initiated.
4265
+ #
4266
+ # @return [Float, nil]
4267
+ optional :threshold_amount, Float
4268
+
4269
+ # @!method initialize(commit: nil, is_enabled: nil, payment_gate_config: nil, threshold_amount: nil)
4270
+ # Some parameter documentations has been truncated, see
4271
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration}
4272
+ # for more details.
4273
+ #
4274
+ # @param commit [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::Commit]
4275
+ #
4276
+ # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
4277
+ #
4278
+ # @param payment_gate_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig]
4279
+ #
4280
+ # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
4281
+
4282
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration#commit
4283
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
4284
+ # @!attribute description
4285
+ #
4286
+ # @return [String, nil]
4287
+ optional :description, String
4288
+
4289
+ # @!attribute name
4290
+ # Specify the name of the line item for the threshold charge. If left blank, it
4291
+ # will default to the commit product name.
4292
+ #
4293
+ # @return [String, nil]
4294
+ optional :name, String
4295
+
4296
+ # @!attribute product_id
4297
+ # The commit product that will be used to generate the line item for commit
4298
+ # payment.
4299
+ #
4300
+ # @return [String, nil]
4301
+ optional :product_id, String
4302
+
4303
+ # @!method initialize(description: nil, name: nil, product_id: nil)
4304
+ # Some parameter documentations has been truncated, see
4305
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::Commit}
4306
+ # for more details.
4307
+ #
4308
+ # @param description [String]
4309
+ #
4310
+ # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
4311
+ #
4312
+ # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
4313
+ end
4314
+
4315
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration#payment_gate_config
4316
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
4317
+ # @!attribute payment_gate_type
4318
+ # Gate access to the commit balance based on successful collection of payment.
4319
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
4320
+ # facilitate payment using your own payment integration. Select NONE if you do not
4321
+ # wish to payment gate the commit balance.
4322
+ #
4323
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
4324
+ required :payment_gate_type,
4325
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType }
4326
+
4327
+ # @!attribute stripe_config
4328
+ # Only applicable if using Stripe as your payment gateway through Metronome.
4329
+ #
4330
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
4331
+ optional :stripe_config,
4332
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig }
4333
+
4334
+ # @!attribute tax_type
4335
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
4336
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
4337
+ # will default to NONE.
4338
+ #
4339
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
4340
+ optional :tax_type,
4341
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType }
4342
+
4343
+ # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
4344
+ # Some parameter documentations has been truncated, see
4345
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig}
4346
+ # for more details.
4347
+ #
4348
+ # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
4349
+ #
4350
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
4351
+ #
4352
+ # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
4353
+
4354
+ # Gate access to the commit balance based on successful collection of payment.
4355
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
4356
+ # facilitate payment using your own payment integration. Select NONE if you do not
4357
+ # wish to payment gate the commit balance.
4358
+ #
4359
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
4360
+ module PaymentGateType
4361
+ extend MetronomeSDK::Internal::Type::Enum
4362
+
4363
+ NONE = :NONE
4364
+ STRIPE = :STRIPE
4365
+ EXTERNAL = :EXTERNAL
4366
+
4367
+ # @!method self.values
4368
+ # @return [Array<Symbol>]
4369
+ end
4370
+
4371
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig#stripe_config
4372
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
4373
+ # @!attribute payment_type
4374
+ # If left blank, will default to INVOICE
4375
+ #
4376
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
4377
+ required :payment_type,
4378
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
4379
+
4380
+ # @!method initialize(payment_type:)
4381
+ # Only applicable if using Stripe as your payment gateway through Metronome.
4382
+ #
4383
+ # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
4384
+
4385
+ # If left blank, will default to INVOICE
4386
+ #
4387
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
4388
+ module PaymentType
4389
+ extend MetronomeSDK::Internal::Type::Enum
4390
+
4391
+ INVOICE = :INVOICE
4392
+ PAYMENT_INTENT = :PAYMENT_INTENT
4393
+
4394
+ # @!method self.values
4395
+ # @return [Array<Symbol>]
4396
+ end
4397
+ end
4398
+
4399
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
4400
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
4401
+ # will default to NONE.
4402
+ #
4403
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig#tax_type
4404
+ module TaxType
4405
+ extend MetronomeSDK::Internal::Type::Enum
4406
+
4407
+ NONE = :NONE
4408
+ STRIPE = :STRIPE
4409
+
4410
+ # @!method self.values
4411
+ # @return [Array<Symbol>]
4412
+ end
4413
+ end
4414
+ end
4415
+
4416
+ class UpdateSubscription < MetronomeSDK::Internal::Type::BaseModel
4417
+ # @!attribute id
4418
+ #
4419
+ # @return [String]
4420
+ required :id, String
4421
+
4422
+ # @!attribute ending_before
4423
+ #
4424
+ # @return [Time, nil]
4425
+ optional :ending_before, Time
4426
+
4427
+ # @!attribute quantity_updates
4428
+ #
4429
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSubscription::QuantityUpdate>, nil]
4430
+ optional :quantity_updates,
4431
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSubscription::QuantityUpdate] }
4432
+
4433
+ # @!method initialize(id:, ending_before: nil, quantity_updates: nil)
4434
+ # @param id [String]
4435
+ # @param ending_before [Time]
4436
+ # @param quantity_updates [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSubscription::QuantityUpdate>]
4437
+
4438
+ class QuantityUpdate < MetronomeSDK::Internal::Type::BaseModel
4439
+ # @!attribute starting_at
4440
+ #
4441
+ # @return [Time]
4442
+ required :starting_at, Time
4443
+
4444
+ # @!attribute quantity
4445
+ #
4446
+ # @return [Float, nil]
4447
+ optional :quantity, Float
4448
+
4449
+ # @!attribute quantity_delta
4450
+ #
4451
+ # @return [Float, nil]
4452
+ optional :quantity_delta, Float
4453
+
4454
+ # @!method initialize(starting_at:, quantity: nil, quantity_delta: nil)
4455
+ # @param starting_at [Time]
4456
+ # @param quantity [Float]
4457
+ # @param quantity_delta [Float]
4458
+ end
4459
+ end
2390
4460
  end
2391
4461
  end
2392
4462
  end