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

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