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
@@ -24,25 +24,19 @@ module MetronomeSDK
24
24
  #
25
25
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration, nil]
26
26
  optional :billing_provider_configuration,
27
- -> { MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration }
27
+ -> { MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration }
28
28
 
29
29
  # @!attribute commits
30
30
  #
31
31
  # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Commit>, nil]
32
32
  optional :commits,
33
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractCreateParams::Commit] }
34
-
35
- # @!attribute credit_balance_threshold_configuration
36
- #
37
- # @return [MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration, nil]
38
- optional :credit_balance_threshold_configuration,
39
- -> { MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration }
33
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Commit] }
40
34
 
41
35
  # @!attribute credits
42
36
  #
43
37
  # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Credit>, nil]
44
38
  optional :credits,
45
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractCreateParams::Credit] }
39
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Credit] }
46
40
 
47
41
  # @!attribute custom_fields
48
42
  #
@@ -54,7 +48,9 @@ module MetronomeSDK
54
48
  #
55
49
  # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Discount>, nil]
56
50
  optional :discounts,
57
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractCreateParams::Discount] }
51
+ -> {
52
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Discount]
53
+ }
58
54
 
59
55
  # @!attribute ending_before
60
56
  # exclusive contract end time
@@ -70,7 +66,7 @@ module MetronomeSDK
70
66
  #
71
67
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::MultiplierOverridePrioritization, nil]
72
68
  optional :multiplier_override_prioritization,
73
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::MultiplierOverridePrioritization }
69
+ enum: -> { MetronomeSDK::V1::ContractCreateParams::MultiplierOverridePrioritization }
74
70
 
75
71
  # @!attribute name
76
72
  #
@@ -92,14 +88,24 @@ module MetronomeSDK
92
88
  #
93
89
  # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override>, nil]
94
90
  optional :overrides,
95
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractCreateParams::Override] }
91
+ -> {
92
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Override]
93
+ }
94
+
95
+ # @!attribute prepaid_balance_threshold_configuration
96
+ #
97
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration, nil]
98
+ optional :prepaid_balance_threshold_configuration,
99
+ -> { MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration }
96
100
 
97
101
  # @!attribute professional_services
98
102
  # This field's availability is dependent on your client's configuration.
99
103
  #
100
104
  # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::ProfessionalService>, nil]
101
105
  optional :professional_services,
102
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractCreateParams::ProfessionalService] }
106
+ -> {
107
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::ProfessionalService]
108
+ }
103
109
 
104
110
  # @!attribute rate_card_alias
105
111
  # Selects the rate card linked to the specified alias as of the contract's start
@@ -117,20 +123,26 @@ module MetronomeSDK
117
123
  #
118
124
  # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit>, nil]
119
125
  optional :recurring_commits,
120
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit] }
126
+ -> {
127
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::RecurringCommit]
128
+ }
121
129
 
122
130
  # @!attribute recurring_credits
123
131
  #
124
132
  # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit>, nil]
125
133
  optional :recurring_credits,
126
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit] }
134
+ -> {
135
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::RecurringCredit]
136
+ }
127
137
 
128
138
  # @!attribute reseller_royalties
129
139
  # This field's availability is dependent on your client's configuration.
130
140
  #
131
141
  # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty>, nil]
132
142
  optional :reseller_royalties,
133
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty] }
143
+ -> {
144
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty]
145
+ }
134
146
 
135
147
  # @!attribute salesforce_opportunity_id
136
148
  # This field's availability is dependent on your client's configuration.
@@ -142,7 +154,9 @@ module MetronomeSDK
142
154
  #
143
155
  # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge>, nil]
144
156
  optional :scheduled_charges,
145
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge] }
157
+ -> {
158
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge]
159
+ }
146
160
 
147
161
  # @!attribute scheduled_charges_on_usage_invoices
148
162
  # Determines which scheduled and commit charges to consolidate onto the Contract's
@@ -153,13 +167,24 @@ module MetronomeSDK
153
167
  #
154
168
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::ScheduledChargesOnUsageInvoices, nil]
155
169
  optional :scheduled_charges_on_usage_invoices,
156
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::ScheduledChargesOnUsageInvoices }
170
+ enum: -> { MetronomeSDK::V1::ContractCreateParams::ScheduledChargesOnUsageInvoices }
157
171
 
158
172
  # @!attribute spend_threshold_configuration
159
173
  #
160
174
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration, nil]
161
175
  optional :spend_threshold_configuration,
162
- -> { MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration }
176
+ -> { MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration }
177
+
178
+ # @!attribute subscriptions
179
+ # (beta) Optional list of
180
+ # [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/)
181
+ # to add to the contract.
182
+ #
183
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Subscription>, nil]
184
+ optional :subscriptions,
185
+ -> {
186
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Subscription]
187
+ }
163
188
 
164
189
  # @!attribute total_contract_value
165
190
  # This field's availability is dependent on your client's configuration.
@@ -170,7 +195,7 @@ module MetronomeSDK
170
195
  # @!attribute transition
171
196
  #
172
197
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::Transition, nil]
173
- optional :transition, -> { MetronomeSDK::Models::V1::ContractCreateParams::Transition }
198
+ optional :transition, -> { MetronomeSDK::V1::ContractCreateParams::Transition }
174
199
 
175
200
  # @!attribute uniqueness_key
176
201
  # Prevents the creation of duplicates. If a request to create a record is made
@@ -182,16 +207,18 @@ module MetronomeSDK
182
207
 
183
208
  # @!attribute usage_filter
184
209
  #
185
- # @return [MetronomeSDK::Models::BaseUsageFilter, nil]
186
- optional :usage_filter, -> { MetronomeSDK::Models::BaseUsageFilter }
210
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::UsageFilter, nil]
211
+ optional :usage_filter, -> { MetronomeSDK::V1::ContractCreateParams::UsageFilter }
187
212
 
188
213
  # @!attribute usage_statement_schedule
189
214
  #
190
215
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule, nil]
191
216
  optional :usage_statement_schedule,
192
- -> { MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule }
217
+ -> {
218
+ MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule
219
+ }
193
220
 
194
- # @!method initialize(customer_id:, starting_at:, billing_provider_configuration: nil, commits: nil, credit_balance_threshold_configuration: nil, credits: nil, custom_fields: nil, discounts: nil, ending_before: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, overrides: nil, professional_services: nil, rate_card_alias: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, total_contract_value: nil, transition: nil, uniqueness_key: nil, usage_filter: nil, usage_statement_schedule: nil, request_options: {})
221
+ # @!method initialize(customer_id:, starting_at:, billing_provider_configuration: nil, commits: nil, credits: nil, custom_fields: nil, discounts: nil, ending_before: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, overrides: nil, prepaid_balance_threshold_configuration: nil, professional_services: nil, rate_card_alias: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, total_contract_value: nil, transition: nil, uniqueness_key: nil, usage_filter: nil, usage_statement_schedule: nil, request_options: {})
195
222
  # Some parameter documentations has been truncated, see
196
223
  # {MetronomeSDK::Models::V1::ContractCreateParams} for more details.
197
224
  #
@@ -203,8 +230,6 @@ module MetronomeSDK
203
230
  #
204
231
  # @param commits [Array<MetronomeSDK::Models::V1::ContractCreateParams::Commit>]
205
232
  #
206
- # @param credit_balance_threshold_configuration [MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration]
207
- #
208
233
  # @param credits [Array<MetronomeSDK::Models::V1::ContractCreateParams::Credit>]
209
234
  #
210
235
  # @param custom_fields [Hash{Symbol=>String}]
@@ -214,7 +239,6 @@ module MetronomeSDK
214
239
  # @param ending_before [Time] exclusive contract end time
215
240
  #
216
241
  # @param multiplier_override_prioritization [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::MultiplierOverridePrioritization] Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list price
217
- # ...
218
242
  #
219
243
  # @param name [String]
220
244
  #
@@ -224,10 +248,11 @@ module MetronomeSDK
224
248
  #
225
249
  # @param overrides [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override>]
226
250
  #
251
+ # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration]
252
+ #
227
253
  # @param professional_services [Array<MetronomeSDK::Models::V1::ContractCreateParams::ProfessionalService>] This field's availability is dependent on your client's configuration.
228
254
  #
229
255
  # @param rate_card_alias [String] Selects the rate card linked to the specified alias as of the contract's start d
230
- # ...
231
256
  #
232
257
  # @param rate_card_id [String]
233
258
  #
@@ -242,18 +267,18 @@ module MetronomeSDK
242
267
  # @param scheduled_charges [Array<MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge>]
243
268
  #
244
269
  # @param scheduled_charges_on_usage_invoices [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::ScheduledChargesOnUsageInvoices] Determines which scheduled and commit charges to consolidate onto the Contract's
245
- # ...
246
270
  #
247
271
  # @param spend_threshold_configuration [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration]
248
272
  #
273
+ # @param subscriptions [Array<MetronomeSDK::Models::V1::ContractCreateParams::Subscription>] (beta) Optional list of [subscriptions](https://docs.metronome.com/manage-produc
274
+ #
249
275
  # @param total_contract_value [Float] This field's availability is dependent on your client's configuration.
250
276
  #
251
277
  # @param transition [MetronomeSDK::Models::V1::ContractCreateParams::Transition]
252
278
  #
253
279
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
254
- # ...
255
280
  #
256
- # @param usage_filter [MetronomeSDK::Models::BaseUsageFilter]
281
+ # @param usage_filter [MetronomeSDK::Models::V1::ContractCreateParams::UsageFilter]
257
282
  #
258
283
  # @param usage_statement_schedule [MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule]
259
284
  #
@@ -264,7 +289,9 @@ module MetronomeSDK
264
289
  #
265
290
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::BillingProvider, nil]
266
291
  optional :billing_provider,
267
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::BillingProvider }
292
+ enum: -> {
293
+ MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::BillingProvider
294
+ }
268
295
 
269
296
  # @!attribute billing_provider_configuration_id
270
297
  # The Metronome ID of the billing provider configuration
@@ -276,7 +303,9 @@ module MetronomeSDK
276
303
  #
277
304
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::DeliveryMethod, nil]
278
305
  optional :delivery_method,
279
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::DeliveryMethod }
306
+ enum: -> {
307
+ MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration::DeliveryMethod
308
+ }
280
309
 
281
310
  # @!method initialize(billing_provider: nil, billing_provider_configuration_id: nil, delivery_method: nil)
282
311
  # The billing provider configuration associated with a contract.
@@ -324,7 +353,7 @@ module MetronomeSDK
324
353
  # @!attribute type
325
354
  #
326
355
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::Type]
327
- required :type, enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::Commit::Type }
356
+ required :type, enum: -> { MetronomeSDK::V1::ContractCreateParams::Commit::Type }
328
357
 
329
358
  # @!attribute access_schedule
330
359
  # Required: Schedule for distributing the commit to the customer. For "POSTPAID"
@@ -332,7 +361,7 @@ module MetronomeSDK
332
361
  # total.
333
362
  #
334
363
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule, nil]
335
- optional :access_schedule, -> { MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule }
364
+ optional :access_schedule, -> { MetronomeSDK::V1::ContractCreateParams::Commit::AccessSchedule }
336
365
 
337
366
  # @!attribute amount
338
367
  # (DEPRECATED) Use access_schedule and invoice_schedule instead.
@@ -372,7 +401,7 @@ module MetronomeSDK
372
401
  # "complimentary" commit with no invoice.
373
402
  #
374
403
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule, nil]
375
- optional :invoice_schedule, -> { MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule }
404
+ optional :invoice_schedule, -> { MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule }
376
405
 
377
406
  # @!attribute name
378
407
  # displayed on invoices
@@ -391,7 +420,9 @@ module MetronomeSDK
391
420
  #
392
421
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig, nil]
393
422
  optional :payment_gate_config,
394
- -> { MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig }
423
+ -> {
424
+ MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig
425
+ }
395
426
 
396
427
  # @!attribute priority
397
428
  # If multiple commits are applicable, the one with the lower priority will apply
@@ -403,7 +434,7 @@ module MetronomeSDK
403
434
  # @!attribute rate_type
404
435
  #
405
436
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::RateType, nil]
406
- optional :rate_type, enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::Commit::RateType }
437
+ optional :rate_type, enum: -> { MetronomeSDK::V1::ContractCreateParams::Commit::RateType }
407
438
 
408
439
  # @!attribute rollover_fraction
409
440
  # Fraction of unused segments that will be rolled over. Must be between 0 and 1.
@@ -411,6 +442,18 @@ module MetronomeSDK
411
442
  # @return [Float, nil]
412
443
  optional :rollover_fraction, Float
413
444
 
445
+ # @!attribute specifiers
446
+ # List of filters that determine what kind of customer usage draws down a commit
447
+ # or credit. A customer's usage needs to meet the condition of at least one of the
448
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
449
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
450
+ #
451
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Commit::Specifier>, nil]
452
+ optional :specifiers,
453
+ -> {
454
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Commit::Specifier]
455
+ }
456
+
414
457
  # @!attribute temporary_id
415
458
  # A temporary ID for the commit that can be used to reference the commit for
416
459
  # commit specific overrides.
@@ -418,7 +461,7 @@ module MetronomeSDK
418
461
  # @return [String, nil]
419
462
  optional :temporary_id, String
420
463
 
421
- # @!method initialize(product_id:, type:, access_schedule: nil, amount: nil, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, payment_gate_config: nil, priority: nil, rate_type: nil, rollover_fraction: nil, temporary_id: nil)
464
+ # @!method initialize(product_id:, type:, access_schedule: nil, amount: nil, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, payment_gate_config: nil, priority: nil, rate_type: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
422
465
  # Some parameter documentations has been truncated, see
423
466
  # {MetronomeSDK::Models::V1::ContractCreateParams::Commit} for more details.
424
467
  #
@@ -427,22 +470,18 @@ module MetronomeSDK
427
470
  # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::Type]
428
471
  #
429
472
  # @param access_schedule [MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule] Required: Schedule for distributing the commit to the customer. For "POSTPAID" c
430
- # ...
431
473
  #
432
474
  # @param amount [Float] (DEPRECATED) Use access_schedule and invoice_schedule instead.
433
475
  #
434
476
  # @param applicable_product_ids [Array<String>] Which products the commit applies to. If both applicable_product_ids and applica
435
- # ...
436
477
  #
437
478
  # @param applicable_product_tags [Array<String>] Which tags the commit applies to. If both applicable*product_ids and applicable*
438
- # ...
439
479
  #
440
480
  # @param custom_fields [Hash{Symbol=>String}]
441
481
  #
442
482
  # @param description [String] Used only in UI/API. It is not exposed to end customers.
443
483
  #
444
484
  # @param invoice_schedule [MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule] Required for "POSTPAID" commits: the true up invoice will be generated at this t
445
- # ...
446
485
  #
447
486
  # @param name [String] displayed on invoices
448
487
  #
@@ -451,14 +490,14 @@ module MetronomeSDK
451
490
  # @param payment_gate_config [MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig] optionally payment gate this commit
452
491
  #
453
492
  # @param priority [Float] If multiple commits are applicable, the one with the lower priority will apply f
454
- # ...
455
493
  #
456
494
  # @param rate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::RateType]
457
495
  #
458
496
  # @param rollover_fraction [Float] Fraction of unused segments that will be rolled over. Must be between 0 and 1.
459
497
  #
498
+ # @param specifiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
499
+ #
460
500
  # @param temporary_id [String] A temporary ID for the commit that can be used to reference the commit for commi
461
- # ...
462
501
 
463
502
  # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit#type
464
503
  module Type
@@ -477,7 +516,9 @@ module MetronomeSDK
477
516
  #
478
517
  # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule::ScheduleItem>]
479
518
  required :schedule_items,
480
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule::ScheduleItem] }
519
+ -> {
520
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Commit::AccessSchedule::ScheduleItem]
521
+ }
481
522
 
482
523
  # @!attribute credit_type_id
483
524
  # Defaults to USD (cents) if not passed
@@ -536,14 +577,16 @@ module MetronomeSDK
536
577
  #
537
578
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule, nil]
538
579
  optional :recurring_schedule,
539
- -> { MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule }
580
+ -> { MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule }
540
581
 
541
582
  # @!attribute schedule_items
542
583
  # Either provide amount or provide both unit_price and quantity.
543
584
  #
544
585
  # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem>, nil]
545
586
  optional :schedule_items,
546
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem] }
587
+ -> {
588
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem]
589
+ }
547
590
 
548
591
  # @!method initialize(credit_type_id: nil, recurring_schedule: nil, schedule_items: nil)
549
592
  # Some parameter documentations has been truncated, see
@@ -558,7 +601,6 @@ module MetronomeSDK
558
601
  # @param credit_type_id [String] Defaults to USD (cents) if not passed.
559
602
  #
560
603
  # @param recurring_schedule [MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
561
- # ...
562
604
  #
563
605
  # @param schedule_items [Array<MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
564
606
 
@@ -568,7 +610,9 @@ module MetronomeSDK
568
610
  #
569
611
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::AmountDistribution]
570
612
  required :amount_distribution,
571
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::AmountDistribution }
613
+ enum: -> {
614
+ MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::AmountDistribution
615
+ }
572
616
 
573
617
  # @!attribute ending_before
574
618
  # RFC 3339 timestamp (exclusive).
@@ -580,7 +624,9 @@ module MetronomeSDK
580
624
  #
581
625
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency]
582
626
  required :frequency,
583
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency }
627
+ enum: -> {
628
+ MetronomeSDK::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::Frequency
629
+ }
584
630
 
585
631
  # @!attribute starting_at
586
632
  # RFC 3339 timestamp (inclusive).
@@ -630,13 +676,10 @@ module MetronomeSDK
630
676
  # @param starting_at [Time] RFC 3339 timestamp (inclusive).
631
677
  #
632
678
  # @param amount [Float] Amount for the charge. Can be provided instead of unit_price and quantity. If am
633
- # ...
634
679
  #
635
680
  # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
636
- # ...
637
681
  #
638
682
  # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
639
- # ...
640
683
 
641
684
  # @see MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule#amount_distribution
642
685
  module AmountDistribution
@@ -703,13 +746,10 @@ module MetronomeSDK
703
746
  # @param timestamp [Time] timestamp of the scheduled event
704
747
  #
705
748
  # @param amount [Float] Amount for the charge. Can be provided instead of unit_price and quantity. If am
706
- # ...
707
749
  #
708
750
  # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
709
- # ...
710
751
  #
711
752
  # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
712
- # ...
713
753
  end
714
754
  end
715
755
 
@@ -723,14 +763,16 @@ module MetronomeSDK
723
763
  #
724
764
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::PaymentGateType]
725
765
  required :payment_gate_type,
726
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::PaymentGateType }
766
+ enum: -> {
767
+ MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::PaymentGateType
768
+ }
727
769
 
728
770
  # @!attribute stripe_config
729
771
  # Only applicable if using Stripe as your payment gateway through Metronome.
730
772
  #
731
773
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig, nil]
732
774
  optional :stripe_config,
733
- -> { MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig }
775
+ -> { MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig }
734
776
 
735
777
  # @!attribute tax_type
736
778
  # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
@@ -739,7 +781,7 @@ module MetronomeSDK
739
781
  #
740
782
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::TaxType, nil]
741
783
  optional :tax_type,
742
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::TaxType }
784
+ enum: -> { MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::TaxType }
743
785
 
744
786
  # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
745
787
  # Some parameter documentations has been truncated, see
@@ -749,12 +791,10 @@ module MetronomeSDK
749
791
  # optionally payment gate this commit
750
792
  #
751
793
  # @param payment_gate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
752
- # ...
753
794
  #
754
795
  # @param stripe_config [MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
755
796
  #
756
797
  # @param tax_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
757
- # ...
758
798
 
759
799
  # Gate access to the commit balance based on successful collection of payment.
760
800
  # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
@@ -780,7 +820,9 @@ module MetronomeSDK
780
820
  #
781
821
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::PaymentType]
782
822
  required :payment_type,
783
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::PaymentType }
823
+ enum: -> {
824
+ MetronomeSDK::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::PaymentType
825
+ }
784
826
 
785
827
  # @!method initialize(payment_type:)
786
828
  # Only applicable if using Stripe as your payment gateway through Metronome.
@@ -827,215 +869,43 @@ module MetronomeSDK
827
869
  # @!method self.values
828
870
  # @return [Array<Symbol>]
829
871
  end
830
- end
831
-
832
- class CreditBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
833
- # @!attribute commit
834
- #
835
- # @return [MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::Commit]
836
- required :commit,
837
- -> { MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::Commit }
838
-
839
- # @!attribute is_enabled
840
- # When set to false, the contract will not be evaluated against the
841
- # threshold_amount. Toggling to true will result an immediate evaluation,
842
- # regardless of prior state.
843
- #
844
- # @return [Boolean]
845
- required :is_enabled, MetronomeSDK::Internal::Type::Boolean
846
-
847
- # @!attribute payment_gate_config
848
- #
849
- # @return [MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig]
850
- required :payment_gate_config,
851
- -> { MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig }
852
-
853
- # @!attribute recharge_to_amount
854
- # Specify the amount the balance should be recharged to.
855
- #
856
- # @return [Float]
857
- required :recharge_to_amount, Float
858
-
859
- # @!attribute threshold_amount
860
- # Specify the threshold amount for the contract. Each time the contract's balance
861
- # lowers to this amount, a threshold charge will be initiated.
862
- #
863
- # @return [Float]
864
- required :threshold_amount, Float
865
-
866
- # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:)
867
- # Some parameter documentations has been truncated, see
868
- # {MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration}
869
- # for more details.
870
- #
871
- # @param commit [MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::Commit]
872
- #
873
- # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
874
- # ...
875
- #
876
- # @param payment_gate_config [MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig]
877
- #
878
- # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
879
- #
880
- # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
881
- # ...
882
-
883
- # @see MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration#commit
884
- class Commit < MetronomeSDK::Internal::Type::BaseModel
885
- # @!attribute product_id
886
- # The commit product that will be used to generate the line item for commit
887
- # payment.
888
- #
889
- # @return [String]
890
- required :product_id, String
891
-
892
- # @!attribute applicable_product_ids
893
- # Which products the threshold commit applies to. If both applicable_product_ids
894
- # and applicable_product_tags are not provided, the commit applies to all
895
- # products.
896
- #
897
- # @return [Array<String>, nil]
898
- optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
899
872
 
900
- # @!attribute applicable_product_tags
901
- # Which tags the threshold commit applies to. If both applicable_product_ids and
902
- # applicable_product_tags are not provided, the commit applies to all products.
873
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
874
+ # @!attribute presentation_group_values
903
875
  #
904
- # @return [Array<String>, nil]
905
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
876
+ # @return [Hash{Symbol=>String}, nil]
877
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
906
878
 
907
- # @!attribute description
879
+ # @!attribute pricing_group_values
908
880
  #
909
- # @return [String, nil]
910
- optional :description, String
881
+ # @return [Hash{Symbol=>String}, nil]
882
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
911
883
 
912
- # @!attribute name
913
- # Specify the name of the line item for the threshold charge. If left blank, it
914
- # will default to the commit product name.
884
+ # @!attribute product_id
885
+ # If provided, the specifier will only apply to the product with the specified ID.
915
886
  #
916
887
  # @return [String, nil]
917
- optional :name, String
918
-
919
- # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil)
920
- # Some parameter documentations has been truncated, see
921
- # {MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::Commit}
922
- # for more details.
923
- #
924
- # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
925
- # ...
926
- #
927
- # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
928
- # ...
929
- #
930
- # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
931
- # ...
932
- #
933
- # @param description [String]
934
- #
935
- # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
936
- # ...
937
- end
938
-
939
- # @see MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration#payment_gate_config
940
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
941
- # @!attribute payment_gate_type
942
- # Gate access to the commit balance based on successful collection of payment.
943
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
944
- # facilitate payment using your own payment integration. Select NONE if you do not
945
- # wish to payment gate the commit balance.
946
- #
947
- # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
948
- required :payment_gate_type,
949
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType }
950
-
951
- # @!attribute stripe_config
952
- # Only applicable if using Stripe as your payment gateway through Metronome.
953
- #
954
- # @return [MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
955
- optional :stripe_config,
956
- -> { MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig }
888
+ optional :product_id, String
957
889
 
958
- # @!attribute tax_type
959
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
960
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
961
- # will default to NONE.
890
+ # @!attribute product_tags
891
+ # If provided, the specifier will only apply to products with all the specified
892
+ # tags.
962
893
  #
963
- # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
964
- optional :tax_type,
965
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::TaxType }
894
+ # @return [Array<String>, nil]
895
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
966
896
 
967
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
897
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
968
898
  # Some parameter documentations has been truncated, see
969
- # {MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig}
970
- # for more details.
971
- #
972
- # @param payment_gate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
973
- # ...
899
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Commit::Specifier} for more
900
+ # details.
974
901
  #
975
- # @param stripe_config [MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
902
+ # @param presentation_group_values [Hash{Symbol=>String}]
976
903
  #
977
- # @param tax_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
978
- # ...
979
-
980
- # Gate access to the commit balance based on successful collection of payment.
981
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
982
- # facilitate payment using your own payment integration. Select NONE if you do not
983
- # wish to payment gate the commit balance.
904
+ # @param pricing_group_values [Hash{Symbol=>String}]
984
905
  #
985
- # @see MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
986
- module PaymentGateType
987
- extend MetronomeSDK::Internal::Type::Enum
988
-
989
- NONE = :NONE
990
- STRIPE = :STRIPE
991
- EXTERNAL = :EXTERNAL
992
-
993
- # @!method self.values
994
- # @return [Array<Symbol>]
995
- end
996
-
997
- # @see MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
998
- class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
999
- # @!attribute payment_type
1000
- # If left blank, will default to INVOICE
1001
- #
1002
- # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
1003
- required :payment_type,
1004
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
1005
-
1006
- # @!method initialize(payment_type:)
1007
- # Only applicable if using Stripe as your payment gateway through Metronome.
1008
- #
1009
- # @param payment_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
1010
-
1011
- # If left blank, will default to INVOICE
1012
- #
1013
- # @see MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
1014
- module PaymentType
1015
- extend MetronomeSDK::Internal::Type::Enum
1016
-
1017
- INVOICE = :INVOICE
1018
- PAYMENT_INTENT = :PAYMENT_INTENT
1019
-
1020
- # @!method self.values
1021
- # @return [Array<Symbol>]
1022
- end
1023
- end
1024
-
1025
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1026
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1027
- # will default to NONE.
906
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1028
907
  #
1029
- # @see MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig#tax_type
1030
- module TaxType
1031
- extend MetronomeSDK::Internal::Type::Enum
1032
-
1033
- NONE = :NONE
1034
- STRIPE = :STRIPE
1035
-
1036
- # @!method self.values
1037
- # @return [Array<Symbol>]
1038
- end
908
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1039
909
  end
1040
910
  end
1041
911
 
@@ -1044,7 +914,7 @@ module MetronomeSDK
1044
914
  # Schedule for distributing the credit to the customer.
1045
915
  #
1046
916
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::Credit::AccessSchedule]
1047
- required :access_schedule, -> { MetronomeSDK::Models::V1::ContractCreateParams::Credit::AccessSchedule }
917
+ required :access_schedule, -> { MetronomeSDK::V1::ContractCreateParams::Credit::AccessSchedule }
1048
918
 
1049
919
  # @!attribute product_id
1050
920
  #
@@ -1098,9 +968,21 @@ module MetronomeSDK
1098
968
  # @!attribute rate_type
1099
969
  #
1100
970
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Credit::RateType, nil]
1101
- optional :rate_type, enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::Credit::RateType }
971
+ optional :rate_type, enum: -> { MetronomeSDK::V1::ContractCreateParams::Credit::RateType }
972
+
973
+ # @!attribute specifiers
974
+ # List of filters that determine what kind of customer usage draws down a commit
975
+ # or credit. A customer's usage needs to meet the condition of at least one of the
976
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
977
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
978
+ #
979
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Credit::Specifier>, nil]
980
+ optional :specifiers,
981
+ -> {
982
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Credit::Specifier]
983
+ }
1102
984
 
1103
- # @!method initialize(access_schedule:, product_id:, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil)
985
+ # @!method initialize(access_schedule:, product_id:, applicable_product_ids: nil, applicable_product_tags: nil, custom_fields: nil, description: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, specifiers: nil)
1104
986
  # Some parameter documentations has been truncated, see
1105
987
  # {MetronomeSDK::Models::V1::ContractCreateParams::Credit} for more details.
1106
988
  #
@@ -1109,10 +991,8 @@ module MetronomeSDK
1109
991
  # @param product_id [String]
1110
992
  #
1111
993
  # @param applicable_product_ids [Array<String>] Which products the credit applies to. If both applicable_product_ids and applica
1112
- # ...
1113
994
  #
1114
995
  # @param applicable_product_tags [Array<String>] Which tags the credit applies to. If both applicable*product_ids and applicable*
1115
- # ...
1116
996
  #
1117
997
  # @param custom_fields [Hash{Symbol=>String}]
1118
998
  #
@@ -1123,9 +1003,10 @@ module MetronomeSDK
1123
1003
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
1124
1004
  #
1125
1005
  # @param priority [Float] If multiple credits are applicable, the one with the lower priority will apply f
1126
- # ...
1127
1006
  #
1128
1007
  # @param rate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Credit::RateType]
1008
+ #
1009
+ # @param specifiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::Credit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
1129
1010
 
1130
1011
  # @see MetronomeSDK::Models::V1::ContractCreateParams::Credit#access_schedule
1131
1012
  class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
@@ -1133,7 +1014,9 @@ module MetronomeSDK
1133
1014
  #
1134
1015
  # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Credit::AccessSchedule::ScheduleItem>]
1135
1016
  required :schedule_items,
1136
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractCreateParams::Credit::AccessSchedule::ScheduleItem] }
1017
+ -> {
1018
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Credit::AccessSchedule::ScheduleItem]
1019
+ }
1137
1020
 
1138
1021
  # @!attribute credit_type_id
1139
1022
  # Defaults to USD (cents) if not passed
@@ -1185,6 +1068,44 @@ module MetronomeSDK
1185
1068
  # @!method self.values
1186
1069
  # @return [Array<Symbol>]
1187
1070
  end
1071
+
1072
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1073
+ # @!attribute presentation_group_values
1074
+ #
1075
+ # @return [Hash{Symbol=>String}, nil]
1076
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1077
+
1078
+ # @!attribute pricing_group_values
1079
+ #
1080
+ # @return [Hash{Symbol=>String}, nil]
1081
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1082
+
1083
+ # @!attribute product_id
1084
+ # If provided, the specifier will only apply to the product with the specified ID.
1085
+ #
1086
+ # @return [String, nil]
1087
+ optional :product_id, String
1088
+
1089
+ # @!attribute product_tags
1090
+ # If provided, the specifier will only apply to products with all the specified
1091
+ # tags.
1092
+ #
1093
+ # @return [Array<String>, nil]
1094
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1095
+
1096
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1097
+ # Some parameter documentations has been truncated, see
1098
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Credit::Specifier} for more
1099
+ # details.
1100
+ #
1101
+ # @param presentation_group_values [Hash{Symbol=>String}]
1102
+ #
1103
+ # @param pricing_group_values [Hash{Symbol=>String}]
1104
+ #
1105
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1106
+ #
1107
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1108
+ end
1188
1109
  end
1189
1110
 
1190
1111
  class Discount < MetronomeSDK::Internal::Type::BaseModel
@@ -1197,7 +1118,7 @@ module MetronomeSDK
1197
1118
  # Must provide either schedule_items or recurring_schedule.
1198
1119
  #
1199
1120
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule]
1200
- required :schedule, -> { MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule }
1121
+ required :schedule, -> { MetronomeSDK::V1::ContractCreateParams::Discount::Schedule }
1201
1122
 
1202
1123
  # @!attribute custom_fields
1203
1124
  #
@@ -1242,14 +1163,16 @@ module MetronomeSDK
1242
1163
  #
1243
1164
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule, nil]
1244
1165
  optional :recurring_schedule,
1245
- -> { MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule }
1166
+ -> { MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule }
1246
1167
 
1247
1168
  # @!attribute schedule_items
1248
1169
  # Either provide amount or provide both unit_price and quantity.
1249
1170
  #
1250
1171
  # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::ScheduleItem>, nil]
1251
1172
  optional :schedule_items,
1252
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::ScheduleItem] }
1173
+ -> {
1174
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::ScheduleItem]
1175
+ }
1253
1176
 
1254
1177
  # @!method initialize(credit_type_id: nil, recurring_schedule: nil, schedule_items: nil)
1255
1178
  # Some parameter documentations has been truncated, see
@@ -1261,7 +1184,6 @@ module MetronomeSDK
1261
1184
  # @param credit_type_id [String] Defaults to USD (cents) if not passed.
1262
1185
  #
1263
1186
  # @param recurring_schedule [MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
1264
- # ...
1265
1187
  #
1266
1188
  # @param schedule_items [Array<MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
1267
1189
 
@@ -1271,7 +1193,9 @@ module MetronomeSDK
1271
1193
  #
1272
1194
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::AmountDistribution]
1273
1195
  required :amount_distribution,
1274
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::AmountDistribution }
1196
+ enum: -> {
1197
+ MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::AmountDistribution
1198
+ }
1275
1199
 
1276
1200
  # @!attribute ending_before
1277
1201
  # RFC 3339 timestamp (exclusive).
@@ -1283,7 +1207,9 @@ module MetronomeSDK
1283
1207
  #
1284
1208
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::Frequency]
1285
1209
  required :frequency,
1286
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::Frequency }
1210
+ enum: -> {
1211
+ MetronomeSDK::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::Frequency
1212
+ }
1287
1213
 
1288
1214
  # @!attribute starting_at
1289
1215
  # RFC 3339 timestamp (inclusive).
@@ -1333,13 +1259,10 @@ module MetronomeSDK
1333
1259
  # @param starting_at [Time] RFC 3339 timestamp (inclusive).
1334
1260
  #
1335
1261
  # @param amount [Float] Amount for the charge. Can be provided instead of unit_price and quantity. If am
1336
- # ...
1337
1262
  #
1338
1263
  # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
1339
- # ...
1340
1264
  #
1341
1265
  # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
1342
- # ...
1343
1266
 
1344
1267
  # @see MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule#amount_distribution
1345
1268
  module AmountDistribution
@@ -1406,13 +1329,10 @@ module MetronomeSDK
1406
1329
  # @param timestamp [Time] timestamp of the scheduled event
1407
1330
  #
1408
1331
  # @param amount [Float] Amount for the charge. Can be provided instead of unit_price and quantity. If am
1409
- # ...
1410
1332
  #
1411
1333
  # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
1412
- # ...
1413
1334
  #
1414
1335
  # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
1415
- # ...
1416
1336
  end
1417
1337
  end
1418
1338
  end
@@ -1477,13 +1397,15 @@ module MetronomeSDK
1477
1397
  #
1478
1398
  # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier>, nil]
1479
1399
  optional :override_specifiers,
1480
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier] }
1400
+ -> {
1401
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier]
1402
+ }
1481
1403
 
1482
1404
  # @!attribute overwrite_rate
1483
1405
  # Required for OVERWRITE type.
1484
1406
  #
1485
1407
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate, nil]
1486
- optional :overwrite_rate, -> { MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate }
1408
+ optional :overwrite_rate, -> { MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate }
1487
1409
 
1488
1410
  # @!attribute priority
1489
1411
  # Required for EXPLICIT multiplier prioritization scheme and all TIERED overrides.
@@ -1507,20 +1429,22 @@ module MetronomeSDK
1507
1429
  # `"LIST_RATE"`.
1508
1430
  #
1509
1431
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Override::Target, nil]
1510
- optional :target, enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::Override::Target }
1432
+ optional :target, enum: -> { MetronomeSDK::V1::ContractCreateParams::Override::Target }
1511
1433
 
1512
1434
  # @!attribute tiers
1513
1435
  # Required for TIERED type. Must have at least one tier.
1514
1436
  #
1515
1437
  # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override::Tier>, nil]
1516
1438
  optional :tiers,
1517
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractCreateParams::Override::Tier] }
1439
+ -> {
1440
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Override::Tier]
1441
+ }
1518
1442
 
1519
1443
  # @!attribute type
1520
1444
  # Overwrites are prioritized over multipliers and tiered overrides.
1521
1445
  #
1522
1446
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Override::Type, nil]
1523
- optional :type, enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::Override::Type }
1447
+ optional :type, enum: -> { MetronomeSDK::V1::ContractCreateParams::Override::Type }
1524
1448
 
1525
1449
  # @!method initialize(starting_at:, applicable_product_tags: nil, ending_before: nil, entitled: nil, is_commit_specific: nil, multiplier: nil, override_specifiers: nil, overwrite_rate: nil, priority: nil, product_id: nil, target: nil, tiers: nil, type: nil)
1526
1450
  # Some parameter documentations has been truncated, see
@@ -1529,36 +1453,38 @@ module MetronomeSDK
1529
1453
  # @param starting_at [Time] RFC 3339 timestamp indicating when the override will start applying (inclusive)
1530
1454
  #
1531
1455
  # @param applicable_product_tags [Array<String>] tags identifying products whose rates are being overridden. Cannot be used in co
1532
- # ...
1533
1456
  #
1534
1457
  # @param ending_before [Time] RFC 3339 timestamp indicating when the override will stop applying (exclusive)
1535
1458
  #
1536
1459
  # @param entitled [Boolean]
1537
1460
  #
1538
1461
  # @param is_commit_specific [Boolean] Indicates whether the override should only apply to commits. Defaults to `false`
1539
- # ...
1540
1462
  #
1541
1463
  # @param multiplier [Float] Required for MULTIPLIER type. Must be >=0.
1542
1464
  #
1543
1465
  # @param override_specifiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier>] Cannot be used in conjunction with product_id or applicable_product_tags. If pro
1544
- # ...
1545
1466
  #
1546
1467
  # @param overwrite_rate [MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate] Required for OVERWRITE type.
1547
1468
  #
1548
1469
  # @param priority [Float] Required for EXPLICIT multiplier prioritization scheme and all TIERED overrides.
1549
- # ...
1550
1470
  #
1551
1471
  # @param product_id [String] ID of the product whose rate is being overridden. Cannot be used in conjunction
1552
- # ...
1553
1472
  #
1554
1473
  # @param target [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Override::Target] Indicates whether the override applies to commit rates or list rates. Can only b
1555
- # ...
1556
1474
  #
1557
1475
  # @param tiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override::Tier>] Required for TIERED type. Must have at least one tier.
1558
1476
  #
1559
1477
  # @param type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Override::Type] Overwrites are prioritized over multipliers and tiered overrides.
1560
1478
 
1561
1479
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1480
+ # @!attribute billing_frequency
1481
+ #
1482
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::BillingFrequency, nil]
1483
+ optional :billing_frequency,
1484
+ enum: -> {
1485
+ MetronomeSDK::V1::ContractCreateParams::Override::OverrideSpecifier::BillingFrequency
1486
+ }
1487
+
1562
1488
  # @!attribute commit_ids
1563
1489
  # Can only be used for commit specific overrides. Must be used in conjunction with
1564
1490
  # one of product_id, product_tags, pricing_group_values, or
@@ -1613,30 +1539,39 @@ module MetronomeSDK
1613
1539
  # @return [Array<String>, nil]
1614
1540
  optional :recurring_credit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1615
1541
 
1616
- # @!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)
1542
+ # @!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)
1617
1543
  # Some parameter documentations has been truncated, see
1618
1544
  # {MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier}
1619
1545
  # for more details.
1620
1546
  #
1547
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier::BillingFrequency]
1548
+ #
1621
1549
  # @param commit_ids [Array<String>] Can only be used for commit specific overrides. Must be used in conjunction with
1622
- # ...
1623
1550
  #
1624
1551
  # @param presentation_group_values [Hash{Symbol=>String}] A map of group names to values. The override will only apply to line items with
1625
- # ...
1626
1552
  #
1627
1553
  # @param pricing_group_values [Hash{Symbol=>String}] A map of pricing group names to values. The override will only apply to products
1628
- # ...
1629
1554
  #
1630
1555
  # @param product_id [String] If provided, the override will only apply to the product with the specified ID.
1631
1556
  #
1632
1557
  # @param product_tags [Array<String>] If provided, the override will only apply to products with all the specified tag
1633
- # ...
1634
1558
  #
1635
1559
  # @param recurring_commit_ids [Array<String>] Can only be used for commit specific overrides. Must be used in conjunction with
1636
- # ...
1637
1560
  #
1638
1561
  # @param recurring_credit_ids [Array<String>] Can only be used for commit specific overrides. Must be used in conjunction with
1639
- # ...
1562
+
1563
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier#billing_frequency
1564
+ module BillingFrequency
1565
+ extend MetronomeSDK::Internal::Type::Enum
1566
+
1567
+ MONTHLY = :MONTHLY
1568
+ QUARTERLY = :QUARTERLY
1569
+ ANNUAL = :ANNUAL
1570
+ WEEKLY = :WEEKLY
1571
+
1572
+ # @!method self.values
1573
+ # @return [Array<Symbol>]
1574
+ end
1640
1575
  end
1641
1576
 
1642
1577
  # @see MetronomeSDK::Models::V1::ContractCreateParams::Override#overwrite_rate
@@ -1645,7 +1580,7 @@ module MetronomeSDK
1645
1580
  #
1646
1581
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::RateType]
1647
1582
  required :rate_type,
1648
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::RateType }
1583
+ enum: -> { MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::RateType }
1649
1584
 
1650
1585
  # @!attribute credit_type_id
1651
1586
  #
@@ -1682,8 +1617,11 @@ module MetronomeSDK
1682
1617
  # @!attribute tiers
1683
1618
  # Only set for TIERED rate_type.
1684
1619
  #
1685
- # @return [Array<MetronomeSDK::Models::Tier>, nil]
1686
- optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::Tier] }
1620
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::Tier>, nil]
1621
+ optional :tiers,
1622
+ -> {
1623
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Override::OverwriteRate::Tier]
1624
+ }
1687
1625
 
1688
1626
  # @!method initialize(rate_type:, credit_type_id: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1689
1627
  # Some parameter documentations has been truncated, see
@@ -1697,17 +1635,14 @@ module MetronomeSDK
1697
1635
  # @param credit_type_id [String]
1698
1636
  #
1699
1637
  # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
1700
- # ...
1701
1638
  #
1702
1639
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1703
- # ...
1704
1640
  #
1705
1641
  # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
1706
- # ...
1707
1642
  #
1708
1643
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1709
1644
  #
1710
- # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
1645
+ # @param tiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::Tier>] Only set for TIERED rate_type.
1711
1646
 
1712
1647
  # @see MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate#rate_type
1713
1648
  module RateType
@@ -1722,6 +1657,22 @@ module MetronomeSDK
1722
1657
  # @!method self.values
1723
1658
  # @return [Array<Symbol>]
1724
1659
  end
1660
+
1661
+ class Tier < MetronomeSDK::Internal::Type::BaseModel
1662
+ # @!attribute price
1663
+ #
1664
+ # @return [Float]
1665
+ required :price, Float
1666
+
1667
+ # @!attribute size
1668
+ #
1669
+ # @return [Float, nil]
1670
+ optional :size, Float
1671
+
1672
+ # @!method initialize(price:, size: nil)
1673
+ # @param price [Float]
1674
+ # @param size [Float]
1675
+ end
1725
1676
  end
1726
1677
 
1727
1678
  # Indicates whether the override applies to commit rates or list rates. Can only
@@ -1770,24 +1721,288 @@ module MetronomeSDK
1770
1721
  end
1771
1722
  end
1772
1723
 
1773
- class ProfessionalService < MetronomeSDK::Internal::Type::BaseModel
1774
- # @!attribute max_amount
1775
- # Maximum amount for the term.
1724
+ class PrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
1725
+ # @!attribute commit
1776
1726
  #
1777
- # @return [Float]
1778
- required :max_amount, Float
1727
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit]
1728
+ required :commit,
1729
+ -> { MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit }
1779
1730
 
1780
- # @!attribute product_id
1731
+ # @!attribute is_enabled
1732
+ # When set to false, the contract will not be evaluated against the
1733
+ # threshold_amount. Toggling to true will result an immediate evaluation,
1734
+ # regardless of prior state.
1781
1735
  #
1782
- # @return [String]
1783
- required :product_id, String
1736
+ # @return [Boolean]
1737
+ required :is_enabled, MetronomeSDK::Internal::Type::Boolean
1784
1738
 
1785
- # @!attribute quantity
1786
- # Quantity for the charge. Will be multiplied by unit_price to determine the
1787
- # amount.
1739
+ # @!attribute payment_gate_config
1740
+ #
1741
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
1742
+ required :payment_gate_config,
1743
+ -> {
1744
+ MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig
1745
+ }
1746
+
1747
+ # @!attribute recharge_to_amount
1748
+ # Specify the amount the balance should be recharged to.
1788
1749
  #
1789
1750
  # @return [Float]
1790
- required :quantity, Float
1751
+ required :recharge_to_amount, Float
1752
+
1753
+ # @!attribute threshold_amount
1754
+ # Specify the threshold amount for the contract. Each time the contract's prepaid
1755
+ # balance lowers to this amount, a threshold charge will be initiated.
1756
+ #
1757
+ # @return [Float]
1758
+ required :threshold_amount, Float
1759
+
1760
+ # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:)
1761
+ # Some parameter documentations has been truncated, see
1762
+ # {MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration}
1763
+ # for more details.
1764
+ #
1765
+ # @param commit [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit]
1766
+ #
1767
+ # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
1768
+ #
1769
+ # @param payment_gate_config [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
1770
+ #
1771
+ # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
1772
+ #
1773
+ # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's prepaid
1774
+
1775
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration#commit
1776
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
1777
+ # @!attribute product_id
1778
+ # The commit product that will be used to generate the line item for commit
1779
+ # payment.
1780
+ #
1781
+ # @return [String]
1782
+ required :product_id, String
1783
+
1784
+ # @!attribute applicable_product_ids
1785
+ # Which products the threshold commit applies to. If both applicable_product_ids
1786
+ # and applicable_product_tags are not provided, the commit applies to all
1787
+ # products.
1788
+ #
1789
+ # @return [Array<String>, nil]
1790
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1791
+
1792
+ # @!attribute applicable_product_tags
1793
+ # Which tags the threshold commit applies to. If both applicable_product_ids and
1794
+ # applicable_product_tags are not provided, the commit applies to all products.
1795
+ #
1796
+ # @return [Array<String>, nil]
1797
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1798
+
1799
+ # @!attribute description
1800
+ #
1801
+ # @return [String, nil]
1802
+ optional :description, String
1803
+
1804
+ # @!attribute name
1805
+ # Specify the name of the line item for the threshold charge. If left blank, it
1806
+ # will default to the commit product name.
1807
+ #
1808
+ # @return [String, nil]
1809
+ optional :name, String
1810
+
1811
+ # @!attribute specifiers
1812
+ # List of filters that determine what kind of customer usage draws down a commit
1813
+ # or credit. A customer's usage needs to meet the condition of at least one of the
1814
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
1815
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
1816
+ #
1817
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
1818
+ optional :specifiers,
1819
+ -> {
1820
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
1821
+ }
1822
+
1823
+ # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, specifiers: nil)
1824
+ # Some parameter documentations has been truncated, see
1825
+ # {MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit}
1826
+ # for more details.
1827
+ #
1828
+ # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
1829
+ #
1830
+ # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
1831
+ #
1832
+ # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
1833
+ #
1834
+ # @param description [String]
1835
+ #
1836
+ # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
1837
+ #
1838
+ # @param specifiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
1839
+
1840
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1841
+ # @!attribute presentation_group_values
1842
+ #
1843
+ # @return [Hash{Symbol=>String}, nil]
1844
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1845
+
1846
+ # @!attribute pricing_group_values
1847
+ #
1848
+ # @return [Hash{Symbol=>String}, nil]
1849
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1850
+
1851
+ # @!attribute product_id
1852
+ # If provided, the specifier will only apply to the product with the specified ID.
1853
+ #
1854
+ # @return [String, nil]
1855
+ optional :product_id, String
1856
+
1857
+ # @!attribute product_tags
1858
+ # If provided, the specifier will only apply to products with all the specified
1859
+ # tags.
1860
+ #
1861
+ # @return [Array<String>, nil]
1862
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1863
+
1864
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1865
+ # Some parameter documentations has been truncated, see
1866
+ # {MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::Commit::Specifier}
1867
+ # for more details.
1868
+ #
1869
+ # @param presentation_group_values [Hash{Symbol=>String}]
1870
+ #
1871
+ # @param pricing_group_values [Hash{Symbol=>String}]
1872
+ #
1873
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1874
+ #
1875
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1876
+ end
1877
+ end
1878
+
1879
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration#payment_gate_config
1880
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
1881
+ # @!attribute payment_gate_type
1882
+ # Gate access to the commit balance based on successful collection of payment.
1883
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1884
+ # facilitate payment using your own payment integration. Select NONE if you do not
1885
+ # wish to payment gate the commit balance.
1886
+ #
1887
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
1888
+ required :payment_gate_type,
1889
+ enum: -> {
1890
+ MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType
1891
+ }
1892
+
1893
+ # @!attribute stripe_config
1894
+ # Only applicable if using Stripe as your payment gateway through Metronome.
1895
+ #
1896
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
1897
+ optional :stripe_config,
1898
+ -> {
1899
+ MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
1900
+ }
1901
+
1902
+ # @!attribute tax_type
1903
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1904
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1905
+ # will default to NONE.
1906
+ #
1907
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
1908
+ optional :tax_type,
1909
+ enum: -> {
1910
+ MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType
1911
+ }
1912
+
1913
+ # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
1914
+ # Some parameter documentations has been truncated, see
1915
+ # {MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig}
1916
+ # for more details.
1917
+ #
1918
+ # @param payment_gate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
1919
+ #
1920
+ # @param stripe_config [MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
1921
+ #
1922
+ # @param tax_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
1923
+
1924
+ # Gate access to the commit balance based on successful collection of payment.
1925
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1926
+ # facilitate payment using your own payment integration. Select NONE if you do not
1927
+ # wish to payment gate the commit balance.
1928
+ #
1929
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
1930
+ module PaymentGateType
1931
+ extend MetronomeSDK::Internal::Type::Enum
1932
+
1933
+ NONE = :NONE
1934
+ STRIPE = :STRIPE
1935
+ EXTERNAL = :EXTERNAL
1936
+
1937
+ # @!method self.values
1938
+ # @return [Array<Symbol>]
1939
+ end
1940
+
1941
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
1942
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1943
+ # @!attribute payment_type
1944
+ # If left blank, will default to INVOICE
1945
+ #
1946
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
1947
+ required :payment_type,
1948
+ enum: -> {
1949
+ MetronomeSDK::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
1950
+ }
1951
+
1952
+ # @!method initialize(payment_type:)
1953
+ # Only applicable if using Stripe as your payment gateway through Metronome.
1954
+ #
1955
+ # @param payment_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
1956
+
1957
+ # If left blank, will default to INVOICE
1958
+ #
1959
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
1960
+ module PaymentType
1961
+ extend MetronomeSDK::Internal::Type::Enum
1962
+
1963
+ INVOICE = :INVOICE
1964
+ PAYMENT_INTENT = :PAYMENT_INTENT
1965
+
1966
+ # @!method self.values
1967
+ # @return [Array<Symbol>]
1968
+ end
1969
+ end
1970
+
1971
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1972
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1973
+ # will default to NONE.
1974
+ #
1975
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
1976
+ module TaxType
1977
+ extend MetronomeSDK::Internal::Type::Enum
1978
+
1979
+ NONE = :NONE
1980
+ STRIPE = :STRIPE
1981
+
1982
+ # @!method self.values
1983
+ # @return [Array<Symbol>]
1984
+ end
1985
+ end
1986
+ end
1987
+
1988
+ class ProfessionalService < MetronomeSDK::Internal::Type::BaseModel
1989
+ # @!attribute max_amount
1990
+ # Maximum amount for the term.
1991
+ #
1992
+ # @return [Float]
1993
+ required :max_amount, Float
1994
+
1995
+ # @!attribute product_id
1996
+ #
1997
+ # @return [String]
1998
+ required :product_id, String
1999
+
2000
+ # @!attribute quantity
2001
+ # Quantity for the charge. Will be multiplied by unit_price to determine the
2002
+ # amount.
2003
+ #
2004
+ # @return [Float]
2005
+ required :quantity, Float
1791
2006
 
1792
2007
  # @!attribute unit_price
1793
2008
  # Unit price for the charge. Will be multiplied by quantity to determine the
@@ -1822,10 +2037,8 @@ module MetronomeSDK
1822
2037
  # @param product_id [String]
1823
2038
  #
1824
2039
  # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
1825
- # ...
1826
2040
  #
1827
2041
  # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
1828
- # ...
1829
2042
  #
1830
2043
  # @param custom_fields [Hash{Symbol=>String}]
1831
2044
  #
@@ -1840,14 +2053,20 @@ module MetronomeSDK
1840
2053
  #
1841
2054
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::AccessAmount]
1842
2055
  required :access_amount,
1843
- -> { MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::AccessAmount }
2056
+ -> {
2057
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::AccessAmount
2058
+ }
1844
2059
 
1845
2060
  # @!attribute commit_duration
1846
- # The amount of time the created commits will be valid for.
2061
+ # Defines the length of the access schedule for each created commit/credit. The
2062
+ # value represents the number of units. Unit defaults to "PERIODS", where the
2063
+ # length of a period is determined by the recurrence_frequency.
1847
2064
  #
1848
2065
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration]
1849
2066
  required :commit_duration,
1850
- -> { MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration }
2067
+ -> {
2068
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration
2069
+ }
1851
2070
 
1852
2071
  # @!attribute priority
1853
2072
  # Will be passed down to the individual commits
@@ -1895,7 +2114,9 @@ module MetronomeSDK
1895
2114
  #
1896
2115
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::InvoiceAmount, nil]
1897
2116
  optional :invoice_amount,
1898
- -> { MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::InvoiceAmount }
2117
+ -> {
2118
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::InvoiceAmount
2119
+ }
1899
2120
 
1900
2121
  # @!attribute name
1901
2122
  # displayed on invoices. will be passed through to the individual commits
@@ -1914,26 +2135,24 @@ module MetronomeSDK
1914
2135
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1915
2136
  #
1916
2137
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::Proration, nil]
1917
- optional :proration,
1918
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::Proration }
2138
+ optional :proration, enum: -> { MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Proration }
1919
2139
 
1920
2140
  # @!attribute rate_type
1921
2141
  # Whether the created commits will use the commit rate or list rate
1922
2142
  #
1923
2143
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::RateType, nil]
1924
- optional :rate_type,
1925
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::RateType }
2144
+ optional :rate_type, enum: -> { MetronomeSDK::V1::ContractCreateParams::RecurringCommit::RateType }
1926
2145
 
1927
2146
  # @!attribute recurrence_frequency
1928
2147
  # The frequency at which the recurring commits will be created. If not provided: -
1929
2148
  # The commits will be created on the usage invoice frequency. If provided: - The
1930
2149
  # period defined in the duration will correspond to this frequency. - Commits will
1931
- # be created aligned with the recurring commit's start_date rather than the usage
2150
+ # be created aligned with the recurring commit's starting_at rather than the usage
1932
2151
  # invoice dates.
1933
2152
  #
1934
2153
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::RecurrenceFrequency, nil]
1935
2154
  optional :recurrence_frequency,
1936
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::RecurrenceFrequency }
2155
+ enum: -> { MetronomeSDK::V1::ContractCreateParams::RecurringCommit::RecurrenceFrequency }
1937
2156
 
1938
2157
  # @!attribute rollover_fraction
1939
2158
  # Will be passed down to the individual commits. This controls how much of an
@@ -1943,6 +2162,18 @@ module MetronomeSDK
1943
2162
  # @return [Float, nil]
1944
2163
  optional :rollover_fraction, Float
1945
2164
 
2165
+ # @!attribute specifiers
2166
+ # List of filters that determine what kind of customer usage draws down a commit
2167
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2168
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2169
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
2170
+ #
2171
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::Specifier>, nil]
2172
+ optional :specifiers,
2173
+ -> {
2174
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::RecurringCommit::Specifier]
2175
+ }
2176
+
1946
2177
  # @!attribute temporary_id
1947
2178
  # A temporary ID that can be used to reference the recurring commit for commit
1948
2179
  # specific overrides.
@@ -1950,14 +2181,14 @@ module MetronomeSDK
1950
2181
  # @return [String, nil]
1951
2182
  optional :temporary_id, String
1952
2183
 
1953
- # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, temporary_id: nil)
2184
+ # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
1954
2185
  # Some parameter documentations has been truncated, see
1955
2186
  # {MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit} for more
1956
2187
  # details.
1957
2188
  #
1958
2189
  # @param access_amount [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::AccessAmount] The amount of commit to grant.
1959
2190
  #
1960
- # @param commit_duration [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration] The amount of time the created commits will be valid for.
2191
+ # @param commit_duration [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration] Defines the length of the access schedule for each created commit/credit. The va
1961
2192
  #
1962
2193
  # @param priority [Float] Will be passed down to the individual commits
1963
2194
  #
@@ -1980,18 +2211,16 @@ module MetronomeSDK
1980
2211
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
1981
2212
  #
1982
2213
  # @param proration [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
1983
- # ...
1984
2214
  #
1985
2215
  # @param rate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::RateType] Whether the created commits will use the commit rate or list rate
1986
2216
  #
1987
2217
  # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
1988
- # ...
1989
2218
  #
1990
2219
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
1991
- # ...
2220
+ #
2221
+ # @param specifiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
1992
2222
  #
1993
2223
  # @param temporary_id [String] A temporary ID that can be used to reference the recurring commit for commit spe
1994
- # ...
1995
2224
 
1996
2225
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit#access_amount
1997
2226
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -2020,22 +2249,26 @@ module MetronomeSDK
2020
2249
 
2021
2250
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit#commit_duration
2022
2251
  class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
2023
- # @!attribute unit
2024
- #
2025
- # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit]
2026
- required :unit,
2027
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit }
2028
-
2029
2252
  # @!attribute value
2030
2253
  #
2031
2254
  # @return [Float]
2032
2255
  required :value, Float
2033
2256
 
2034
- # @!method initialize(unit:, value:)
2035
- # The amount of time the created commits will be valid for.
2257
+ # @!attribute unit
2258
+ #
2259
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit, nil]
2260
+ optional :unit,
2261
+ enum: -> {
2262
+ MetronomeSDK::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit
2263
+ }
2264
+
2265
+ # @!method initialize(value:, unit: nil)
2266
+ # Defines the length of the access schedule for each created commit/credit. The
2267
+ # value represents the number of units. Unit defaults to "PERIODS", where the
2268
+ # length of a period is determined by the recurrence_frequency.
2036
2269
  #
2037
- # @param unit [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit]
2038
2270
  # @param value [Float]
2271
+ # @param unit [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::Unit]
2039
2272
 
2040
2273
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration#unit
2041
2274
  module Unit
@@ -2105,7 +2338,7 @@ module MetronomeSDK
2105
2338
  # The frequency at which the recurring commits will be created. If not provided: -
2106
2339
  # The commits will be created on the usage invoice frequency. If provided: - The
2107
2340
  # period defined in the duration will correspond to this frequency. - Commits will
2108
- # be created aligned with the recurring commit's start_date rather than the usage
2341
+ # be created aligned with the recurring commit's starting_at rather than the usage
2109
2342
  # invoice dates.
2110
2343
  #
2111
2344
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit#recurrence_frequency
@@ -2120,6 +2353,44 @@ module MetronomeSDK
2120
2353
  # @!method self.values
2121
2354
  # @return [Array<Symbol>]
2122
2355
  end
2356
+
2357
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2358
+ # @!attribute presentation_group_values
2359
+ #
2360
+ # @return [Hash{Symbol=>String}, nil]
2361
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2362
+
2363
+ # @!attribute pricing_group_values
2364
+ #
2365
+ # @return [Hash{Symbol=>String}, nil]
2366
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2367
+
2368
+ # @!attribute product_id
2369
+ # If provided, the specifier will only apply to the product with the specified ID.
2370
+ #
2371
+ # @return [String, nil]
2372
+ optional :product_id, String
2373
+
2374
+ # @!attribute product_tags
2375
+ # If provided, the specifier will only apply to products with all the specified
2376
+ # tags.
2377
+ #
2378
+ # @return [Array<String>, nil]
2379
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2380
+
2381
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2382
+ # Some parameter documentations has been truncated, see
2383
+ # {MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::Specifier} for
2384
+ # more details.
2385
+ #
2386
+ # @param presentation_group_values [Hash{Symbol=>String}]
2387
+ #
2388
+ # @param pricing_group_values [Hash{Symbol=>String}]
2389
+ #
2390
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2391
+ #
2392
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2393
+ end
2123
2394
  end
2124
2395
 
2125
2396
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -2128,14 +2399,20 @@ module MetronomeSDK
2128
2399
  #
2129
2400
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::AccessAmount]
2130
2401
  required :access_amount,
2131
- -> { MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::AccessAmount }
2402
+ -> {
2403
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::AccessAmount
2404
+ }
2132
2405
 
2133
2406
  # @!attribute commit_duration
2134
- # The amount of time the created commits will be valid for.
2407
+ # Defines the length of the access schedule for each created commit/credit. The
2408
+ # value represents the number of units. Unit defaults to "PERIODS", where the
2409
+ # length of a period is determined by the recurrence_frequency.
2135
2410
  #
2136
2411
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration]
2137
2412
  required :commit_duration,
2138
- -> { MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration }
2413
+ -> {
2414
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration
2415
+ }
2139
2416
 
2140
2417
  # @!attribute priority
2141
2418
  # Will be passed down to the individual commits
@@ -2195,26 +2472,24 @@ module MetronomeSDK
2195
2472
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2196
2473
  #
2197
2474
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::Proration, nil]
2198
- optional :proration,
2199
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::Proration }
2475
+ optional :proration, enum: -> { MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Proration }
2200
2476
 
2201
2477
  # @!attribute rate_type
2202
2478
  # Whether the created commits will use the commit rate or list rate
2203
2479
  #
2204
2480
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::RateType, nil]
2205
- optional :rate_type,
2206
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::RateType }
2481
+ optional :rate_type, enum: -> { MetronomeSDK::V1::ContractCreateParams::RecurringCredit::RateType }
2207
2482
 
2208
2483
  # @!attribute recurrence_frequency
2209
2484
  # The frequency at which the recurring commits will be created. If not provided: -
2210
2485
  # The commits will be created on the usage invoice frequency. If provided: - The
2211
2486
  # period defined in the duration will correspond to this frequency. - Commits will
2212
- # be created aligned with the recurring commit's start_date rather than the usage
2487
+ # be created aligned with the recurring commit's starting_at rather than the usage
2213
2488
  # invoice dates.
2214
2489
  #
2215
2490
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::RecurrenceFrequency, nil]
2216
2491
  optional :recurrence_frequency,
2217
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::RecurrenceFrequency }
2492
+ enum: -> { MetronomeSDK::V1::ContractCreateParams::RecurringCredit::RecurrenceFrequency }
2218
2493
 
2219
2494
  # @!attribute rollover_fraction
2220
2495
  # Will be passed down to the individual commits. This controls how much of an
@@ -2224,6 +2499,18 @@ module MetronomeSDK
2224
2499
  # @return [Float, nil]
2225
2500
  optional :rollover_fraction, Float
2226
2501
 
2502
+ # @!attribute specifiers
2503
+ # List of filters that determine what kind of customer usage draws down a commit
2504
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2505
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2506
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
2507
+ #
2508
+ # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::Specifier>, nil]
2509
+ optional :specifiers,
2510
+ -> {
2511
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::RecurringCredit::Specifier]
2512
+ }
2513
+
2227
2514
  # @!attribute temporary_id
2228
2515
  # A temporary ID that can be used to reference the recurring commit for commit
2229
2516
  # specific overrides.
@@ -2231,14 +2518,14 @@ module MetronomeSDK
2231
2518
  # @return [String, nil]
2232
2519
  optional :temporary_id, String
2233
2520
 
2234
- # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, temporary_id: nil)
2521
+ # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
2235
2522
  # Some parameter documentations has been truncated, see
2236
2523
  # {MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit} for more
2237
2524
  # details.
2238
2525
  #
2239
2526
  # @param access_amount [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::AccessAmount] The amount of commit to grant.
2240
2527
  #
2241
- # @param commit_duration [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration] The amount of time the created commits will be valid for.
2528
+ # @param commit_duration [MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration] Defines the length of the access schedule for each created commit/credit. The va
2242
2529
  #
2243
2530
  # @param priority [Float] Will be passed down to the individual commits
2244
2531
  #
@@ -2259,18 +2546,16 @@ module MetronomeSDK
2259
2546
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
2260
2547
  #
2261
2548
  # @param proration [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
2262
- # ...
2263
2549
  #
2264
2550
  # @param rate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::RateType] Whether the created commits will use the commit rate or list rate
2265
2551
  #
2266
2552
  # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
2267
- # ...
2268
2553
  #
2269
2554
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
2270
- # ...
2555
+ #
2556
+ # @param specifiers [Array<MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2271
2557
  #
2272
2558
  # @param temporary_id [String] A temporary ID that can be used to reference the recurring commit for commit spe
2273
- # ...
2274
2559
 
2275
2560
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit#access_amount
2276
2561
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -2299,22 +2584,26 @@ module MetronomeSDK
2299
2584
 
2300
2585
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit#commit_duration
2301
2586
  class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
2302
- # @!attribute unit
2303
- #
2304
- # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit]
2305
- required :unit,
2306
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit }
2307
-
2308
2587
  # @!attribute value
2309
2588
  #
2310
2589
  # @return [Float]
2311
2590
  required :value, Float
2312
2591
 
2313
- # @!method initialize(unit:, value:)
2314
- # The amount of time the created commits will be valid for.
2592
+ # @!attribute unit
2593
+ #
2594
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit, nil]
2595
+ optional :unit,
2596
+ enum: -> {
2597
+ MetronomeSDK::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit
2598
+ }
2599
+
2600
+ # @!method initialize(value:, unit: nil)
2601
+ # Defines the length of the access schedule for each created commit/credit. The
2602
+ # value represents the number of units. Unit defaults to "PERIODS", where the
2603
+ # length of a period is determined by the recurrence_frequency.
2315
2604
  #
2316
- # @param unit [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit]
2317
2605
  # @param value [Float]
2606
+ # @param unit [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::Unit]
2318
2607
 
2319
2608
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration#unit
2320
2609
  module Unit
@@ -2359,7 +2648,7 @@ module MetronomeSDK
2359
2648
  # The frequency at which the recurring commits will be created. If not provided: -
2360
2649
  # The commits will be created on the usage invoice frequency. If provided: - The
2361
2650
  # period defined in the duration will correspond to this frequency. - Commits will
2362
- # be created aligned with the recurring commit's start_date rather than the usage
2651
+ # be created aligned with the recurring commit's starting_at rather than the usage
2363
2652
  # invoice dates.
2364
2653
  #
2365
2654
  # @see MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit#recurrence_frequency
@@ -2374,6 +2663,44 @@ module MetronomeSDK
2374
2663
  # @!method self.values
2375
2664
  # @return [Array<Symbol>]
2376
2665
  end
2666
+
2667
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2668
+ # @!attribute presentation_group_values
2669
+ #
2670
+ # @return [Hash{Symbol=>String}, nil]
2671
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2672
+
2673
+ # @!attribute pricing_group_values
2674
+ #
2675
+ # @return [Hash{Symbol=>String}, nil]
2676
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2677
+
2678
+ # @!attribute product_id
2679
+ # If provided, the specifier will only apply to the product with the specified ID.
2680
+ #
2681
+ # @return [String, nil]
2682
+ optional :product_id, String
2683
+
2684
+ # @!attribute product_tags
2685
+ # If provided, the specifier will only apply to products with all the specified
2686
+ # tags.
2687
+ #
2688
+ # @return [Array<String>, nil]
2689
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2690
+
2691
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2692
+ # Some parameter documentations has been truncated, see
2693
+ # {MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::Specifier} for
2694
+ # more details.
2695
+ #
2696
+ # @param presentation_group_values [Hash{Symbol=>String}]
2697
+ #
2698
+ # @param pricing_group_values [Hash{Symbol=>String}]
2699
+ #
2700
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2701
+ #
2702
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2703
+ end
2377
2704
  end
2378
2705
 
2379
2706
  class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
@@ -2391,7 +2718,7 @@ module MetronomeSDK
2391
2718
  #
2392
2719
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::ResellerType]
2393
2720
  required :reseller_type,
2394
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::ResellerType }
2721
+ enum: -> { MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::ResellerType }
2395
2722
 
2396
2723
  # @!attribute starting_at
2397
2724
  #
@@ -2413,7 +2740,7 @@ module MetronomeSDK
2413
2740
  # @!attribute aws_options
2414
2741
  #
2415
2742
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::AwsOptions, nil]
2416
- optional :aws_options, -> { MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::AwsOptions }
2743
+ optional :aws_options, -> { MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::AwsOptions }
2417
2744
 
2418
2745
  # @!attribute ending_before
2419
2746
  #
@@ -2423,7 +2750,7 @@ module MetronomeSDK
2423
2750
  # @!attribute gcp_options
2424
2751
  #
2425
2752
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::GcpOptions, nil]
2426
- optional :gcp_options, -> { MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::GcpOptions }
2753
+ optional :gcp_options, -> { MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty::GcpOptions }
2427
2754
 
2428
2755
  # @!attribute reseller_contract_value
2429
2756
  #
@@ -2515,7 +2842,7 @@ module MetronomeSDK
2515
2842
  # Must provide either schedule_items or recurring_schedule.
2516
2843
  #
2517
2844
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule]
2518
- required :schedule, -> { MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule }
2845
+ required :schedule, -> { MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule }
2519
2846
 
2520
2847
  # @!attribute name
2521
2848
  # displayed on invoices
@@ -2553,14 +2880,18 @@ module MetronomeSDK
2553
2880
  #
2554
2881
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule, nil]
2555
2882
  optional :recurring_schedule,
2556
- -> { MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule }
2883
+ -> {
2884
+ MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule
2885
+ }
2557
2886
 
2558
2887
  # @!attribute schedule_items
2559
2888
  # Either provide amount or provide both unit_price and quantity.
2560
2889
  #
2561
2890
  # @return [Array<MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem>, nil]
2562
2891
  optional :schedule_items,
2563
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem] }
2892
+ -> {
2893
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem]
2894
+ }
2564
2895
 
2565
2896
  # @!method initialize(credit_type_id: nil, recurring_schedule: nil, schedule_items: nil)
2566
2897
  # Some parameter documentations has been truncated, see
@@ -2572,7 +2903,6 @@ module MetronomeSDK
2572
2903
  # @param credit_type_id [String] Defaults to USD (cents) if not passed.
2573
2904
  #
2574
2905
  # @param recurring_schedule [MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
2575
- # ...
2576
2906
  #
2577
2907
  # @param schedule_items [Array<MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
2578
2908
 
@@ -2582,7 +2912,9 @@ module MetronomeSDK
2582
2912
  #
2583
2913
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::AmountDistribution]
2584
2914
  required :amount_distribution,
2585
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::AmountDistribution }
2915
+ enum: -> {
2916
+ MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::AmountDistribution
2917
+ }
2586
2918
 
2587
2919
  # @!attribute ending_before
2588
2920
  # RFC 3339 timestamp (exclusive).
@@ -2594,7 +2926,9 @@ module MetronomeSDK
2594
2926
  #
2595
2927
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency]
2596
2928
  required :frequency,
2597
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency }
2929
+ enum: -> {
2930
+ MetronomeSDK::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::Frequency
2931
+ }
2598
2932
 
2599
2933
  # @!attribute starting_at
2600
2934
  # RFC 3339 timestamp (inclusive).
@@ -2644,13 +2978,10 @@ module MetronomeSDK
2644
2978
  # @param starting_at [Time] RFC 3339 timestamp (inclusive).
2645
2979
  #
2646
2980
  # @param amount [Float] Amount for the charge. Can be provided instead of unit_price and quantity. If am
2647
- # ...
2648
2981
  #
2649
2982
  # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
2650
- # ...
2651
2983
  #
2652
2984
  # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
2653
- # ...
2654
2985
 
2655
2986
  # @see MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule#amount_distribution
2656
2987
  module AmountDistribution
@@ -2717,13 +3048,10 @@ module MetronomeSDK
2717
3048
  # @param timestamp [Time] timestamp of the scheduled event
2718
3049
  #
2719
3050
  # @param amount [Float] Amount for the charge. Can be provided instead of unit_price and quantity. If am
2720
- # ...
2721
3051
  #
2722
3052
  # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
2723
- # ...
2724
3053
  #
2725
3054
  # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
2726
- # ...
2727
3055
  end
2728
3056
  end
2729
3057
  end
@@ -2746,8 +3074,7 @@ module MetronomeSDK
2746
3074
  # @!attribute commit
2747
3075
  #
2748
3076
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::Commit]
2749
- required :commit,
2750
- -> { MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::Commit }
3077
+ required :commit, -> { MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::Commit }
2751
3078
 
2752
3079
  # @!attribute is_enabled
2753
3080
  # When set to false, the contract will not be evaluated against the
@@ -2761,7 +3088,9 @@ module MetronomeSDK
2761
3088
  #
2762
3089
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig]
2763
3090
  required :payment_gate_config,
2764
- -> { MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig }
3091
+ -> {
3092
+ MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig
3093
+ }
2765
3094
 
2766
3095
  # @!attribute threshold_amount
2767
3096
  # Specify the threshold amount for the contract. Each time the contract's usage
@@ -2778,12 +3107,10 @@ module MetronomeSDK
2778
3107
  # @param commit [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::Commit]
2779
3108
  #
2780
3109
  # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
2781
- # ...
2782
3110
  #
2783
3111
  # @param payment_gate_config [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig]
2784
3112
  #
2785
3113
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
2786
- # ...
2787
3114
 
2788
3115
  # @see MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration#commit
2789
3116
  class Commit < MetronomeSDK::Internal::Type::BaseModel
@@ -2812,12 +3139,10 @@ module MetronomeSDK
2812
3139
  # for more details.
2813
3140
  #
2814
3141
  # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
2815
- # ...
2816
3142
  #
2817
3143
  # @param description [String]
2818
3144
  #
2819
3145
  # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
2820
- # ...
2821
3146
  end
2822
3147
 
2823
3148
  # @see MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration#payment_gate_config
@@ -2830,14 +3155,18 @@ module MetronomeSDK
2830
3155
  #
2831
3156
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
2832
3157
  required :payment_gate_type,
2833
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType }
3158
+ enum: -> {
3159
+ MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType
3160
+ }
2834
3161
 
2835
3162
  # @!attribute stripe_config
2836
3163
  # Only applicable if using Stripe as your payment gateway through Metronome.
2837
3164
  #
2838
3165
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
2839
3166
  optional :stripe_config,
2840
- -> { MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig }
3167
+ -> {
3168
+ MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig
3169
+ }
2841
3170
 
2842
3171
  # @!attribute tax_type
2843
3172
  # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
@@ -2846,7 +3175,9 @@ module MetronomeSDK
2846
3175
  #
2847
3176
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
2848
3177
  optional :tax_type,
2849
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::TaxType }
3178
+ enum: -> {
3179
+ MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::TaxType
3180
+ }
2850
3181
 
2851
3182
  # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
2852
3183
  # Some parameter documentations has been truncated, see
@@ -2854,12 +3185,10 @@ module MetronomeSDK
2854
3185
  # for more details.
2855
3186
  #
2856
3187
  # @param payment_gate_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
2857
- # ...
2858
3188
  #
2859
3189
  # @param stripe_config [MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
2860
3190
  #
2861
3191
  # @param tax_type [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
2862
- # ...
2863
3192
 
2864
3193
  # Gate access to the commit balance based on successful collection of payment.
2865
3194
  # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
@@ -2885,7 +3214,9 @@ module MetronomeSDK
2885
3214
  #
2886
3215
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
2887
3216
  required :payment_type,
2888
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
3217
+ enum: -> {
3218
+ MetronomeSDK::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
3219
+ }
2889
3220
 
2890
3221
  # @!method initialize(payment_type:)
2891
3222
  # Only applicable if using Stripe as your payment gateway through Metronome.
@@ -2923,6 +3254,185 @@ module MetronomeSDK
2923
3254
  end
2924
3255
  end
2925
3256
 
3257
+ class Subscription < MetronomeSDK::Internal::Type::BaseModel
3258
+ # @!attribute collection_schedule
3259
+ #
3260
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Subscription::CollectionSchedule]
3261
+ required :collection_schedule,
3262
+ enum: -> { MetronomeSDK::V1::ContractCreateParams::Subscription::CollectionSchedule }
3263
+
3264
+ # @!attribute initial_quantity
3265
+ # The initial quantity for the subscription. It must be non-negative value.
3266
+ #
3267
+ # @return [Float]
3268
+ required :initial_quantity, Float
3269
+
3270
+ # @!attribute proration
3271
+ #
3272
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration]
3273
+ required :proration, -> { MetronomeSDK::V1::ContractCreateParams::Subscription::Proration }
3274
+
3275
+ # @!attribute subscription_rate
3276
+ #
3277
+ # @return [MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate]
3278
+ required :subscription_rate,
3279
+ -> {
3280
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate
3281
+ }
3282
+
3283
+ # @!attribute custom_fields
3284
+ #
3285
+ # @return [Hash{Symbol=>String}, nil]
3286
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
3287
+
3288
+ # @!attribute description
3289
+ #
3290
+ # @return [String, nil]
3291
+ optional :description, String
3292
+
3293
+ # @!attribute ending_before
3294
+ # Exclusive end time for the subscription. If not provided, subscription inherits
3295
+ # contract end date.
3296
+ #
3297
+ # @return [Time, nil]
3298
+ optional :ending_before, Time
3299
+
3300
+ # @!attribute name
3301
+ #
3302
+ # @return [String, nil]
3303
+ optional :name, String
3304
+
3305
+ # @!attribute starting_at
3306
+ # Inclusive start time for the subscription. If not provided, defaults to contract
3307
+ # start date
3308
+ #
3309
+ # @return [Time, nil]
3310
+ optional :starting_at, Time
3311
+
3312
+ # @!method initialize(collection_schedule:, initial_quantity:, proration:, subscription_rate:, custom_fields: nil, description: nil, ending_before: nil, name: nil, starting_at: nil)
3313
+ # Some parameter documentations has been truncated, see
3314
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Subscription} for more details.
3315
+ #
3316
+ # @param collection_schedule [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Subscription::CollectionSchedule]
3317
+ #
3318
+ # @param initial_quantity [Float] The initial quantity for the subscription. It must be non-negative value.
3319
+ #
3320
+ # @param proration [MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration]
3321
+ #
3322
+ # @param subscription_rate [MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate]
3323
+ #
3324
+ # @param custom_fields [Hash{Symbol=>String}]
3325
+ #
3326
+ # @param description [String]
3327
+ #
3328
+ # @param ending_before [Time] Exclusive end time for the subscription. If not provided, subscription inherits
3329
+ #
3330
+ # @param name [String]
3331
+ #
3332
+ # @param starting_at [Time] Inclusive start time for the subscription. If not provided, defaults to contract
3333
+
3334
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Subscription#collection_schedule
3335
+ module CollectionSchedule
3336
+ extend MetronomeSDK::Internal::Type::Enum
3337
+
3338
+ ADVANCE = :ADVANCE
3339
+ ARREARS = :ARREARS
3340
+
3341
+ # @!method self.values
3342
+ # @return [Array<Symbol>]
3343
+ end
3344
+
3345
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Subscription#proration
3346
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
3347
+ # @!attribute invoice_behavior
3348
+ # Indicates how mid-period quantity adjustments are invoiced. If BILL_IMMEDIATELY
3349
+ # is selected, the quantity increase will be billed on the scheduled date. If
3350
+ # BILL_ON_NEXT_COLLECTION_DATE is selected, the quantity increase will be billed
3351
+ # for in-arrears at the end of the period.
3352
+ #
3353
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::InvoiceBehavior, nil]
3354
+ optional :invoice_behavior,
3355
+ enum: -> {
3356
+ MetronomeSDK::V1::ContractCreateParams::Subscription::Proration::InvoiceBehavior
3357
+ }
3358
+
3359
+ # @!attribute is_prorated
3360
+ # Indicates if the partial period will be prorated or charged a full amount.
3361
+ #
3362
+ # @return [Boolean, nil]
3363
+ optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
3364
+
3365
+ # @!method initialize(invoice_behavior: nil, is_prorated: nil)
3366
+ # Some parameter documentations has been truncated, see
3367
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration} for
3368
+ # more details.
3369
+ #
3370
+ # @param invoice_behavior [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration::InvoiceBehavior] Indicates how mid-period quantity adjustments are invoiced. If BILL_IMMEDIATELY
3371
+ #
3372
+ # @param is_prorated [Boolean] Indicates if the partial period will be prorated or charged a full amount.
3373
+
3374
+ # Indicates how mid-period quantity adjustments are invoiced. If BILL_IMMEDIATELY
3375
+ # is selected, the quantity increase will be billed on the scheduled date. If
3376
+ # BILL_ON_NEXT_COLLECTION_DATE is selected, the quantity increase will be billed
3377
+ # for in-arrears at the end of the period.
3378
+ #
3379
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Subscription::Proration#invoice_behavior
3380
+ module InvoiceBehavior
3381
+ extend MetronomeSDK::Internal::Type::Enum
3382
+
3383
+ BILL_IMMEDIATELY = :BILL_IMMEDIATELY
3384
+ BILL_ON_NEXT_COLLECTION_DATE = :BILL_ON_NEXT_COLLECTION_DATE
3385
+
3386
+ # @!method self.values
3387
+ # @return [Array<Symbol>]
3388
+ end
3389
+ end
3390
+
3391
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Subscription#subscription_rate
3392
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
3393
+ # @!attribute billing_frequency
3394
+ # Frequency to bill subscription with. Together with product_id, must match
3395
+ # existing rate on the rate card.
3396
+ #
3397
+ # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate::BillingFrequency]
3398
+ required :billing_frequency,
3399
+ enum: -> {
3400
+ MetronomeSDK::V1::ContractCreateParams::Subscription::SubscriptionRate::BillingFrequency
3401
+ }
3402
+
3403
+ # @!attribute product_id
3404
+ # Must be subscription type product
3405
+ #
3406
+ # @return [String]
3407
+ required :product_id, String
3408
+
3409
+ # @!method initialize(billing_frequency:, product_id:)
3410
+ # Some parameter documentations has been truncated, see
3411
+ # {MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate}
3412
+ # for more details.
3413
+ #
3414
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate::BillingFrequency] Frequency to bill subscription with. Together with product_id, must match existi
3415
+ #
3416
+ # @param product_id [String] Must be subscription type product
3417
+
3418
+ # Frequency to bill subscription with. Together with product_id, must match
3419
+ # existing rate on the rate card.
3420
+ #
3421
+ # @see MetronomeSDK::Models::V1::ContractCreateParams::Subscription::SubscriptionRate#billing_frequency
3422
+ module BillingFrequency
3423
+ extend MetronomeSDK::Internal::Type::Enum
3424
+
3425
+ MONTHLY = :MONTHLY
3426
+ QUARTERLY = :QUARTERLY
3427
+ ANNUAL = :ANNUAL
3428
+ WEEKLY = :WEEKLY
3429
+
3430
+ # @!method self.values
3431
+ # @return [Array<Symbol>]
3432
+ end
3433
+ end
3434
+ end
3435
+
2926
3436
  class Transition < MetronomeSDK::Internal::Type::BaseModel
2927
3437
  # @!attribute from_contract_id
2928
3438
  #
@@ -2933,13 +3443,13 @@ module MetronomeSDK
2933
3443
  # This field's available values may vary based on your client's configuration.
2934
3444
  #
2935
3445
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Transition::Type]
2936
- required :type, enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::Transition::Type }
3446
+ required :type, enum: -> { MetronomeSDK::V1::ContractCreateParams::Transition::Type }
2937
3447
 
2938
3448
  # @!attribute future_invoice_behavior
2939
3449
  #
2940
3450
  # @return [MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior, nil]
2941
3451
  optional :future_invoice_behavior,
2942
- -> { MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior }
3452
+ -> { MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior }
2943
3453
 
2944
3454
  # @!method initialize(from_contract_id:, type:, future_invoice_behavior: nil)
2945
3455
  # @param from_contract_id [String]
@@ -2969,7 +3479,9 @@ module MetronomeSDK
2969
3479
  #
2970
3480
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::Trueup, nil]
2971
3481
  optional :trueup,
2972
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::Trueup },
3482
+ enum: -> {
3483
+ MetronomeSDK::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::Trueup
3484
+ },
2973
3485
  nil?: true
2974
3486
 
2975
3487
  # @!method initialize(trueup: nil)
@@ -2978,7 +3490,6 @@ module MetronomeSDK
2978
3490
  # for more details.
2979
3491
  #
2980
3492
  # @param trueup [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::Trueup, nil] Controls whether future trueup invoices are billed or removed. Default behavior
2981
- # ...
2982
3493
 
2983
3494
  # Controls whether future trueup invoices are billed or removed. Default behavior
2984
3495
  # is AS_IS if not specified.
@@ -2996,12 +3507,34 @@ module MetronomeSDK
2996
3507
  end
2997
3508
  end
2998
3509
 
3510
+ class UsageFilter < MetronomeSDK::Internal::Type::BaseModel
3511
+ # @!attribute group_key
3512
+ #
3513
+ # @return [String]
3514
+ required :group_key, String
3515
+
3516
+ # @!attribute group_values
3517
+ #
3518
+ # @return [Array<String>]
3519
+ required :group_values, MetronomeSDK::Internal::Type::ArrayOf[String]
3520
+
3521
+ # @!attribute starting_at
3522
+ #
3523
+ # @return [Time, nil]
3524
+ optional :starting_at, Time
3525
+
3526
+ # @!method initialize(group_key:, group_values:, starting_at: nil)
3527
+ # @param group_key [String]
3528
+ # @param group_values [Array<String>]
3529
+ # @param starting_at [Time]
3530
+ end
3531
+
2999
3532
  class UsageStatementSchedule < MetronomeSDK::Internal::Type::BaseModel
3000
3533
  # @!attribute frequency
3001
3534
  #
3002
3535
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::Frequency]
3003
3536
  required :frequency,
3004
- enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::Frequency }
3537
+ enum: -> { MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::Frequency }
3005
3538
 
3006
3539
  # @!attribute billing_anchor_date
3007
3540
  # Required when using CUSTOM_DATE. This option lets you set a historical billing
@@ -3017,7 +3550,7 @@ module MetronomeSDK
3017
3550
  # If not provided, defaults to the first day of the month.
3018
3551
  #
3019
3552
  # @return [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::Day, nil]
3020
- optional :day, enum: -> { MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::Day }
3553
+ optional :day, enum: -> { MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule::Day }
3021
3554
 
3022
3555
  # @!attribute invoice_generation_starting_at
3023
3556
  # The date Metronome should start generating usage invoices. If unspecified,
@@ -3036,12 +3569,10 @@ module MetronomeSDK
3036
3569
  # @param frequency [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::Frequency]
3037
3570
  #
3038
3571
  # @param billing_anchor_date [Time] Required when using CUSTOM_DATE. This option lets you set a historical billing a
3039
- # ...
3040
3572
  #
3041
3573
  # @param day [Symbol, MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::Day] If not provided, defaults to the first day of the month.
3042
3574
  #
3043
3575
  # @param invoice_generation_starting_at [Time] The date Metronome should start generating usage invoices. If unspecified, contr
3044
- # ...
3045
3576
 
3046
3577
  # @see MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule#frequency
3047
3578
  module Frequency