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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (723) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +97 -0
  3. data/README.md +138 -81
  4. data/SECURITY.md +2 -2
  5. data/lib/metronome_sdk/client.rb +4 -4
  6. data/lib/metronome_sdk/errors.rb +1 -1
  7. data/lib/metronome_sdk/file_part.rb +2 -2
  8. data/lib/metronome_sdk/internal/cursor_page.rb +3 -3
  9. data/lib/metronome_sdk/internal/transport/base_client.rb +80 -8
  10. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +17 -1
  11. data/lib/metronome_sdk/internal/type/array_of.rb +9 -1
  12. data/lib/metronome_sdk/internal/type/base_model.rb +76 -39
  13. data/lib/metronome_sdk/internal/type/boolean.rb +8 -0
  14. data/lib/metronome_sdk/internal/type/converter.rb +18 -0
  15. data/lib/metronome_sdk/internal/type/enum.rb +13 -0
  16. data/lib/metronome_sdk/internal/type/file_input.rb +7 -0
  17. data/lib/metronome_sdk/internal/type/hash_of.rb +9 -1
  18. data/lib/metronome_sdk/internal/type/request_parameters.rb +6 -12
  19. data/lib/metronome_sdk/internal/type/union.rb +13 -0
  20. data/lib/metronome_sdk/internal/type/unknown.rb +8 -0
  21. data/lib/metronome_sdk/internal/util.rb +131 -6
  22. data/lib/metronome_sdk/internal.rb +9 -0
  23. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +14 -3
  24. data/lib/metronome_sdk/models/v1/alert_create_params.rb +8 -16
  25. data/lib/metronome_sdk/models/v1/alert_create_response.rb +14 -3
  26. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +1 -4
  27. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +8 -2
  28. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +14 -3
  29. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +86 -12
  30. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +14 -3
  31. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +84 -10
  32. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +85 -10
  33. data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +0 -2
  34. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +241 -98
  35. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +14 -3
  36. data/lib/metronome_sdk/models/v1/contract_archive_params.rb +0 -1
  37. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +14 -3
  38. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +15 -9
  39. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +1276 -3
  40. data/lib/metronome_sdk/models/v1/contract_create_params.rb +933 -402
  41. data/lib/metronome_sdk/models/v1/contract_create_response.rb +14 -3
  42. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +0 -2
  43. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +1645 -5
  44. data/lib/metronome_sdk/models/v1/contract_list_params.rb +0 -4
  45. data/lib/metronome_sdk/models/v1/contract_list_response.rb +11371 -152
  46. data/lib/metronome_sdk/models/v1/contract_retrieve_params.rb +0 -2
  47. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +32 -7
  48. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +317 -11
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +11400 -152
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rb +34 -0
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rb +81 -0
  52. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +3 -3
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +1276 -3
  54. data/lib/metronome_sdk/models/v1/contract_update_end_date_params.rb +0 -2
  55. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +14 -3
  56. data/lib/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rb +0 -1
  57. data/lib/metronome_sdk/models/v1/contracts/named_schedule_update_params.rb +0 -1
  58. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +14 -3
  59. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +98 -13
  60. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +14 -3
  61. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +4 -5
  62. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +561 -16
  63. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +8 -2
  64. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +561 -16
  65. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +97 -18
  66. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +14 -3
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +24 -0
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +31 -0
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +6 -4
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +14 -3
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +42 -6
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +8 -2
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +32 -6
  74. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +181 -8
  75. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +42 -6
  76. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +3 -2
  77. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +14 -3
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rb +0 -1
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rb +0 -1
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +14 -3
  81. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +3 -1
  82. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +14 -3
  83. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +83 -18
  84. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +16 -3
  85. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +74 -17
  86. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +61 -15
  87. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +32 -6
  88. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +180 -8
  89. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +81 -15
  90. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +14 -3
  91. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +14 -3
  92. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +0 -4
  93. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +153 -15
  94. data/lib/metronome_sdk/models/v1/credit_grant_list_params.rb +0 -3
  95. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +175 -18
  96. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +14 -3
  97. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +1 -1
  98. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +1 -1
  99. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +3 -1
  100. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +1 -1
  101. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +1 -1
  102. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +8 -2
  103. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +14 -3
  104. data/lib/metronome_sdk/models/v1/customer_create_params.rb +13 -12
  105. data/lib/metronome_sdk/models/v1/customer_create_response.rb +50 -3
  106. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_params.rb +0 -1
  107. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +85 -10
  108. data/lib/metronome_sdk/models/v1/customer_list_params.rb +0 -2
  109. data/lib/metronome_sdk/models/v1/{customer_detail.rb → customer_list_response.rb} +15 -17
  110. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +126 -3
  111. data/lib/metronome_sdk/models/v1/customer_set_name_params.rb +0 -1
  112. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +50 -3
  113. data/lib/metronome_sdk/models/v1/customer_update_config_params.rb +0 -1
  114. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +3 -2
  115. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +276 -3
  116. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +26 -1
  117. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +279 -3
  118. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +3 -5
  119. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +1 -1
  120. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +1 -1
  121. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +0 -3
  122. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +72 -27
  123. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +14 -3
  124. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +0 -2
  125. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +1047 -3
  126. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_params.rb +0 -2
  127. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +14 -3
  128. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +58 -9
  129. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +14 -3
  130. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +0 -2
  131. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +593 -3
  132. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_params.rb +0 -1
  133. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +14 -3
  134. data/lib/metronome_sdk/models/v1/customers/invoice_add_charge_params.rb +0 -2
  135. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +4 -6
  136. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +1271 -2
  137. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +1 -4
  138. data/lib/metronome_sdk/models/v1/customers/{invoice.rb → invoice_list_response.rb} +321 -117
  139. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +1276 -3
  140. data/lib/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rb +0 -1
  141. data/lib/metronome_sdk/models/v1/customers/named_schedule_update_params.rb +0 -1
  142. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +9 -14
  143. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +14 -3
  144. data/lib/metronome_sdk/models/v1/customers/plan_end_params.rb +0 -3
  145. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +21 -3
  146. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +11 -7
  147. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +286 -3
  148. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +20 -6
  149. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +2 -2
  150. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +128 -3
  151. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +3 -1
  152. data/lib/metronome_sdk/models/v1/usage_list_params.rb +5 -7
  153. data/lib/metronome_sdk/models/v1/usage_list_response.rb +0 -1
  154. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +2 -5
  155. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +73 -11
  156. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +14 -3
  157. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +63 -7
  158. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +14 -3
  159. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1751 -462
  160. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +14 -3
  161. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +2212 -142
  162. data/lib/metronome_sdk/models/v2/contract_list_params.rb +0 -4
  163. data/lib/metronome_sdk/models/v2/contract_list_response.rb +1485 -342
  164. data/lib/metronome_sdk/models/v2/contract_retrieve_params.rb +0 -3
  165. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +1482 -336
  166. data/lib/metronome_sdk/models.rb +45 -0
  167. data/lib/metronome_sdk/request_options.rb +4 -0
  168. data/lib/metronome_sdk/resources/v1/alerts.rb +2 -12
  169. data/lib/metronome_sdk/resources/v1/audit_logs.rb +1 -4
  170. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +6 -10
  171. data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +2 -4
  172. data/lib/metronome_sdk/resources/v1/contracts/products.rb +13 -28
  173. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +2 -5
  174. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +2 -4
  175. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +7 -13
  176. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +26 -11
  177. data/lib/metronome_sdk/resources/v1/contracts.rb +43 -35
  178. data/lib/metronome_sdk/resources/v1/credit_grants.rb +6 -18
  179. data/lib/metronome_sdk/resources/v1/custom_fields.rb +5 -5
  180. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +9 -5
  181. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +3 -4
  182. data/lib/metronome_sdk/resources/v1/customers/commits.rb +6 -17
  183. data/lib/metronome_sdk/resources/v1/customers/credits.rb +6 -12
  184. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +6 -18
  185. data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +2 -4
  186. data/lib/metronome_sdk/resources/v1/customers/plans.rb +4 -14
  187. data/lib/metronome_sdk/resources/v1/customers.rb +13 -19
  188. data/lib/metronome_sdk/resources/v1/dashboards.rb +1 -1
  189. data/lib/metronome_sdk/resources/v1/invoices.rb +2 -2
  190. data/lib/metronome_sdk/resources/v1/plans.rb +5 -5
  191. data/lib/metronome_sdk/resources/v1/pricing_units.rb +1 -1
  192. data/lib/metronome_sdk/resources/v1/usage.rb +3 -8
  193. data/lib/metronome_sdk/resources/v2/contracts.rb +32 -20
  194. data/lib/metronome_sdk/version.rb +1 -1
  195. data/lib/metronome_sdk.rb +12 -28
  196. data/rbi/metronome_sdk/client.rbi +5 -4
  197. data/rbi/metronome_sdk/errors.rbi +34 -15
  198. data/rbi/metronome_sdk/file_part.rbi +9 -6
  199. data/rbi/metronome_sdk/internal/cursor_page.rbi +2 -1
  200. data/rbi/metronome_sdk/internal/transport/base_client.rbi +165 -77
  201. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +33 -13
  202. data/rbi/metronome_sdk/internal/type/array_of.rbi +40 -24
  203. data/rbi/metronome_sdk/internal/type/base_model.rbi +160 -70
  204. data/rbi/metronome_sdk/internal/type/base_page.rbi +13 -8
  205. data/rbi/metronome_sdk/internal/type/boolean.rbi +22 -14
  206. data/rbi/metronome_sdk/internal/type/converter.rbi +72 -28
  207. data/rbi/metronome_sdk/internal/type/enum.rbi +29 -13
  208. data/rbi/metronome_sdk/internal/type/file_input.rbi +13 -4
  209. data/rbi/metronome_sdk/internal/type/hash_of.rbi +40 -24
  210. data/rbi/metronome_sdk/internal/type/request_parameters.rbi +14 -4
  211. data/rbi/metronome_sdk/internal/type/union.rbi +58 -22
  212. data/rbi/metronome_sdk/internal/type/unknown.rbi +22 -6
  213. data/rbi/metronome_sdk/internal/util.rbi +272 -89
  214. data/rbi/metronome_sdk/internal.rbi +7 -0
  215. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +22 -11
  216. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +49 -6
  217. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +175 -81
  218. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +49 -6
  219. data/rbi/metronome_sdk/models/v1/audit_log_list_params.rbi +59 -26
  220. data/rbi/metronome_sdk/models/v1/audit_log_list_response.rbi +127 -45
  221. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +25 -6
  222. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +56 -6
  223. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +253 -41
  224. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +55 -6
  225. data/rbi/metronome_sdk/models/v1/billable_metric_list_params.rbi +23 -14
  226. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +253 -41
  227. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_params.rbi +22 -6
  228. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +264 -50
  229. data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +27 -18
  230. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +1808 -784
  231. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +49 -6
  232. data/rbi/metronome_sdk/models/v1/contract_archive_params.rbi +23 -14
  233. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +51 -6
  234. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +178 -110
  235. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +2611 -6
  236. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +4937 -2578
  237. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +49 -6
  238. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +30 -21
  239. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3411 -15
  240. data/rbi/metronome_sdk/models/v1/contract_list_params.rbi +26 -17
  241. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +24250 -325
  242. data/rbi/metronome_sdk/models/v1/contract_retrieve_params.rbi +24 -15
  243. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +143 -45
  244. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +804 -74
  245. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +24250 -337
  246. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbi +58 -0
  247. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbi +212 -0
  248. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbi +66 -41
  249. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +2611 -6
  250. data/rbi/metronome_sdk/models/v1/contract_set_usage_filter_params.rbi +22 -15
  251. data/rbi/metronome_sdk/models/v1/contract_update_end_date_params.rbi +24 -15
  252. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +56 -6
  253. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbi +23 -14
  254. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbi +54 -17
  255. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbi +25 -16
  256. data/rbi/metronome_sdk/models/v1/contracts/product_archive_params.rbi +23 -6
  257. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +58 -6
  258. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +308 -46
  259. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +58 -6
  260. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +66 -28
  261. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +1247 -90
  262. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +25 -6
  263. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +1278 -116
  264. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +257 -33
  265. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +58 -6
  266. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +42 -0
  267. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +75 -0
  268. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +109 -45
  269. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +58 -6
  270. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_params.rbi +23 -14
  271. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +182 -55
  272. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +25 -6
  273. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +138 -44
  274. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +509 -71
  275. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +213 -81
  276. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_params.rbi +70 -25
  277. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +58 -6
  278. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbi +24 -15
  279. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbi +54 -19
  280. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbi +26 -17
  281. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbi +22 -13
  282. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +58 -6
  283. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbi +55 -24
  284. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +58 -6
  285. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +323 -98
  286. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +60 -6
  287. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +310 -78
  288. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +277 -81
  289. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +144 -44
  290. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +482 -51
  291. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +303 -80
  292. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +53 -6
  293. data/rbi/metronome_sdk/models/v1/credit_grant_edit_params.rbi +24 -15
  294. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +51 -6
  295. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +25 -16
  296. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +383 -77
  297. data/rbi/metronome_sdk/models/v1/credit_grant_list_params.rbi +27 -18
  298. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +436 -72
  299. data/rbi/metronome_sdk/models/v1/credit_grant_void_params.rbi +23 -14
  300. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +51 -6
  301. data/rbi/metronome_sdk/models/v1/custom_field_add_key_params.rbi +122 -37
  302. data/rbi/metronome_sdk/models/v1/custom_field_delete_values_params.rbi +120 -37
  303. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_params.rbi +140 -37
  304. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +136 -43
  305. data/rbi/metronome_sdk/models/v1/custom_field_remove_key_params.rbi +126 -36
  306. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +127 -37
  307. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +25 -6
  308. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +51 -6
  309. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +247 -158
  310. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +96 -7
  311. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbi +25 -16
  312. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +237 -44
  313. data/rbi/metronome_sdk/models/v1/customer_list_costs_params.rbi +25 -16
  314. data/rbi/metronome_sdk/models/v1/customer_list_costs_response.rbi +100 -49
  315. data/rbi/metronome_sdk/models/v1/customer_list_params.rbi +26 -17
  316. data/rbi/metronome_sdk/models/v1/customer_list_response.rbi +242 -0
  317. data/rbi/metronome_sdk/models/v1/customer_retrieve_params.rbi +22 -6
  318. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +267 -7
  319. data/rbi/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbi +21 -13
  320. data/rbi/metronome_sdk/models/v1/customer_set_name_params.rbi +22 -6
  321. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +98 -7
  322. data/rbi/metronome_sdk/models/v1/customer_update_config_params.rbi +23 -14
  323. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +69 -25
  324. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +641 -9
  325. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +15 -5
  326. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +77 -5
  327. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +642 -8
  328. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +129 -79
  329. data/rbi/metronome_sdk/models/v1/customers/billing_config_delete_params.rbi +54 -29
  330. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbi +54 -29
  331. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +111 -68
  332. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +429 -171
  333. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +58 -6
  334. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +30 -21
  335. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +2183 -6
  336. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbi +24 -15
  337. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +58 -6
  338. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +250 -66
  339. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +58 -6
  340. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +30 -21
  341. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +1243 -6
  342. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbi +23 -14
  343. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +58 -6
  344. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbi +27 -18
  345. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbi +12 -2
  346. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbi +101 -43
  347. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +2579 -5
  348. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +70 -28
  349. data/rbi/metronome_sdk/models/v1/customers/invoice_list_response.rbi +2587 -0
  350. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbi +23 -14
  351. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +2628 -7
  352. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbi +23 -14
  353. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbi +54 -17
  354. data/rbi/metronome_sdk/models/v1/customers/named_schedule_update_params.rbi +25 -16
  355. data/rbi/metronome_sdk/models/v1/customers/plan_add_params.rbi +205 -119
  356. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +55 -6
  357. data/rbi/metronome_sdk/models/v1/customers/plan_end_params.rbi +25 -16
  358. data/rbi/metronome_sdk/models/v1/customers/plan_end_response.rbi +12 -2
  359. data/rbi/metronome_sdk/models/v1/customers/plan_list_params.rbi +23 -14
  360. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbi +24 -15
  361. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +98 -48
  362. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +133 -50
  363. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +215 -122
  364. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbi +44 -13
  365. data/rbi/metronome_sdk/models/v1/invoice_regenerate_params.rbi +20 -9
  366. data/rbi/metronome_sdk/models/v1/invoice_regenerate_response.rbi +42 -13
  367. data/rbi/metronome_sdk/models/v1/invoice_void_params.rbi +20 -9
  368. data/rbi/metronome_sdk/models/v1/invoice_void_response.rbi +41 -11
  369. data/rbi/metronome_sdk/models/v1/plan_get_details_params.rbi +19 -6
  370. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +572 -7
  371. data/rbi/metronome_sdk/models/v1/plan_list_charges_params.rbi +23 -14
  372. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +200 -76
  373. data/rbi/metronome_sdk/models/v1/plan_list_customers_params.rbi +71 -25
  374. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +300 -32
  375. data/rbi/metronome_sdk/models/v1/plan_list_params.rbi +22 -6
  376. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +18 -4
  377. data/rbi/metronome_sdk/models/v1/pricing_unit_list_params.rbi +22 -6
  378. data/rbi/metronome_sdk/models/v1/pricing_unit_list_response.rbi +23 -5
  379. data/rbi/metronome_sdk/models/v1/service_list_params.rbi +18 -5
  380. data/rbi/metronome_sdk/models/v1/service_list_response.rbi +73 -24
  381. data/rbi/metronome_sdk/models/v1/usage_ingest_params.rbi +51 -31
  382. data/rbi/metronome_sdk/models/v1/usage_list_params.rbi +126 -45
  383. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +51 -24
  384. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +96 -37
  385. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +28 -14
  386. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +425 -169
  387. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +53 -6
  388. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +274 -89
  389. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +53 -6
  390. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +6953 -2830
  391. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +49 -6
  392. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_params.rbi +14 -5
  393. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +8529 -3060
  394. data/rbi/metronome_sdk/models/v2/contract_list_params.rbi +26 -17
  395. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +7013 -3240
  396. data/rbi/metronome_sdk/models/v2/contract_retrieve_params.rbi +25 -16
  397. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +7017 -3332
  398. data/rbi/metronome_sdk/models.rbi +7 -0
  399. data/rbi/metronome_sdk/request_options.rbi +18 -7
  400. data/rbi/metronome_sdk/resources/v1/alerts.rbi +25 -13
  401. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +11 -5
  402. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +35 -17
  403. data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +13 -8
  404. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +61 -23
  405. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +16 -9
  406. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +21 -14
  407. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +45 -31
  408. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +77 -33
  409. data/rbi/metronome_sdk/resources/v1/contracts.rbi +170 -105
  410. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +36 -26
  411. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +34 -26
  412. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +34 -11
  413. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +28 -17
  414. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +35 -22
  415. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +31 -17
  416. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +36 -18
  417. data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +13 -8
  418. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +38 -30
  419. data/rbi/metronome_sdk/resources/v1/customers.rbi +69 -39
  420. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +21 -24
  421. data/rbi/metronome_sdk/resources/v1/invoices.rbi +16 -7
  422. data/rbi/metronome_sdk/resources/v1/plans.rbi +37 -14
  423. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +14 -4
  424. data/rbi/metronome_sdk/resources/v1/services.rbi +9 -3
  425. data/rbi/metronome_sdk/resources/v1/usage.rbi +30 -17
  426. data/rbi/metronome_sdk/resources/v1.rbi +2 -1
  427. data/rbi/metronome_sdk/resources/v2/contracts.rbi +167 -69
  428. data/rbi/metronome_sdk/resources/v2.rbi +2 -1
  429. data/sig/metronome_sdk/internal/transport/base_client.rbs +16 -1
  430. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +4 -0
  431. data/sig/metronome_sdk/internal/type/array_of.rbs +3 -0
  432. data/sig/metronome_sdk/internal/type/base_model.rbs +13 -5
  433. data/sig/metronome_sdk/internal/type/base_page.rbs +1 -1
  434. data/sig/metronome_sdk/internal/type/boolean.rbs +3 -0
  435. data/sig/metronome_sdk/internal/type/converter.rbs +2 -0
  436. data/sig/metronome_sdk/internal/type/enum.rbs +3 -0
  437. data/sig/metronome_sdk/internal/type/file_input.rbs +2 -0
  438. data/sig/metronome_sdk/internal/type/hash_of.rbs +3 -0
  439. data/sig/metronome_sdk/internal/type/request_parameters.rbs +5 -1
  440. data/sig/metronome_sdk/internal/type/union.rbs +3 -0
  441. data/sig/metronome_sdk/internal/type/unknown.rbs +3 -0
  442. data/sig/metronome_sdk/internal/util.rbs +27 -0
  443. data/sig/metronome_sdk/internal.rbs +4 -0
  444. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +5 -1
  445. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +19 -4
  446. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +32 -13
  447. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +19 -4
  448. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +10 -1
  449. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +13 -3
  450. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +12 -4
  451. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +19 -4
  452. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +82 -11
  453. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +19 -4
  454. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +6 -1
  455. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +83 -11
  456. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +4 -1
  457. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +86 -12
  458. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +10 -1
  459. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +481 -160
  460. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +19 -4
  461. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +6 -1
  462. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +19 -4
  463. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +42 -15
  464. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +1291 -4
  465. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1196 -401
  466. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +19 -4
  467. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +13 -1
  468. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1647 -3
  469. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +9 -1
  470. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +11114 -146
  471. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +7 -1
  472. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +42 -7
  473. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +312 -16
  474. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +11114 -146
  475. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbs +34 -0
  476. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbs +101 -0
  477. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +22 -5
  478. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +1291 -4
  479. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +8 -1
  480. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +7 -1
  481. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +18 -4
  482. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +6 -1
  483. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +8 -2
  484. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +8 -1
  485. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +4 -1
  486. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +21 -4
  487. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +97 -7
  488. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +21 -4
  489. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +6 -1
  490. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +489 -14
  491. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +12 -4
  492. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +492 -15
  493. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +98 -7
  494. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +21 -4
  495. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +27 -0
  496. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +34 -0
  497. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +28 -13
  498. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +21 -4
  499. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +6 -1
  500. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +52 -11
  501. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +12 -4
  502. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +41 -7
  503. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +185 -11
  504. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +55 -12
  505. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +17 -7
  506. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +21 -4
  507. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +7 -1
  508. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +8 -2
  509. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +9 -1
  510. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +5 -1
  511. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +21 -4
  512. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +9 -5
  513. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +20 -4
  514. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +94 -21
  515. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +21 -4
  516. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +88 -17
  517. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +75 -18
  518. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +41 -7
  519. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +181 -10
  520. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +102 -18
  521. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +19 -4
  522. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +7 -1
  523. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +19 -4
  524. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +8 -1
  525. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +140 -14
  526. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +10 -1
  527. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +169 -17
  528. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +6 -1
  529. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +19 -4
  530. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +6 -1
  531. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +6 -1
  532. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +5 -1
  533. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +9 -2
  534. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +5 -1
  535. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +6 -1
  536. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +12 -4
  537. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +19 -4
  538. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +33 -13
  539. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +47 -4
  540. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +8 -1
  541. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +87 -11
  542. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +8 -1
  543. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +16 -3
  544. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +9 -1
  545. data/sig/metronome_sdk/models/v1/{customer_detail.rbs → customer_list_response.rbs} +30 -17
  546. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +4 -1
  547. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +112 -4
  548. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +5 -1
  549. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +5 -1
  550. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +47 -4
  551. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +6 -1
  552. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +6 -1
  553. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +246 -4
  554. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +5 -1
  555. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +29 -2
  556. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +247 -4
  557. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +9 -1
  558. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +5 -1
  559. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +5 -1
  560. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +14 -2
  561. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +123 -27
  562. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +21 -4
  563. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +13 -1
  564. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +1060 -4
  565. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +7 -1
  566. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +20 -4
  567. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +85 -9
  568. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +21 -4
  569. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +13 -1
  570. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +599 -4
  571. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +6 -1
  572. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +20 -4
  573. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +10 -1
  574. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +1 -1
  575. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +13 -1
  576. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +1281 -8
  577. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +12 -1
  578. data/sig/metronome_sdk/models/v1/customers/{invoice.rbs → invoice_list_response.rbs} +432 -137
  579. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +6 -1
  580. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +1292 -4
  581. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +6 -1
  582. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +8 -2
  583. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +8 -1
  584. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +49 -25
  585. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +19 -4
  586. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +8 -1
  587. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +1 -1
  588. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +6 -1
  589. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +7 -1
  590. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +12 -2
  591. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +35 -6
  592. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +33 -19
  593. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +4 -2
  594. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +4 -1
  595. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +4 -2
  596. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +4 -1
  597. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +4 -2
  598. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +4 -1
  599. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +266 -4
  600. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +6 -1
  601. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +40 -6
  602. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +7 -1
  603. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +119 -5
  604. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +5 -1
  605. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +6 -1
  606. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +5 -1
  607. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +1 -1
  608. data/sig/metronome_sdk/models/v1/service_list_params.rbs +1 -1
  609. data/sig/metronome_sdk/models/v1/service_list_response.rbs +8 -2
  610. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +16 -7
  611. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +24 -13
  612. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +13 -2
  613. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +18 -7
  614. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +7 -1
  615. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +141 -50
  616. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +19 -4
  617. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +100 -26
  618. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +19 -4
  619. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +1888 -430
  620. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +19 -4
  621. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +5 -1
  622. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2826 -521
  623. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +9 -1
  624. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +1849 -334
  625. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +8 -1
  626. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +1849 -334
  627. data/sig/metronome_sdk/models.rbs +5 -0
  628. data/sig/metronome_sdk/request_options.rbs +1 -1
  629. data/sig/metronome_sdk/resources/v1/alerts.rbs +2 -2
  630. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  631. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  632. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbs +1 -1
  633. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +5 -4
  634. data/sig/metronome_sdk/resources/v1/contracts/rate_cards.rbs +9 -4
  635. data/sig/metronome_sdk/resources/v1/contracts.rbs +33 -25
  636. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +3 -3
  637. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  638. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +3 -2
  639. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -1
  640. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  641. data/sig/metronome_sdk/resources/v1/customers/plans.rbs +3 -3
  642. data/sig/metronome_sdk/resources/v1/customers.rbs +3 -3
  643. data/sig/metronome_sdk/resources/v1/dashboards.rbs +3 -3
  644. data/sig/metronome_sdk/resources/v1/usage.rbs +3 -3
  645. data/sig/metronome_sdk/resources/v2/contracts.rbs +31 -21
  646. metadata +25 -85
  647. data/lib/metronome_sdk/models/base_usage_filter.rb +0 -27
  648. data/lib/metronome_sdk/models/commit.rb +0 -848
  649. data/lib/metronome_sdk/models/contract_without_amendments.rb +0 -1431
  650. data/lib/metronome_sdk/models/credit.rb +0 -476
  651. data/lib/metronome_sdk/models/credit_type_data.rb +0 -21
  652. data/lib/metronome_sdk/models/discount.rb +0 -68
  653. data/lib/metronome_sdk/models/event_type_filter.rb +0 -35
  654. data/lib/metronome_sdk/models/id.rb +0 -15
  655. data/lib/metronome_sdk/models/override.rb +0 -368
  656. data/lib/metronome_sdk/models/pro_service.rb +0 -75
  657. data/lib/metronome_sdk/models/property_filter.rb +0 -55
  658. data/lib/metronome_sdk/models/rate.rb +0 -106
  659. data/lib/metronome_sdk/models/schedule_duration.rb +0 -50
  660. data/lib/metronome_sdk/models/schedule_point_in_time.rb +0 -62
  661. data/lib/metronome_sdk/models/scheduled_charge.rb +0 -76
  662. data/lib/metronome_sdk/models/tier.rb +0 -21
  663. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +0 -152
  664. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +0 -57
  665. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +0 -43
  666. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +0 -71
  667. data/lib/metronome_sdk/models/v1/customer.rb +0 -55
  668. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +0 -269
  669. data/lib/metronome_sdk/models/v1/plan_detail.rb +0 -200
  670. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +0 -38
  671. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +0 -38
  672. data/rbi/metronome_sdk/models/base_usage_filter.rbi +0 -27
  673. data/rbi/metronome_sdk/models/commit.rbi +0 -1283
  674. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +0 -2407
  675. data/rbi/metronome_sdk/models/credit.rbi +0 -697
  676. data/rbi/metronome_sdk/models/credit_type_data.rbi +0 -19
  677. data/rbi/metronome_sdk/models/discount.rbi +0 -90
  678. data/rbi/metronome_sdk/models/event_type_filter.rbi +0 -40
  679. data/rbi/metronome_sdk/models/id.rbi +0 -16
  680. data/rbi/metronome_sdk/models/override.rbi +0 -503
  681. data/rbi/metronome_sdk/models/pro_service.rbi +0 -92
  682. data/rbi/metronome_sdk/models/property_filter.rbi +0 -75
  683. data/rbi/metronome_sdk/models/rate.rbi +0 -143
  684. data/rbi/metronome_sdk/models/schedule_duration.rbi +0 -58
  685. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +0 -92
  686. data/rbi/metronome_sdk/models/scheduled_charge.rbi +0 -104
  687. data/rbi/metronome_sdk/models/tier.rbi +0 -22
  688. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +0 -214
  689. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +0 -80
  690. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +0 -62
  691. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +0 -81
  692. data/rbi/metronome_sdk/models/v1/customer.rbi +0 -68
  693. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +0 -175
  694. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +0 -445
  695. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +0 -1756
  696. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +0 -303
  697. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +0 -43
  698. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +0 -48
  699. data/sig/metronome_sdk/models/base_usage_filter.rbs +0 -24
  700. data/sig/metronome_sdk/models/commit.rbs +0 -750
  701. data/sig/metronome_sdk/models/contract_without_amendments.rbs +0 -1122
  702. data/sig/metronome_sdk/models/credit.rbs +0 -415
  703. data/sig/metronome_sdk/models/credit_type_data.rbs +0 -15
  704. data/sig/metronome_sdk/models/discount.rbs +0 -56
  705. data/sig/metronome_sdk/models/event_type_filter.rbs +0 -23
  706. data/sig/metronome_sdk/models/id.rbs +0 -13
  707. data/sig/metronome_sdk/models/override.rbs +0 -343
  708. data/sig/metronome_sdk/models/pro_service.rbs +0 -52
  709. data/sig/metronome_sdk/models/property_filter.rbs +0 -36
  710. data/sig/metronome_sdk/models/rate.rbs +0 -86
  711. data/sig/metronome_sdk/models/schedule_duration.rbs +0 -48
  712. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +0 -65
  713. data/sig/metronome_sdk/models/scheduled_charge.rbs +0 -62
  714. data/sig/metronome_sdk/models/tier.rbs +0 -17
  715. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +0 -104
  716. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +0 -43
  717. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +0 -38
  718. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +0 -44
  719. data/sig/metronome_sdk/models/v1/customer.rbs +0 -38
  720. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +0 -213
  721. data/sig/metronome_sdk/models/v1/plan_detail.rbs +0 -173
  722. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +0 -34
  723. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +0 -34
@@ -49,9 +49,9 @@ module MetronomeSDK
49
49
 
50
50
  # @!attribute scheduled_charges
51
51
  #
52
- # @return [Array<MetronomeSDK::Models::ScheduledCharge>]
52
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge>]
53
53
  required :scheduled_charges,
54
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::ScheduledCharge] }
54
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge] }
55
55
 
56
56
  # @!attribute starting_at
57
57
  #
@@ -81,12 +81,6 @@ module MetronomeSDK
81
81
  # @return [Time, nil]
82
82
  optional :archived_at, Time
83
83
 
84
- # @!attribute credit_balance_threshold_configuration
85
- #
86
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration, nil]
87
- optional :credit_balance_threshold_configuration,
88
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration }
89
-
90
84
  # @!attribute credits
91
85
  #
92
86
  # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit>, nil]
@@ -108,8 +102,9 @@ module MetronomeSDK
108
102
  # @!attribute discounts
109
103
  # This field's availability is dependent on your client's configuration.
110
104
  #
111
- # @return [Array<MetronomeSDK::Models::Discount>, nil]
112
- optional :discounts, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::Discount] }
105
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Discount>, nil]
106
+ optional :discounts,
107
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Discount] }
113
108
 
114
109
  # @!attribute ending_before
115
110
  #
@@ -142,12 +137,18 @@ module MetronomeSDK
142
137
  # @return [String, nil]
143
138
  optional :netsuite_sales_order_id, String
144
139
 
140
+ # @!attribute prepaid_balance_threshold_configuration
141
+ #
142
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration, nil]
143
+ optional :prepaid_balance_threshold_configuration,
144
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration }
145
+
145
146
  # @!attribute professional_services
146
147
  # This field's availability is dependent on your client's configuration.
147
148
  #
148
- # @return [Array<MetronomeSDK::Models::ProService>, nil]
149
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ProfessionalService>, nil]
149
150
  optional :professional_services,
150
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::ProService] }
151
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::ProfessionalService] }
151
152
 
152
153
  # @!attribute rate_card_id
153
154
  #
@@ -196,6 +197,13 @@ module MetronomeSDK
196
197
  optional :spend_threshold_configuration,
197
198
  -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration }
198
199
 
200
+ # @!attribute subscriptions
201
+ # (beta) List of subscriptions on the contract.
202
+ #
203
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription>, nil]
204
+ optional :subscriptions,
205
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription] }
206
+
199
207
  # @!attribute total_contract_value
200
208
  #
201
209
  # @return [Float, nil]
@@ -209,7 +217,7 @@ module MetronomeSDK
209
217
  # @return [String, nil]
210
218
  optional :uniqueness_key, String
211
219
 
212
- # @!method initialize(id:, commits:, created_at:, created_by:, customer_id:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_filter:, usage_statement_schedule:, archived_at: nil, credit_balance_threshold_configuration: nil, credits: nil, custom_fields: nil, customer_billing_provider_configuration: nil, discounts: nil, ending_before: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, professional_services: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, total_contract_value: nil, uniqueness_key: nil)
220
+ # @!method initialize(id:, commits:, created_at:, created_by:, customer_id:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_filter:, usage_statement_schedule:, archived_at: nil, credits: nil, custom_fields: nil, customer_billing_provider_configuration: nil, discounts: nil, ending_before: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, prepaid_balance_threshold_configuration: nil, professional_services: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, total_contract_value: nil, uniqueness_key: nil)
213
221
  # Some parameter documentations has been truncated, see
214
222
  # {MetronomeSDK::Models::V2::ContractListResponse::Data} for more details.
215
223
  #
@@ -225,7 +233,7 @@ module MetronomeSDK
225
233
  #
226
234
  # @param overrides [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override>]
227
235
  #
228
- # @param scheduled_charges [Array<MetronomeSDK::Models::ScheduledCharge>]
236
+ # @param scheduled_charges [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge>]
229
237
  #
230
238
  # @param starting_at [Time]
231
239
  #
@@ -237,20 +245,17 @@ module MetronomeSDK
237
245
  #
238
246
  # @param archived_at [Time]
239
247
  #
240
- # @param credit_balance_threshold_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration]
241
- #
242
248
  # @param credits [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit>]
243
249
  #
244
250
  # @param custom_fields [Hash{Symbol=>String}]
245
251
  #
246
252
  # @param customer_billing_provider_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration] This field's availability is dependent on your client's configuration.
247
253
  #
248
- # @param discounts [Array<MetronomeSDK::Models::Discount>] This field's availability is dependent on your client's configuration.
254
+ # @param discounts [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Discount>] This field's availability is dependent on your client's configuration.
249
255
  #
250
256
  # @param ending_before [Time]
251
257
  #
252
258
  # @param multiplier_override_prioritization [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::MultiplierOverridePrioritization] Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list price
253
- # ...
254
259
  #
255
260
  # @param name [String]
256
261
  #
@@ -258,7 +263,9 @@ module MetronomeSDK
258
263
  #
259
264
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
260
265
  #
261
- # @param professional_services [Array<MetronomeSDK::Models::ProService>] This field's availability is dependent on your client's configuration.
266
+ # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration]
267
+ #
268
+ # @param professional_services [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ProfessionalService>] This field's availability is dependent on your client's configuration.
262
269
  #
263
270
  # @param rate_card_id [String]
264
271
  #
@@ -271,14 +278,14 @@ module MetronomeSDK
271
278
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
272
279
  #
273
280
  # @param scheduled_charges_on_usage_invoices [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledChargesOnUsageInvoices] Determines which scheduled and commit charges to consolidate onto the Contract's
274
- # ...
275
281
  #
276
282
  # @param spend_threshold_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration]
277
283
  #
284
+ # @param subscriptions [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription>] (beta) List of subscriptions on the contract.
285
+ #
278
286
  # @param total_contract_value [Float]
279
287
  #
280
288
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
281
- # ...
282
289
 
283
290
  class Commit < MetronomeSDK::Internal::Type::BaseModel
284
291
  # @!attribute id
@@ -300,8 +307,9 @@ module MetronomeSDK
300
307
  # The schedule that the customer will gain access to the credits purposed with
301
308
  # this commit.
302
309
  #
303
- # @return [MetronomeSDK::Models::ScheduleDuration, nil]
304
- optional :access_schedule, -> { MetronomeSDK::Models::ScheduleDuration }
310
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule, nil]
311
+ optional :access_schedule,
312
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule }
305
313
 
306
314
  # @!attribute applicable_contract_ids
307
315
  #
@@ -361,14 +369,15 @@ module MetronomeSDK
361
369
  # @!attribute invoice_schedule
362
370
  # The schedule that the customer will be invoiced for this commit.
363
371
  #
364
- # @return [MetronomeSDK::Models::SchedulePointInTime, nil]
365
- optional :invoice_schedule, -> { MetronomeSDK::Models::SchedulePointInTime }
372
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule, nil]
373
+ optional :invoice_schedule,
374
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule }
366
375
 
367
376
  # @!attribute ledger
368
377
  # A list of ordered events that impact the balance of a commit. For example, an
369
378
  # invoice deduction or a rollover.
370
379
  #
371
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>, nil]
380
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12>, nil]
372
381
  optional :ledger,
373
382
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger] }
374
383
 
@@ -412,7 +421,16 @@ module MetronomeSDK
412
421
  # @return [String, nil]
413
422
  optional :salesforce_opportunity_id, String
414
423
 
415
- # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, invoice_contract: nil, invoice_schedule: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil)
424
+ # @!attribute specifiers
425
+ # List of filters that determine what kind of customer usage draws down a commit
426
+ # or credit. A customer's usage needs to meet the condition of at least one of the
427
+ # specifiers to contribute to a commit's or credit's drawdown.
428
+ #
429
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Specifier>, nil]
430
+ optional :specifiers,
431
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Specifier] }
432
+
433
+ # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, invoice_contract: nil, invoice_schedule: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil)
416
434
  # Some parameter documentations has been truncated, see
417
435
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::Commit} for more details.
418
436
  #
@@ -422,8 +440,7 @@ module MetronomeSDK
422
440
  #
423
441
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Type]
424
442
  #
425
- # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits purposed with thi
426
- # ...
443
+ # @param access_schedule [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule] The schedule that the customer will gain access to the credits purposed with thi
427
444
  #
428
445
  # @param applicable_contract_ids [Array<String>]
429
446
  #
@@ -434,7 +451,6 @@ module MetronomeSDK
434
451
  # @param archived_at [Time]
435
452
  #
436
453
  # @param balance [Float] The current balance of the credit or commit. This balance reflects the amount of
437
- # ...
438
454
  #
439
455
  # @param contract [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Contract]
440
456
  #
@@ -444,17 +460,15 @@ module MetronomeSDK
444
460
  #
445
461
  # @param invoice_contract [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceContract] The contract that this commit will be billed on.
446
462
  #
447
- # @param invoice_schedule [MetronomeSDK::Models::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
463
+ # @param invoice_schedule [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule] The schedule that the customer will be invoiced for this commit.
448
464
  #
449
- # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>] A list of ordered events that impact the balance of a commit. For example, an in
450
- # ...
465
+ # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12>] A list of ordered events that impact the balance of a commit. For example, an in
451
466
  #
452
467
  # @param name [String]
453
468
  #
454
469
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
455
470
  #
456
471
  # @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
457
- # ...
458
472
  #
459
473
  # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::RateType]
460
474
  #
@@ -463,6 +477,8 @@ module MetronomeSDK
463
477
  # @param rollover_fraction [Float]
464
478
  #
465
479
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
480
+ #
481
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
466
482
 
467
483
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#product
468
484
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -492,6 +508,73 @@ module MetronomeSDK
492
508
  # @return [Array<Symbol>]
493
509
  end
494
510
 
511
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#access_schedule
512
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
513
+ # @!attribute schedule_items
514
+ #
515
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::ScheduleItem>]
516
+ required :schedule_items,
517
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::ScheduleItem] }
518
+
519
+ # @!attribute credit_type
520
+ #
521
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::CreditType, nil]
522
+ optional :credit_type,
523
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::CreditType }
524
+
525
+ # @!method initialize(schedule_items:, credit_type: nil)
526
+ # The schedule that the customer will gain access to the credits purposed with
527
+ # this commit.
528
+ #
529
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::ScheduleItem>]
530
+ # @param credit_type [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::CreditType]
531
+
532
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
533
+ # @!attribute id
534
+ #
535
+ # @return [String]
536
+ required :id, String
537
+
538
+ # @!attribute amount
539
+ #
540
+ # @return [Float]
541
+ required :amount, Float
542
+
543
+ # @!attribute ending_before
544
+ #
545
+ # @return [Time]
546
+ required :ending_before, Time
547
+
548
+ # @!attribute starting_at
549
+ #
550
+ # @return [Time]
551
+ required :starting_at, Time
552
+
553
+ # @!method initialize(id:, amount:, ending_before:, starting_at:)
554
+ # @param id [String]
555
+ # @param amount [Float]
556
+ # @param ending_before [Time]
557
+ # @param starting_at [Time]
558
+ end
559
+
560
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule#credit_type
561
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
562
+ # @!attribute id
563
+ #
564
+ # @return [String]
565
+ required :id, String
566
+
567
+ # @!attribute name
568
+ #
569
+ # @return [String]
570
+ required :name, String
571
+
572
+ # @!method initialize(id:, name:)
573
+ # @param id [String]
574
+ # @param name [String]
575
+ end
576
+ end
577
+
495
578
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#contract
496
579
  class Contract < MetronomeSDK::Internal::Type::BaseModel
497
580
  # @!attribute id
@@ -516,36 +599,114 @@ module MetronomeSDK
516
599
  # @param id [String]
517
600
  end
518
601
 
602
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#invoice_schedule
603
+ class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
604
+ # @!attribute credit_type
605
+ #
606
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::CreditType, nil]
607
+ optional :credit_type,
608
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::CreditType }
609
+
610
+ # @!attribute schedule_items
611
+ #
612
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::ScheduleItem>, nil]
613
+ optional :schedule_items,
614
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::ScheduleItem] }
615
+
616
+ # @!method initialize(credit_type: nil, schedule_items: nil)
617
+ # The schedule that the customer will be invoiced for this commit.
618
+ #
619
+ # @param credit_type [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::CreditType]
620
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::ScheduleItem>]
621
+
622
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule#credit_type
623
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
624
+ # @!attribute id
625
+ #
626
+ # @return [String]
627
+ required :id, String
628
+
629
+ # @!attribute name
630
+ #
631
+ # @return [String]
632
+ required :name, String
633
+
634
+ # @!method initialize(id:, name:)
635
+ # @param id [String]
636
+ # @param name [String]
637
+ end
638
+
639
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
640
+ # @!attribute id
641
+ #
642
+ # @return [String]
643
+ required :id, String
644
+
645
+ # @!attribute amount
646
+ #
647
+ # @return [Float]
648
+ required :amount, Float
649
+
650
+ # @!attribute invoice_id
651
+ #
652
+ # @return [String]
653
+ required :invoice_id, String
654
+
655
+ # @!attribute quantity
656
+ #
657
+ # @return [Float]
658
+ required :quantity, Float
659
+
660
+ # @!attribute timestamp
661
+ #
662
+ # @return [Time]
663
+ required :timestamp, Time
664
+
665
+ # @!attribute unit_price
666
+ #
667
+ # @return [Float]
668
+ required :unit_price, Float
669
+
670
+ # @!method initialize(id:, amount:, invoice_id:, quantity:, timestamp:, unit_price:)
671
+ # @param id [String]
672
+ # @param amount [Float]
673
+ # @param invoice_id [String]
674
+ # @param quantity [Float]
675
+ # @param timestamp [Time]
676
+ # @param unit_price [Float]
677
+ end
678
+ end
679
+
519
680
  module Ledger
520
681
  extend MetronomeSDK::Internal::Type::Union
521
682
 
522
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry }
683
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0 }
523
684
 
524
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry }
685
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1 }
525
686
 
526
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry }
687
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2 }
527
688
 
528
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry }
689
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3 }
529
690
 
530
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry }
691
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4 }
531
692
 
532
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry }
693
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5 }
533
694
 
534
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry }
695
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6 }
535
696
 
536
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry }
697
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7 }
537
698
 
538
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry }
699
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8 }
539
700
 
540
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry }
701
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9 }
541
702
 
542
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry }
703
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10 }
543
704
 
544
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry }
705
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11 }
545
706
 
546
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry }
707
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12 }
547
708
 
548
- class PrepaidCommitSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
709
+ class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
549
710
  # @!attribute amount
550
711
  #
551
712
  # @return [Float]
@@ -563,17 +724,17 @@ module MetronomeSDK
563
724
 
564
725
  # @!attribute type
565
726
  #
566
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
727
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::Type]
567
728
  required :type,
568
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type }
729
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::Type }
569
730
 
570
731
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
571
732
  # @param amount [Float]
572
733
  # @param segment_id [String]
573
734
  # @param timestamp [Time]
574
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
735
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::Type]
575
736
 
576
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry#type
737
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0#type
577
738
  module Type
578
739
  extend MetronomeSDK::Internal::Type::Enum
579
740
 
@@ -584,7 +745,7 @@ module MetronomeSDK
584
745
  end
585
746
  end
586
747
 
587
- class PrepaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
748
+ class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
588
749
  # @!attribute amount
589
750
  #
590
751
  # @return [Float]
@@ -607,18 +768,18 @@ module MetronomeSDK
607
768
 
608
769
  # @!attribute type
609
770
  #
610
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
771
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::Type]
611
772
  required :type,
612
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
773
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::Type }
613
774
 
614
775
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
615
776
  # @param amount [Float]
616
777
  # @param invoice_id [String]
617
778
  # @param segment_id [String]
618
779
  # @param timestamp [Time]
619
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
780
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::Type]
620
781
 
621
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry#type
782
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1#type
622
783
  module Type
623
784
  extend MetronomeSDK::Internal::Type::Enum
624
785
 
@@ -629,7 +790,7 @@ module MetronomeSDK
629
790
  end
630
791
  end
631
792
 
632
- class PrepaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
793
+ class UnionMember2 < MetronomeSDK::Internal::Type::BaseModel
633
794
  # @!attribute amount
634
795
  #
635
796
  # @return [Float]
@@ -652,18 +813,18 @@ module MetronomeSDK
652
813
 
653
814
  # @!attribute type
654
815
  #
655
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
816
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::Type]
656
817
  required :type,
657
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type }
818
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::Type }
658
819
 
659
820
  # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
660
821
  # @param amount [Float]
661
822
  # @param new_contract_id [String]
662
823
  # @param segment_id [String]
663
824
  # @param timestamp [Time]
664
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
825
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::Type]
665
826
 
666
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry#type
827
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2#type
667
828
  module Type
668
829
  extend MetronomeSDK::Internal::Type::Enum
669
830
 
@@ -674,7 +835,7 @@ module MetronomeSDK
674
835
  end
675
836
  end
676
837
 
677
- class PrepaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
838
+ class UnionMember3 < MetronomeSDK::Internal::Type::BaseModel
678
839
  # @!attribute amount
679
840
  #
680
841
  # @return [Float]
@@ -692,17 +853,17 @@ module MetronomeSDK
692
853
 
693
854
  # @!attribute type
694
855
  #
695
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
856
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::Type]
696
857
  required :type,
697
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type }
858
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::Type }
698
859
 
699
860
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
700
861
  # @param amount [Float]
701
862
  # @param segment_id [String]
702
863
  # @param timestamp [Time]
703
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
864
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::Type]
704
865
 
705
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry#type
866
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3#type
706
867
  module Type
707
868
  extend MetronomeSDK::Internal::Type::Enum
708
869
 
@@ -713,7 +874,7 @@ module MetronomeSDK
713
874
  end
714
875
  end
715
876
 
716
- class PrepaidCommitCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
877
+ class UnionMember4 < MetronomeSDK::Internal::Type::BaseModel
717
878
  # @!attribute amount
718
879
  #
719
880
  # @return [Float]
@@ -736,18 +897,18 @@ module MetronomeSDK
736
897
 
737
898
  # @!attribute type
738
899
  #
739
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
900
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::Type]
740
901
  required :type,
741
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type }
902
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::Type }
742
903
 
743
904
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
744
905
  # @param amount [Float]
745
906
  # @param invoice_id [String]
746
907
  # @param segment_id [String]
747
908
  # @param timestamp [Time]
748
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
909
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::Type]
749
910
 
750
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry#type
911
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4#type
751
912
  module Type
752
913
  extend MetronomeSDK::Internal::Type::Enum
753
914
 
@@ -758,7 +919,7 @@ module MetronomeSDK
758
919
  end
759
920
  end
760
921
 
761
- class PrepaidCommitCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
922
+ class UnionMember5 < MetronomeSDK::Internal::Type::BaseModel
762
923
  # @!attribute amount
763
924
  #
764
925
  # @return [Float]
@@ -781,18 +942,18 @@ module MetronomeSDK
781
942
 
782
943
  # @!attribute type
783
944
  #
784
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
945
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::Type]
785
946
  required :type,
786
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type }
947
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::Type }
787
948
 
788
949
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
789
950
  # @param amount [Float]
790
951
  # @param invoice_id [String]
791
952
  # @param segment_id [String]
792
953
  # @param timestamp [Time]
793
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
954
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::Type]
794
955
 
795
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry#type
956
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5#type
796
957
  module Type
797
958
  extend MetronomeSDK::Internal::Type::Enum
798
959
 
@@ -803,7 +964,7 @@ module MetronomeSDK
803
964
  end
804
965
  end
805
966
 
806
- class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
967
+ class UnionMember6 < MetronomeSDK::Internal::Type::BaseModel
807
968
  # @!attribute amount
808
969
  #
809
970
  # @return [Float]
@@ -816,16 +977,16 @@ module MetronomeSDK
816
977
 
817
978
  # @!attribute type
818
979
  #
819
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
980
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::Type]
820
981
  required :type,
821
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type }
982
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::Type }
822
983
 
823
984
  # @!method initialize(amount:, timestamp:, type:)
824
985
  # @param amount [Float]
825
986
  # @param timestamp [Time]
826
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
987
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::Type]
827
988
 
828
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry#type
989
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6#type
829
990
  module Type
830
991
  extend MetronomeSDK::Internal::Type::Enum
831
992
 
@@ -836,7 +997,7 @@ module MetronomeSDK
836
997
  end
837
998
  end
838
999
 
839
- class PostpaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1000
+ class UnionMember7 < MetronomeSDK::Internal::Type::BaseModel
840
1001
  # @!attribute amount
841
1002
  #
842
1003
  # @return [Float]
@@ -859,18 +1020,18 @@ module MetronomeSDK
859
1020
 
860
1021
  # @!attribute type
861
1022
  #
862
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1023
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::Type]
863
1024
  required :type,
864
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
1025
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::Type }
865
1026
 
866
1027
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
867
1028
  # @param amount [Float]
868
1029
  # @param invoice_id [String]
869
1030
  # @param segment_id [String]
870
1031
  # @param timestamp [Time]
871
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1032
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::Type]
872
1033
 
873
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry#type
1034
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7#type
874
1035
  module Type
875
1036
  extend MetronomeSDK::Internal::Type::Enum
876
1037
 
@@ -881,7 +1042,7 @@ module MetronomeSDK
881
1042
  end
882
1043
  end
883
1044
 
884
- class PostpaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1045
+ class UnionMember8 < MetronomeSDK::Internal::Type::BaseModel
885
1046
  # @!attribute amount
886
1047
  #
887
1048
  # @return [Float]
@@ -904,18 +1065,18 @@ module MetronomeSDK
904
1065
 
905
1066
  # @!attribute type
906
1067
  #
907
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
1068
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::Type]
908
1069
  required :type,
909
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type }
1070
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::Type }
910
1071
 
911
1072
  # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
912
1073
  # @param amount [Float]
913
1074
  # @param new_contract_id [String]
914
1075
  # @param segment_id [String]
915
1076
  # @param timestamp [Time]
916
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
1077
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::Type]
917
1078
 
918
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry#type
1079
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8#type
919
1080
  module Type
920
1081
  extend MetronomeSDK::Internal::Type::Enum
921
1082
 
@@ -926,7 +1087,7 @@ module MetronomeSDK
926
1087
  end
927
1088
  end
928
1089
 
929
- class PostpaidCommitTrueupLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1090
+ class UnionMember9 < MetronomeSDK::Internal::Type::BaseModel
930
1091
  # @!attribute amount
931
1092
  #
932
1093
  # @return [Float]
@@ -944,17 +1105,17 @@ module MetronomeSDK
944
1105
 
945
1106
  # @!attribute type
946
1107
  #
947
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1108
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::Type]
948
1109
  required :type,
949
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type }
1110
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::Type }
950
1111
 
951
1112
  # @!method initialize(amount:, invoice_id:, timestamp:, type:)
952
1113
  # @param amount [Float]
953
1114
  # @param invoice_id [String]
954
1115
  # @param timestamp [Time]
955
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1116
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::Type]
956
1117
 
957
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry#type
1118
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9#type
958
1119
  module Type
959
1120
  extend MetronomeSDK::Internal::Type::Enum
960
1121
 
@@ -965,7 +1126,7 @@ module MetronomeSDK
965
1126
  end
966
1127
  end
967
1128
 
968
- class PrepaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1129
+ class UnionMember10 < MetronomeSDK::Internal::Type::BaseModel
969
1130
  # @!attribute amount
970
1131
  #
971
1132
  # @return [Float]
@@ -983,17 +1144,17 @@ module MetronomeSDK
983
1144
 
984
1145
  # @!attribute type
985
1146
  #
986
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
1147
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::Type]
987
1148
  required :type,
988
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type }
1149
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::Type }
989
1150
 
990
1151
  # @!method initialize(amount:, reason:, timestamp:, type:)
991
1152
  # @param amount [Float]
992
1153
  # @param reason [String]
993
1154
  # @param timestamp [Time]
994
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
1155
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::Type]
995
1156
 
996
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry#type
1157
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10#type
997
1158
  module Type
998
1159
  extend MetronomeSDK::Internal::Type::Enum
999
1160
 
@@ -1004,7 +1165,7 @@ module MetronomeSDK
1004
1165
  end
1005
1166
  end
1006
1167
 
1007
- class PostpaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1168
+ class UnionMember11 < MetronomeSDK::Internal::Type::BaseModel
1008
1169
  # @!attribute amount
1009
1170
  #
1010
1171
  # @return [Float]
@@ -1022,17 +1183,17 @@ module MetronomeSDK
1022
1183
 
1023
1184
  # @!attribute type
1024
1185
  #
1025
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
1186
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::Type]
1026
1187
  required :type,
1027
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type }
1188
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::Type }
1028
1189
 
1029
1190
  # @!method initialize(amount:, reason:, timestamp:, type:)
1030
1191
  # @param amount [Float]
1031
1192
  # @param reason [String]
1032
1193
  # @param timestamp [Time]
1033
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
1194
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::Type]
1034
1195
 
1035
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry#type
1196
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11#type
1036
1197
  module Type
1037
1198
  extend MetronomeSDK::Internal::Type::Enum
1038
1199
 
@@ -1043,7 +1204,7 @@ module MetronomeSDK
1043
1204
  end
1044
1205
  end
1045
1206
 
1046
- class PostpaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1207
+ class UnionMember12 < MetronomeSDK::Internal::Type::BaseModel
1047
1208
  # @!attribute amount
1048
1209
  #
1049
1210
  # @return [Float]
@@ -1056,16 +1217,16 @@ module MetronomeSDK
1056
1217
 
1057
1218
  # @!attribute type
1058
1219
  #
1059
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
1220
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::Type]
1060
1221
  required :type,
1061
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type }
1222
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::Type }
1062
1223
 
1063
1224
  # @!method initialize(amount:, timestamp:, type:)
1064
1225
  # @param amount [Float]
1065
1226
  # @param timestamp [Time]
1066
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
1227
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::Type]
1067
1228
 
1068
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry#type
1229
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12#type
1069
1230
  module Type
1070
1231
  extend MetronomeSDK::Internal::Type::Enum
1071
1232
 
@@ -1077,7 +1238,7 @@ module MetronomeSDK
1077
1238
  end
1078
1239
 
1079
1240
  # @!method self.variants
1080
- # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry)]
1241
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12)]
1081
1242
  end
1082
1243
 
1083
1244
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#rate_type
@@ -1107,6 +1268,44 @@ module MetronomeSDK
1107
1268
  # @param commit_id [String]
1108
1269
  # @param contract_id [String]
1109
1270
  end
1271
+
1272
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1273
+ # @!attribute presentation_group_values
1274
+ #
1275
+ # @return [Hash{Symbol=>String}, nil]
1276
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1277
+
1278
+ # @!attribute pricing_group_values
1279
+ #
1280
+ # @return [Hash{Symbol=>String}, nil]
1281
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1282
+
1283
+ # @!attribute product_id
1284
+ # If provided, the specifier will only apply to the product with the specified ID.
1285
+ #
1286
+ # @return [String, nil]
1287
+ optional :product_id, String
1288
+
1289
+ # @!attribute product_tags
1290
+ # If provided, the specifier will only apply to products with all the specified
1291
+ # tags.
1292
+ #
1293
+ # @return [Array<String>, nil]
1294
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1295
+
1296
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1297
+ # Some parameter documentations has been truncated, see
1298
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Specifier} for
1299
+ # more details.
1300
+ #
1301
+ # @param presentation_group_values [Hash{Symbol=>String}]
1302
+ #
1303
+ # @param pricing_group_values [Hash{Symbol=>String}]
1304
+ #
1305
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1306
+ #
1307
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1308
+ end
1110
1309
  end
1111
1310
 
1112
1311
  class Override < MetronomeSDK::Internal::Type::BaseModel
@@ -1200,6 +1399,12 @@ module MetronomeSDK
1200
1399
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Type]
1201
1400
 
1202
1401
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1402
+ # @!attribute billing_frequency
1403
+ #
1404
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier::BillingFrequency, nil]
1405
+ optional :billing_frequency,
1406
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier::BillingFrequency }
1407
+
1203
1408
  # @!attribute commit_ids
1204
1409
  #
1205
1410
  # @return [Array<String>, nil]
@@ -1235,7 +1440,8 @@ module MetronomeSDK
1235
1440
  # @return [Array<String>, nil]
1236
1441
  optional :recurring_credit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1237
1442
 
1238
- # @!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)
1443
+ # @!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)
1444
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier::BillingFrequency]
1239
1445
  # @param commit_ids [Array<String>]
1240
1446
  # @param presentation_group_values [Hash{Symbol=>String, nil}]
1241
1447
  # @param pricing_group_values [Hash{Symbol=>String}]
@@ -1243,6 +1449,19 @@ module MetronomeSDK
1243
1449
  # @param product_tags [Array<String>]
1244
1450
  # @param recurring_commit_ids [Array<String>]
1245
1451
  # @param recurring_credit_ids [Array<String>]
1452
+
1453
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier#billing_frequency
1454
+ module BillingFrequency
1455
+ extend MetronomeSDK::Internal::Type::Enum
1456
+
1457
+ MONTHLY = :MONTHLY
1458
+ QUARTERLY = :QUARTERLY
1459
+ ANNUAL = :ANNUAL
1460
+ WEEKLY = :WEEKLY
1461
+
1462
+ # @!method self.values
1463
+ # @return [Array<Symbol>]
1464
+ end
1246
1465
  end
1247
1466
 
1248
1467
  class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
@@ -1271,8 +1490,9 @@ module MetronomeSDK
1271
1490
 
1272
1491
  # @!attribute credit_type
1273
1492
  #
1274
- # @return [MetronomeSDK::Models::CreditTypeData, nil]
1275
- optional :credit_type, -> { MetronomeSDK::Models::CreditTypeData }
1493
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::CreditType, nil]
1494
+ optional :credit_type,
1495
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::CreditType }
1276
1496
 
1277
1497
  # @!attribute custom_rate
1278
1498
  # Only set for CUSTOM rate_type. This field is interpreted by custom rate
@@ -1305,8 +1525,9 @@ module MetronomeSDK
1305
1525
  # @!attribute tiers
1306
1526
  # Only set for TIERED rate_type.
1307
1527
  #
1308
- # @return [Array<MetronomeSDK::Models::Tier>, nil]
1309
- optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::Tier] }
1528
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::Tier>, nil]
1529
+ optional :tiers,
1530
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::Tier] }
1310
1531
 
1311
1532
  # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1312
1533
  # Some parameter documentations has been truncated, see
@@ -1315,20 +1536,17 @@ module MetronomeSDK
1315
1536
  #
1316
1537
  # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::RateType]
1317
1538
  #
1318
- # @param credit_type [MetronomeSDK::Models::CreditTypeData]
1539
+ # @param credit_type [MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::CreditType]
1319
1540
  #
1320
1541
  # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
1321
- # ...
1322
1542
  #
1323
1543
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1324
- # ...
1325
1544
  #
1326
1545
  # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
1327
- # ...
1328
1546
  #
1329
1547
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1330
1548
  #
1331
- # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
1549
+ # @param tiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::Tier>] Only set for TIERED rate_type.
1332
1550
 
1333
1551
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate#rate_type
1334
1552
  module RateType
@@ -1343,6 +1561,39 @@ module MetronomeSDK
1343
1561
  # @!method self.values
1344
1562
  # @return [Array<Symbol>]
1345
1563
  end
1564
+
1565
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate#credit_type
1566
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
1567
+ # @!attribute id
1568
+ #
1569
+ # @return [String]
1570
+ required :id, String
1571
+
1572
+ # @!attribute name
1573
+ #
1574
+ # @return [String]
1575
+ required :name, String
1576
+
1577
+ # @!method initialize(id:, name:)
1578
+ # @param id [String]
1579
+ # @param name [String]
1580
+ end
1581
+
1582
+ class Tier < MetronomeSDK::Internal::Type::BaseModel
1583
+ # @!attribute price
1584
+ #
1585
+ # @return [Float]
1586
+ required :price, Float
1587
+
1588
+ # @!attribute size
1589
+ #
1590
+ # @return [Float, nil]
1591
+ optional :size, Float
1592
+
1593
+ # @!method initialize(price:, size: nil)
1594
+ # @param price [Float]
1595
+ # @param size [Float]
1596
+ end
1346
1597
  end
1347
1598
 
1348
1599
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override#product
@@ -1386,6 +1637,153 @@ module MetronomeSDK
1386
1637
  end
1387
1638
  end
1388
1639
 
1640
+ class ScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
1641
+ # @!attribute id
1642
+ #
1643
+ # @return [String]
1644
+ required :id, String
1645
+
1646
+ # @!attribute product
1647
+ #
1648
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Product]
1649
+ required :product, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Product }
1650
+
1651
+ # @!attribute schedule
1652
+ #
1653
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule]
1654
+ required :schedule, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule }
1655
+
1656
+ # @!attribute archived_at
1657
+ #
1658
+ # @return [Time, nil]
1659
+ optional :archived_at, Time
1660
+
1661
+ # @!attribute custom_fields
1662
+ #
1663
+ # @return [Hash{Symbol=>String}, nil]
1664
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
1665
+
1666
+ # @!attribute name
1667
+ # displayed on invoices
1668
+ #
1669
+ # @return [String, nil]
1670
+ optional :name, String
1671
+
1672
+ # @!attribute netsuite_sales_order_id
1673
+ # This field's availability is dependent on your client's configuration.
1674
+ #
1675
+ # @return [String, nil]
1676
+ optional :netsuite_sales_order_id, String
1677
+
1678
+ # @!method initialize(id:, product:, schedule:, archived_at: nil, custom_fields: nil, name: nil, netsuite_sales_order_id: nil)
1679
+ # @param id [String]
1680
+ #
1681
+ # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Product]
1682
+ #
1683
+ # @param schedule [MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule]
1684
+ #
1685
+ # @param archived_at [Time]
1686
+ #
1687
+ # @param custom_fields [Hash{Symbol=>String}]
1688
+ #
1689
+ # @param name [String] displayed on invoices
1690
+ #
1691
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
1692
+
1693
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge#product
1694
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1695
+ # @!attribute id
1696
+ #
1697
+ # @return [String]
1698
+ required :id, String
1699
+
1700
+ # @!attribute name
1701
+ #
1702
+ # @return [String]
1703
+ required :name, String
1704
+
1705
+ # @!method initialize(id:, name:)
1706
+ # @param id [String]
1707
+ # @param name [String]
1708
+ end
1709
+
1710
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge#schedule
1711
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
1712
+ # @!attribute credit_type
1713
+ #
1714
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::CreditType, nil]
1715
+ optional :credit_type,
1716
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::CreditType }
1717
+
1718
+ # @!attribute schedule_items
1719
+ #
1720
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::ScheduleItem>, nil]
1721
+ optional :schedule_items,
1722
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::ScheduleItem] }
1723
+
1724
+ # @!method initialize(credit_type: nil, schedule_items: nil)
1725
+ # @param credit_type [MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::CreditType]
1726
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::ScheduleItem>]
1727
+
1728
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule#credit_type
1729
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
1730
+ # @!attribute id
1731
+ #
1732
+ # @return [String]
1733
+ required :id, String
1734
+
1735
+ # @!attribute name
1736
+ #
1737
+ # @return [String]
1738
+ required :name, String
1739
+
1740
+ # @!method initialize(id:, name:)
1741
+ # @param id [String]
1742
+ # @param name [String]
1743
+ end
1744
+
1745
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1746
+ # @!attribute id
1747
+ #
1748
+ # @return [String]
1749
+ required :id, String
1750
+
1751
+ # @!attribute amount
1752
+ #
1753
+ # @return [Float]
1754
+ required :amount, Float
1755
+
1756
+ # @!attribute invoice_id
1757
+ #
1758
+ # @return [String]
1759
+ required :invoice_id, String
1760
+
1761
+ # @!attribute quantity
1762
+ #
1763
+ # @return [Float]
1764
+ required :quantity, Float
1765
+
1766
+ # @!attribute timestamp
1767
+ #
1768
+ # @return [Time]
1769
+ required :timestamp, Time
1770
+
1771
+ # @!attribute unit_price
1772
+ #
1773
+ # @return [Float]
1774
+ required :unit_price, Float
1775
+
1776
+ # @!method initialize(id:, amount:, invoice_id:, quantity:, timestamp:, unit_price:)
1777
+ # @param id [String]
1778
+ # @param amount [Float]
1779
+ # @param invoice_id [String]
1780
+ # @param quantity [Float]
1781
+ # @param timestamp [Time]
1782
+ # @param unit_price [Float]
1783
+ end
1784
+ end
1785
+ end
1786
+
1389
1787
  class Transition < MetronomeSDK::Internal::Type::BaseModel
1390
1788
  # @!attribute from_contract_id
1391
1789
  #
@@ -1454,10 +1852,8 @@ module MetronomeSDK
1454
1852
  # @param group_values [Array<String>]
1455
1853
  #
1456
1854
  # @param starting_at [Time] This will match contract starting_at value if usage filter is active from the be
1457
- # ...
1458
1855
  #
1459
1856
  # @param ending_before [Time] This will match contract ending_before value if usage filter is active until the
1460
- # ...
1461
1857
  end
1462
1858
 
1463
1859
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data#usage_statement_schedule
@@ -1493,114 +1889,13 @@ module MetronomeSDK
1493
1889
  end
1494
1890
  end
1495
1891
 
1496
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data#credit_balance_threshold_configuration
1497
- class CreditBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
1498
- # @!attribute commit
1892
+ class Credit < MetronomeSDK::Internal::Type::BaseModel
1893
+ # @!attribute id
1499
1894
  #
1500
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration::Commit]
1501
- required :commit,
1502
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration::Commit }
1895
+ # @return [String]
1896
+ required :id, String
1503
1897
 
1504
- # @!attribute is_enabled
1505
- # When set to false, the contract will not be evaluated against the
1506
- # threshold_amount. Toggling to true will result an immediate evaluation,
1507
- # regardless of prior state.
1508
- #
1509
- # @return [Boolean]
1510
- required :is_enabled, MetronomeSDK::Internal::Type::Boolean
1511
-
1512
- # @!attribute recharge_to_amount
1513
- # Specify the amount the balance should be recharged to.
1514
- #
1515
- # @return [Float]
1516
- required :recharge_to_amount, Float
1517
-
1518
- # @!attribute threshold_amount
1519
- # Specify the threshold amount for the contract. Each time the contract's balance
1520
- # lowers to this amount, a threshold charge will be initiated.
1521
- #
1522
- # @return [Float]
1523
- required :threshold_amount, Float
1524
-
1525
- # @!method initialize(commit:, is_enabled:, recharge_to_amount:, threshold_amount:)
1526
- # Some parameter documentations has been truncated, see
1527
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration}
1528
- # for more details.
1529
- #
1530
- # @param commit [MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration::Commit]
1531
- #
1532
- # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
1533
- # ...
1534
- #
1535
- # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
1536
- #
1537
- # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
1538
- # ...
1539
-
1540
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration#commit
1541
- class Commit < MetronomeSDK::Internal::Type::BaseModel
1542
- # @!attribute product_id
1543
- # The commit product that will be used to generate the line item for commit
1544
- # payment.
1545
- #
1546
- # @return [String]
1547
- required :product_id, String
1548
-
1549
- # @!attribute applicable_product_ids
1550
- # Which products the threshold commit applies to. If both applicable_product_ids
1551
- # and applicable_product_tags are not provided, the commit applies to all
1552
- # products.
1553
- #
1554
- # @return [Array<String>, nil]
1555
- optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1556
-
1557
- # @!attribute applicable_product_tags
1558
- # Which tags the threshold commit applies to. If both applicable_product_ids and
1559
- # applicable_product_tags are not provided, the commit applies to all products.
1560
- #
1561
- # @return [Array<String>, nil]
1562
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1563
-
1564
- # @!attribute description
1565
- #
1566
- # @return [String, nil]
1567
- optional :description, String
1568
-
1569
- # @!attribute name
1570
- # Specify the name of the line item for the threshold charge. If left blank, it
1571
- # will default to the commit product name.
1572
- #
1573
- # @return [String, nil]
1574
- optional :name, String
1575
-
1576
- # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil)
1577
- # Some parameter documentations has been truncated, see
1578
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration::Commit}
1579
- # for more details.
1580
- #
1581
- # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
1582
- # ...
1583
- #
1584
- # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
1585
- # ...
1586
- #
1587
- # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
1588
- # ...
1589
- #
1590
- # @param description [String]
1591
- #
1592
- # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
1593
- # ...
1594
- end
1595
- end
1596
-
1597
- class Credit < MetronomeSDK::Internal::Type::BaseModel
1598
- # @!attribute id
1599
- #
1600
- # @return [String]
1601
- required :id, String
1602
-
1603
- # @!attribute product
1898
+ # @!attribute product
1604
1899
  #
1605
1900
  # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Product]
1606
1901
  required :product, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Product }
@@ -1613,8 +1908,9 @@ module MetronomeSDK
1613
1908
  # @!attribute access_schedule
1614
1909
  # The schedule that the customer will gain access to the credits.
1615
1910
  #
1616
- # @return [MetronomeSDK::Models::ScheduleDuration, nil]
1617
- optional :access_schedule, -> { MetronomeSDK::Models::ScheduleDuration }
1911
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule, nil]
1912
+ optional :access_schedule,
1913
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule }
1618
1914
 
1619
1915
  # @!attribute applicable_contract_ids
1620
1916
  #
@@ -1663,7 +1959,7 @@ module MetronomeSDK
1663
1959
  # A list of ordered events that impact the balance of a credit. For example, an
1664
1960
  # invoice deduction or an expiration.
1665
1961
  #
1666
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry>, nil]
1962
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5>, nil]
1667
1963
  optional :ledger,
1668
1964
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger] }
1669
1965
 
@@ -1691,7 +1987,16 @@ module MetronomeSDK
1691
1987
  # @return [String, nil]
1692
1988
  optional :salesforce_opportunity_id, String
1693
1989
 
1694
- # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, salesforce_opportunity_id: nil)
1990
+ # @!attribute specifiers
1991
+ # List of filters that determine what kind of customer usage draws down a commit
1992
+ # or credit. A customer's usage needs to meet the condition of at least one of the
1993
+ # specifiers to contribute to a commit's or credit's drawdown.
1994
+ #
1995
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Specifier>, nil]
1996
+ optional :specifiers,
1997
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Specifier] }
1998
+
1999
+ # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, salesforce_opportunity_id: nil, specifiers: nil)
1695
2000
  # Some parameter documentations has been truncated, see
1696
2001
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::Credit} for more details.
1697
2002
  #
@@ -1701,7 +2006,7 @@ module MetronomeSDK
1701
2006
  #
1702
2007
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Type]
1703
2008
  #
1704
- # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits.
2009
+ # @param access_schedule [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule] The schedule that the customer will gain access to the credits.
1705
2010
  #
1706
2011
  # @param applicable_contract_ids [Array<String>]
1707
2012
  #
@@ -1710,7 +2015,6 @@ module MetronomeSDK
1710
2015
  # @param applicable_product_tags [Array<String>]
1711
2016
  #
1712
2017
  # @param balance [Float] The current balance of the credit or commit. This balance reflects the amount of
1713
- # ...
1714
2018
  #
1715
2019
  # @param contract [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Contract]
1716
2020
  #
@@ -1718,17 +2022,17 @@ module MetronomeSDK
1718
2022
  #
1719
2023
  # @param description [String]
1720
2024
  #
1721
- # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry>] A list of ordered events that impact the balance of a credit. For example, an in
1722
- # ...
2025
+ # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5>] A list of ordered events that impact the balance of a credit. For example, an in
1723
2026
  #
1724
2027
  # @param name [String]
1725
2028
  #
1726
2029
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
1727
2030
  #
1728
2031
  # @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
1729
- # ...
1730
2032
  #
1731
2033
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
2034
+ #
2035
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
1732
2036
 
1733
2037
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#product
1734
2038
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -1757,6 +2061,72 @@ module MetronomeSDK
1757
2061
  # @return [Array<Symbol>]
1758
2062
  end
1759
2063
 
2064
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#access_schedule
2065
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
2066
+ # @!attribute schedule_items
2067
+ #
2068
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::ScheduleItem>]
2069
+ required :schedule_items,
2070
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::ScheduleItem] }
2071
+
2072
+ # @!attribute credit_type
2073
+ #
2074
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::CreditType, nil]
2075
+ optional :credit_type,
2076
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::CreditType }
2077
+
2078
+ # @!method initialize(schedule_items:, credit_type: nil)
2079
+ # The schedule that the customer will gain access to the credits.
2080
+ #
2081
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::ScheduleItem>]
2082
+ # @param credit_type [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::CreditType]
2083
+
2084
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2085
+ # @!attribute id
2086
+ #
2087
+ # @return [String]
2088
+ required :id, String
2089
+
2090
+ # @!attribute amount
2091
+ #
2092
+ # @return [Float]
2093
+ required :amount, Float
2094
+
2095
+ # @!attribute ending_before
2096
+ #
2097
+ # @return [Time]
2098
+ required :ending_before, Time
2099
+
2100
+ # @!attribute starting_at
2101
+ #
2102
+ # @return [Time]
2103
+ required :starting_at, Time
2104
+
2105
+ # @!method initialize(id:, amount:, ending_before:, starting_at:)
2106
+ # @param id [String]
2107
+ # @param amount [Float]
2108
+ # @param ending_before [Time]
2109
+ # @param starting_at [Time]
2110
+ end
2111
+
2112
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule#credit_type
2113
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
2114
+ # @!attribute id
2115
+ #
2116
+ # @return [String]
2117
+ required :id, String
2118
+
2119
+ # @!attribute name
2120
+ #
2121
+ # @return [String]
2122
+ required :name, String
2123
+
2124
+ # @!method initialize(id:, name:)
2125
+ # @param id [String]
2126
+ # @param name [String]
2127
+ end
2128
+ end
2129
+
1760
2130
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#contract
1761
2131
  class Contract < MetronomeSDK::Internal::Type::BaseModel
1762
2132
  # @!attribute id
@@ -1771,19 +2141,19 @@ module MetronomeSDK
1771
2141
  module Ledger
1772
2142
  extend MetronomeSDK::Internal::Type::Union
1773
2143
 
1774
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry }
2144
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0 }
1775
2145
 
1776
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry }
2146
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1 }
1777
2147
 
1778
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry }
2148
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2 }
1779
2149
 
1780
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry }
2150
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3 }
1781
2151
 
1782
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry }
2152
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4 }
1783
2153
 
1784
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry }
2154
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5 }
1785
2155
 
1786
- class CreditSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2156
+ class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
1787
2157
  # @!attribute amount
1788
2158
  #
1789
2159
  # @return [Float]
@@ -1801,17 +2171,17 @@ module MetronomeSDK
1801
2171
 
1802
2172
  # @!attribute type
1803
2173
  #
1804
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
2174
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::Type]
1805
2175
  required :type,
1806
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type }
2176
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::Type }
1807
2177
 
1808
2178
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
1809
2179
  # @param amount [Float]
1810
2180
  # @param segment_id [String]
1811
2181
  # @param timestamp [Time]
1812
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
2182
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::Type]
1813
2183
 
1814
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry#type
2184
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0#type
1815
2185
  module Type
1816
2186
  extend MetronomeSDK::Internal::Type::Enum
1817
2187
 
@@ -1822,7 +2192,7 @@ module MetronomeSDK
1822
2192
  end
1823
2193
  end
1824
2194
 
1825
- class CreditAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2195
+ class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
1826
2196
  # @!attribute amount
1827
2197
  #
1828
2198
  # @return [Float]
@@ -1845,18 +2215,18 @@ module MetronomeSDK
1845
2215
 
1846
2216
  # @!attribute type
1847
2217
  #
1848
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2218
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::Type]
1849
2219
  required :type,
1850
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type }
2220
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::Type }
1851
2221
 
1852
2222
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1853
2223
  # @param amount [Float]
1854
2224
  # @param invoice_id [String]
1855
2225
  # @param segment_id [String]
1856
2226
  # @param timestamp [Time]
1857
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2227
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::Type]
1858
2228
 
1859
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry#type
2229
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1#type
1860
2230
  module Type
1861
2231
  extend MetronomeSDK::Internal::Type::Enum
1862
2232
 
@@ -1867,7 +2237,7 @@ module MetronomeSDK
1867
2237
  end
1868
2238
  end
1869
2239
 
1870
- class CreditExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2240
+ class UnionMember2 < MetronomeSDK::Internal::Type::BaseModel
1871
2241
  # @!attribute amount
1872
2242
  #
1873
2243
  # @return [Float]
@@ -1885,17 +2255,17 @@ module MetronomeSDK
1885
2255
 
1886
2256
  # @!attribute type
1887
2257
  #
1888
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type]
2258
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::Type]
1889
2259
  required :type,
1890
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type }
2260
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::Type }
1891
2261
 
1892
2262
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
1893
2263
  # @param amount [Float]
1894
2264
  # @param segment_id [String]
1895
2265
  # @param timestamp [Time]
1896
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type]
2266
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::Type]
1897
2267
 
1898
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry#type
2268
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2#type
1899
2269
  module Type
1900
2270
  extend MetronomeSDK::Internal::Type::Enum
1901
2271
 
@@ -1906,7 +2276,7 @@ module MetronomeSDK
1906
2276
  end
1907
2277
  end
1908
2278
 
1909
- class CreditCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2279
+ class UnionMember3 < MetronomeSDK::Internal::Type::BaseModel
1910
2280
  # @!attribute amount
1911
2281
  #
1912
2282
  # @return [Float]
@@ -1929,18 +2299,18 @@ module MetronomeSDK
1929
2299
 
1930
2300
  # @!attribute type
1931
2301
  #
1932
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2302
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::Type]
1933
2303
  required :type,
1934
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type }
2304
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::Type }
1935
2305
 
1936
2306
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1937
2307
  # @param amount [Float]
1938
2308
  # @param invoice_id [String]
1939
2309
  # @param segment_id [String]
1940
2310
  # @param timestamp [Time]
1941
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2311
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::Type]
1942
2312
 
1943
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry#type
2313
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3#type
1944
2314
  module Type
1945
2315
  extend MetronomeSDK::Internal::Type::Enum
1946
2316
 
@@ -1951,7 +2321,7 @@ module MetronomeSDK
1951
2321
  end
1952
2322
  end
1953
2323
 
1954
- class CreditCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2324
+ class UnionMember4 < MetronomeSDK::Internal::Type::BaseModel
1955
2325
  # @!attribute amount
1956
2326
  #
1957
2327
  # @return [Float]
@@ -1974,18 +2344,18 @@ module MetronomeSDK
1974
2344
 
1975
2345
  # @!attribute type
1976
2346
  #
1977
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2347
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::Type]
1978
2348
  required :type,
1979
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type }
2349
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::Type }
1980
2350
 
1981
2351
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1982
2352
  # @param amount [Float]
1983
2353
  # @param invoice_id [String]
1984
2354
  # @param segment_id [String]
1985
2355
  # @param timestamp [Time]
1986
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2356
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::Type]
1987
2357
 
1988
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry#type
2358
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4#type
1989
2359
  module Type
1990
2360
  extend MetronomeSDK::Internal::Type::Enum
1991
2361
 
@@ -1996,7 +2366,7 @@ module MetronomeSDK
1996
2366
  end
1997
2367
  end
1998
2368
 
1999
- class CreditManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2369
+ class UnionMember5 < MetronomeSDK::Internal::Type::BaseModel
2000
2370
  # @!attribute amount
2001
2371
  #
2002
2372
  # @return [Float]
@@ -2014,17 +2384,17 @@ module MetronomeSDK
2014
2384
 
2015
2385
  # @!attribute type
2016
2386
  #
2017
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type]
2387
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::Type]
2018
2388
  required :type,
2019
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type }
2389
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::Type }
2020
2390
 
2021
2391
  # @!method initialize(amount:, reason:, timestamp:, type:)
2022
2392
  # @param amount [Float]
2023
2393
  # @param reason [String]
2024
2394
  # @param timestamp [Time]
2025
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type]
2395
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::Type]
2026
2396
 
2027
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry#type
2397
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5#type
2028
2398
  module Type
2029
2399
  extend MetronomeSDK::Internal::Type::Enum
2030
2400
 
@@ -2036,7 +2406,45 @@ module MetronomeSDK
2036
2406
  end
2037
2407
 
2038
2408
  # @!method self.variants
2039
- # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry)]
2409
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5)]
2410
+ end
2411
+
2412
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2413
+ # @!attribute presentation_group_values
2414
+ #
2415
+ # @return [Hash{Symbol=>String}, nil]
2416
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2417
+
2418
+ # @!attribute pricing_group_values
2419
+ #
2420
+ # @return [Hash{Symbol=>String}, nil]
2421
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2422
+
2423
+ # @!attribute product_id
2424
+ # If provided, the specifier will only apply to the product with the specified ID.
2425
+ #
2426
+ # @return [String, nil]
2427
+ optional :product_id, String
2428
+
2429
+ # @!attribute product_tags
2430
+ # If provided, the specifier will only apply to products with all the specified
2431
+ # tags.
2432
+ #
2433
+ # @return [Array<String>, nil]
2434
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2435
+
2436
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2437
+ # Some parameter documentations has been truncated, see
2438
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Specifier} for
2439
+ # more details.
2440
+ #
2441
+ # @param presentation_group_values [Hash{Symbol=>String}]
2442
+ #
2443
+ # @param pricing_group_values [Hash{Symbol=>String}]
2444
+ #
2445
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2446
+ #
2447
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2040
2448
  end
2041
2449
  end
2042
2450
 
@@ -2048,63 +2456,528 @@ module MetronomeSDK
2048
2456
  required :billing_provider,
2049
2457
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider }
2050
2458
 
2051
- # @!attribute delivery_method
2459
+ # @!attribute delivery_method
2460
+ #
2461
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod]
2462
+ required :delivery_method,
2463
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod }
2464
+
2465
+ # @!method initialize(billing_provider:, delivery_method:)
2466
+ # This field's availability is dependent on your client's configuration.
2467
+ #
2468
+ # @param billing_provider [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider]
2469
+ # @param delivery_method [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod]
2470
+
2471
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration#billing_provider
2472
+ module BillingProvider
2473
+ extend MetronomeSDK::Internal::Type::Enum
2474
+
2475
+ AWS_MARKETPLACE = :aws_marketplace
2476
+ STRIPE = :stripe
2477
+ NETSUITE = :netsuite
2478
+ CUSTOM = :custom
2479
+ AZURE_MARKETPLACE = :azure_marketplace
2480
+ QUICKBOOKS_ONLINE = :quickbooks_online
2481
+ WORKDAY = :workday
2482
+ GCP_MARKETPLACE = :gcp_marketplace
2483
+
2484
+ # @!method self.values
2485
+ # @return [Array<Symbol>]
2486
+ end
2487
+
2488
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration#delivery_method
2489
+ module DeliveryMethod
2490
+ extend MetronomeSDK::Internal::Type::Enum
2491
+
2492
+ DIRECT_TO_BILLING_PROVIDER = :direct_to_billing_provider
2493
+ AWS_SQS = :aws_sqs
2494
+ TACKLE = :tackle
2495
+ AWS_SNS = :aws_sns
2496
+
2497
+ # @!method self.values
2498
+ # @return [Array<Symbol>]
2499
+ end
2500
+ end
2501
+
2502
+ class Discount < MetronomeSDK::Internal::Type::BaseModel
2503
+ # @!attribute id
2504
+ #
2505
+ # @return [String]
2506
+ required :id, String
2507
+
2508
+ # @!attribute product
2509
+ #
2510
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Product]
2511
+ required :product, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Product }
2512
+
2513
+ # @!attribute schedule
2514
+ #
2515
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule]
2516
+ required :schedule, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule }
2517
+
2518
+ # @!attribute custom_fields
2519
+ #
2520
+ # @return [Hash{Symbol=>String}, nil]
2521
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
2522
+
2523
+ # @!attribute name
2524
+ #
2525
+ # @return [String, nil]
2526
+ optional :name, String
2527
+
2528
+ # @!attribute netsuite_sales_order_id
2529
+ # This field's availability is dependent on your client's configuration.
2530
+ #
2531
+ # @return [String, nil]
2532
+ optional :netsuite_sales_order_id, String
2533
+
2534
+ # @!method initialize(id:, product:, schedule:, custom_fields: nil, name: nil, netsuite_sales_order_id: nil)
2535
+ # @param id [String]
2536
+ #
2537
+ # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Product]
2538
+ #
2539
+ # @param schedule [MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule]
2540
+ #
2541
+ # @param custom_fields [Hash{Symbol=>String}]
2542
+ #
2543
+ # @param name [String]
2544
+ #
2545
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
2546
+
2547
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Discount#product
2548
+ class Product < MetronomeSDK::Internal::Type::BaseModel
2549
+ # @!attribute id
2550
+ #
2551
+ # @return [String]
2552
+ required :id, String
2553
+
2554
+ # @!attribute name
2555
+ #
2556
+ # @return [String]
2557
+ required :name, String
2558
+
2559
+ # @!method initialize(id:, name:)
2560
+ # @param id [String]
2561
+ # @param name [String]
2562
+ end
2563
+
2564
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Discount#schedule
2565
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
2566
+ # @!attribute credit_type
2567
+ #
2568
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::CreditType, nil]
2569
+ optional :credit_type,
2570
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::CreditType }
2571
+
2572
+ # @!attribute schedule_items
2573
+ #
2574
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::ScheduleItem>, nil]
2575
+ optional :schedule_items,
2576
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::ScheduleItem] }
2577
+
2578
+ # @!method initialize(credit_type: nil, schedule_items: nil)
2579
+ # @param credit_type [MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::CreditType]
2580
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::ScheduleItem>]
2581
+
2582
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule#credit_type
2583
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
2584
+ # @!attribute id
2585
+ #
2586
+ # @return [String]
2587
+ required :id, String
2588
+
2589
+ # @!attribute name
2590
+ #
2591
+ # @return [String]
2592
+ required :name, String
2593
+
2594
+ # @!method initialize(id:, name:)
2595
+ # @param id [String]
2596
+ # @param name [String]
2597
+ end
2598
+
2599
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2600
+ # @!attribute id
2601
+ #
2602
+ # @return [String]
2603
+ required :id, String
2604
+
2605
+ # @!attribute amount
2606
+ #
2607
+ # @return [Float]
2608
+ required :amount, Float
2609
+
2610
+ # @!attribute invoice_id
2611
+ #
2612
+ # @return [String]
2613
+ required :invoice_id, String
2614
+
2615
+ # @!attribute quantity
2616
+ #
2617
+ # @return [Float]
2618
+ required :quantity, Float
2619
+
2620
+ # @!attribute timestamp
2621
+ #
2622
+ # @return [Time]
2623
+ required :timestamp, Time
2624
+
2625
+ # @!attribute unit_price
2626
+ #
2627
+ # @return [Float]
2628
+ required :unit_price, Float
2629
+
2630
+ # @!method initialize(id:, amount:, invoice_id:, quantity:, timestamp:, unit_price:)
2631
+ # @param id [String]
2632
+ # @param amount [Float]
2633
+ # @param invoice_id [String]
2634
+ # @param quantity [Float]
2635
+ # @param timestamp [Time]
2636
+ # @param unit_price [Float]
2637
+ end
2638
+ end
2639
+ end
2640
+
2641
+ # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
2642
+ # prices automatically. EXPLICIT prioritization requires specifying priorities for
2643
+ # each multiplier; the one with the lowest priority value will be prioritized
2644
+ # first.
2645
+ #
2646
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data#multiplier_override_prioritization
2647
+ module MultiplierOverridePrioritization
2648
+ extend MetronomeSDK::Internal::Type::Enum
2649
+
2650
+ LOWEST_MULTIPLIER = :LOWEST_MULTIPLIER
2651
+ EXPLICIT = :EXPLICIT
2652
+
2653
+ # @!method self.values
2654
+ # @return [Array<Symbol>]
2655
+ end
2656
+
2657
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data#prepaid_balance_threshold_configuration
2658
+ class PrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
2659
+ # @!attribute commit
2660
+ #
2661
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit]
2662
+ required :commit,
2663
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit }
2664
+
2665
+ # @!attribute is_enabled
2666
+ # When set to false, the contract will not be evaluated against the
2667
+ # threshold_amount. Toggling to true will result an immediate evaluation,
2668
+ # regardless of prior state.
2669
+ #
2670
+ # @return [Boolean]
2671
+ required :is_enabled, MetronomeSDK::Internal::Type::Boolean
2672
+
2673
+ # @!attribute payment_gate_config
2674
+ #
2675
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
2676
+ required :payment_gate_config,
2677
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig }
2678
+
2679
+ # @!attribute recharge_to_amount
2680
+ # Specify the amount the balance should be recharged to.
2681
+ #
2682
+ # @return [Float]
2683
+ required :recharge_to_amount, Float
2684
+
2685
+ # @!attribute threshold_amount
2686
+ # Specify the threshold amount for the contract. Each time the contract's balance
2687
+ # lowers to this amount, a threshold charge will be initiated.
2688
+ #
2689
+ # @return [Float]
2690
+ required :threshold_amount, Float
2691
+
2692
+ # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:)
2693
+ # Some parameter documentations has been truncated, see
2694
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration}
2695
+ # for more details.
2696
+ #
2697
+ # @param commit [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit]
2698
+ #
2699
+ # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
2700
+ #
2701
+ # @param payment_gate_config [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
2702
+ #
2703
+ # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
2704
+ #
2705
+ # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
2706
+
2707
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration#commit
2708
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
2709
+ # @!attribute product_id
2710
+ # The commit product that will be used to generate the line item for commit
2711
+ # payment.
2712
+ #
2713
+ # @return [String]
2714
+ required :product_id, String
2715
+
2716
+ # @!attribute applicable_product_ids
2717
+ # Which products the threshold commit applies to. If both applicable_product_ids
2718
+ # and applicable_product_tags are not provided, the commit applies to all
2719
+ # products.
2720
+ #
2721
+ # @return [Array<String>, nil]
2722
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2723
+
2724
+ # @!attribute applicable_product_tags
2725
+ # Which tags the threshold commit applies to. If both applicable_product_ids and
2726
+ # applicable_product_tags are not provided, the commit applies to all products.
2727
+ #
2728
+ # @return [Array<String>, nil]
2729
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2730
+
2731
+ # @!attribute description
2732
+ #
2733
+ # @return [String, nil]
2734
+ optional :description, String
2735
+
2736
+ # @!attribute name
2737
+ # Specify the name of the line item for the threshold charge. If left blank, it
2738
+ # will default to the commit product name.
2739
+ #
2740
+ # @return [String, nil]
2741
+ optional :name, String
2742
+
2743
+ # @!attribute specifiers
2744
+ # List of filters that determine what kind of customer usage draws down a commit
2745
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2746
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2747
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
2748
+ #
2749
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
2750
+ optional :specifiers,
2751
+ -> do
2752
+ MetronomeSDK::Internal::Type::ArrayOf[
2753
+ MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier
2754
+ ]
2755
+ end
2756
+
2757
+ # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, specifiers: nil)
2758
+ # Some parameter documentations has been truncated, see
2759
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit}
2760
+ # for more details.
2761
+ #
2762
+ # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
2763
+ #
2764
+ # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
2765
+ #
2766
+ # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
2767
+ #
2768
+ # @param description [String]
2769
+ #
2770
+ # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
2771
+ #
2772
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2773
+
2774
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2775
+ # @!attribute presentation_group_values
2776
+ #
2777
+ # @return [Hash{Symbol=>String}, nil]
2778
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2779
+
2780
+ # @!attribute pricing_group_values
2781
+ #
2782
+ # @return [Hash{Symbol=>String}, nil]
2783
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2784
+
2785
+ # @!attribute product_id
2786
+ # If provided, the specifier will only apply to the product with the specified ID.
2787
+ #
2788
+ # @return [String, nil]
2789
+ optional :product_id, String
2790
+
2791
+ # @!attribute product_tags
2792
+ # If provided, the specifier will only apply to products with all the specified
2793
+ # tags.
2794
+ #
2795
+ # @return [Array<String>, nil]
2796
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2797
+
2798
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2799
+ # Some parameter documentations has been truncated, see
2800
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier}
2801
+ # for more details.
2802
+ #
2803
+ # @param presentation_group_values [Hash{Symbol=>String}]
2804
+ #
2805
+ # @param pricing_group_values [Hash{Symbol=>String}]
2806
+ #
2807
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2808
+ #
2809
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2810
+ end
2811
+ end
2812
+
2813
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration#payment_gate_config
2814
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
2815
+ # @!attribute payment_gate_type
2816
+ # Gate access to the commit balance based on successful collection of payment.
2817
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
2818
+ # facilitate payment using your own payment integration. Select NONE if you do not
2819
+ # wish to payment gate the commit balance.
2820
+ #
2821
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
2822
+ required :payment_gate_type,
2823
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType }
2824
+
2825
+ # @!attribute stripe_config
2826
+ # Only applicable if using Stripe as your payment gateway through Metronome.
2827
+ #
2828
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
2829
+ optional :stripe_config,
2830
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig }
2831
+
2832
+ # @!attribute tax_type
2833
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
2834
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
2835
+ # will default to NONE.
2836
+ #
2837
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
2838
+ optional :tax_type,
2839
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType }
2840
+
2841
+ # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
2842
+ # Some parameter documentations has been truncated, see
2843
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig}
2844
+ # for more details.
2845
+ #
2846
+ # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
2847
+ #
2848
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
2849
+ #
2850
+ # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
2851
+
2852
+ # Gate access to the commit balance based on successful collection of payment.
2853
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
2854
+ # facilitate payment using your own payment integration. Select NONE if you do not
2855
+ # wish to payment gate the commit balance.
2856
+ #
2857
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
2858
+ module PaymentGateType
2859
+ extend MetronomeSDK::Internal::Type::Enum
2860
+
2861
+ NONE = :NONE
2862
+ STRIPE = :STRIPE
2863
+ EXTERNAL = :EXTERNAL
2864
+
2865
+ # @!method self.values
2866
+ # @return [Array<Symbol>]
2867
+ end
2868
+
2869
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
2870
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2871
+ # @!attribute payment_type
2872
+ # If left blank, will default to INVOICE
2873
+ #
2874
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
2875
+ required :payment_type,
2876
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
2877
+
2878
+ # @!method initialize(payment_type:)
2879
+ # Only applicable if using Stripe as your payment gateway through Metronome.
2880
+ #
2881
+ # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
2882
+
2883
+ # If left blank, will default to INVOICE
2884
+ #
2885
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
2886
+ module PaymentType
2887
+ extend MetronomeSDK::Internal::Type::Enum
2888
+
2889
+ INVOICE = :INVOICE
2890
+ PAYMENT_INTENT = :PAYMENT_INTENT
2891
+
2892
+ # @!method self.values
2893
+ # @return [Array<Symbol>]
2894
+ end
2895
+ end
2896
+
2897
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
2898
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
2899
+ # will default to NONE.
2900
+ #
2901
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
2902
+ module TaxType
2903
+ extend MetronomeSDK::Internal::Type::Enum
2904
+
2905
+ NONE = :NONE
2906
+ STRIPE = :STRIPE
2907
+
2908
+ # @!method self.values
2909
+ # @return [Array<Symbol>]
2910
+ end
2911
+ end
2912
+ end
2913
+
2914
+ class ProfessionalService < MetronomeSDK::Internal::Type::BaseModel
2915
+ # @!attribute id
2052
2916
  #
2053
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod]
2054
- required :delivery_method,
2055
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod }
2917
+ # @return [String]
2918
+ required :id, String
2056
2919
 
2057
- # @!method initialize(billing_provider:, delivery_method:)
2058
- # This field's availability is dependent on your client's configuration.
2920
+ # @!attribute max_amount
2921
+ # Maximum amount for the term.
2059
2922
  #
2060
- # @param billing_provider [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider]
2061
- # @param delivery_method [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod]
2062
-
2063
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration#billing_provider
2064
- module BillingProvider
2065
- extend MetronomeSDK::Internal::Type::Enum
2066
-
2067
- AWS_MARKETPLACE = :aws_marketplace
2068
- STRIPE = :stripe
2069
- NETSUITE = :netsuite
2070
- CUSTOM = :custom
2071
- AZURE_MARKETPLACE = :azure_marketplace
2072
- QUICKBOOKS_ONLINE = :quickbooks_online
2073
- WORKDAY = :workday
2074
- GCP_MARKETPLACE = :gcp_marketplace
2923
+ # @return [Float]
2924
+ required :max_amount, Float
2075
2925
 
2076
- # @!method self.values
2077
- # @return [Array<Symbol>]
2078
- end
2926
+ # @!attribute product_id
2927
+ #
2928
+ # @return [String]
2929
+ required :product_id, String
2079
2930
 
2080
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration#delivery_method
2081
- module DeliveryMethod
2082
- extend MetronomeSDK::Internal::Type::Enum
2931
+ # @!attribute quantity
2932
+ # Quantity for the charge. Will be multiplied by unit_price to determine the
2933
+ # amount.
2934
+ #
2935
+ # @return [Float]
2936
+ required :quantity, Float
2083
2937
 
2084
- DIRECT_TO_BILLING_PROVIDER = :direct_to_billing_provider
2085
- AWS_SQS = :aws_sqs
2086
- TACKLE = :tackle
2087
- AWS_SNS = :aws_sns
2938
+ # @!attribute unit_price
2939
+ # Unit price for the charge. Will be multiplied by quantity to determine the
2940
+ # amount and must be specified.
2941
+ #
2942
+ # @return [Float]
2943
+ required :unit_price, Float
2088
2944
 
2089
- # @!method self.values
2090
- # @return [Array<Symbol>]
2091
- end
2092
- end
2945
+ # @!attribute custom_fields
2946
+ #
2947
+ # @return [Hash{Symbol=>String}, nil]
2948
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
2093
2949
 
2094
- # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
2095
- # prices automatically. EXPLICIT prioritization requires specifying priorities for
2096
- # each multiplier; the one with the lowest priority value will be prioritized
2097
- # first.
2098
- #
2099
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data#multiplier_override_prioritization
2100
- module MultiplierOverridePrioritization
2101
- extend MetronomeSDK::Internal::Type::Enum
2950
+ # @!attribute description
2951
+ #
2952
+ # @return [String, nil]
2953
+ optional :description, String
2102
2954
 
2103
- LOWEST_MULTIPLIER = :LOWEST_MULTIPLIER
2104
- EXPLICIT = :EXPLICIT
2955
+ # @!attribute netsuite_sales_order_id
2956
+ # This field's availability is dependent on your client's configuration.
2957
+ #
2958
+ # @return [String, nil]
2959
+ optional :netsuite_sales_order_id, String
2105
2960
 
2106
- # @!method self.values
2107
- # @return [Array<Symbol>]
2961
+ # @!method initialize(id:, max_amount:, product_id:, quantity:, unit_price:, custom_fields: nil, description: nil, netsuite_sales_order_id: nil)
2962
+ # Some parameter documentations has been truncated, see
2963
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::ProfessionalService} for
2964
+ # more details.
2965
+ #
2966
+ # @param id [String]
2967
+ #
2968
+ # @param max_amount [Float] Maximum amount for the term.
2969
+ #
2970
+ # @param product_id [String]
2971
+ #
2972
+ # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
2973
+ #
2974
+ # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
2975
+ #
2976
+ # @param custom_fields [Hash{Symbol=>String}]
2977
+ #
2978
+ # @param description [String]
2979
+ #
2980
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
2108
2981
  end
2109
2982
 
2110
2983
  class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
@@ -2211,7 +3084,7 @@ module MetronomeSDK
2211
3084
  # The frequency at which the recurring commits will be created. If not provided: -
2212
3085
  # The commits will be created on the usage invoice frequency. If provided: - The
2213
3086
  # period defined in the duration will correspond to this frequency. - Commits will
2214
- # be created aligned with the recurring commit's start_date rather than the usage
3087
+ # be created aligned with the recurring commit's starting_at rather than the usage
2215
3088
  # invoice dates.
2216
3089
  #
2217
3090
  # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::RecurrenceFrequency, nil]
@@ -2226,7 +3099,16 @@ module MetronomeSDK
2226
3099
  # @return [Float, nil]
2227
3100
  optional :rollover_fraction, Float
2228
3101
 
2229
- # @!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)
3102
+ # @!attribute specifiers
3103
+ # List of filters that determine what kind of customer usage draws down a commit
3104
+ # or credit. A customer's usage needs to meet the condition of at least one of the
3105
+ # specifiers to contribute to a commit's or credit's drawdown.
3106
+ #
3107
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier>, nil]
3108
+ optional :specifiers,
3109
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier] }
3110
+
3111
+ # @!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)
2230
3112
  # Some parameter documentations has been truncated, see
2231
3113
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit} for more
2232
3114
  # details.
@@ -2262,13 +3144,12 @@ module MetronomeSDK
2262
3144
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
2263
3145
  #
2264
3146
  # @param proration [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
2265
- # ...
2266
3147
  #
2267
3148
  # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
2268
- # ...
2269
3149
  #
2270
3150
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
2271
- # ...
3151
+ #
3152
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2272
3153
 
2273
3154
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#access_amount
2274
3155
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -2410,7 +3291,7 @@ module MetronomeSDK
2410
3291
  # The frequency at which the recurring commits will be created. If not provided: -
2411
3292
  # The commits will be created on the usage invoice frequency. If provided: - The
2412
3293
  # period defined in the duration will correspond to this frequency. - Commits will
2413
- # be created aligned with the recurring commit's start_date rather than the usage
3294
+ # be created aligned with the recurring commit's starting_at rather than the usage
2414
3295
  # invoice dates.
2415
3296
  #
2416
3297
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#recurrence_frequency
@@ -2425,6 +3306,44 @@ module MetronomeSDK
2425
3306
  # @!method self.values
2426
3307
  # @return [Array<Symbol>]
2427
3308
  end
3309
+
3310
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
3311
+ # @!attribute presentation_group_values
3312
+ #
3313
+ # @return [Hash{Symbol=>String}, nil]
3314
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3315
+
3316
+ # @!attribute pricing_group_values
3317
+ #
3318
+ # @return [Hash{Symbol=>String}, nil]
3319
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3320
+
3321
+ # @!attribute product_id
3322
+ # If provided, the specifier will only apply to the product with the specified ID.
3323
+ #
3324
+ # @return [String, nil]
3325
+ optional :product_id, String
3326
+
3327
+ # @!attribute product_tags
3328
+ # If provided, the specifier will only apply to products with all the specified
3329
+ # tags.
3330
+ #
3331
+ # @return [Array<String>, nil]
3332
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
3333
+
3334
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
3335
+ # Some parameter documentations has been truncated, see
3336
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier}
3337
+ # for more details.
3338
+ #
3339
+ # @param presentation_group_values [Hash{Symbol=>String}]
3340
+ #
3341
+ # @param pricing_group_values [Hash{Symbol=>String}]
3342
+ #
3343
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
3344
+ #
3345
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3346
+ end
2428
3347
  end
2429
3348
 
2430
3349
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -2524,7 +3443,7 @@ module MetronomeSDK
2524
3443
  # The frequency at which the recurring commits will be created. If not provided: -
2525
3444
  # The commits will be created on the usage invoice frequency. If provided: - The
2526
3445
  # period defined in the duration will correspond to this frequency. - Commits will
2527
- # be created aligned with the recurring commit's start_date rather than the usage
3446
+ # be created aligned with the recurring commit's starting_at rather than the usage
2528
3447
  # invoice dates.
2529
3448
  #
2530
3449
  # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::RecurrenceFrequency, nil]
@@ -2539,7 +3458,16 @@ module MetronomeSDK
2539
3458
  # @return [Float, nil]
2540
3459
  optional :rollover_fraction, Float
2541
3460
 
2542
- # @!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)
3461
+ # @!attribute specifiers
3462
+ # List of filters that determine what kind of customer usage draws down a commit
3463
+ # or credit. A customer's usage needs to meet the condition of at least one of the
3464
+ # specifiers to contribute to a commit's or credit's drawdown.
3465
+ #
3466
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier>, nil]
3467
+ optional :specifiers,
3468
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier] }
3469
+
3470
+ # @!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)
2543
3471
  # Some parameter documentations has been truncated, see
2544
3472
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit} for more
2545
3473
  # details.
@@ -2573,13 +3501,12 @@ module MetronomeSDK
2573
3501
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
2574
3502
  #
2575
3503
  # @param proration [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
2576
- # ...
2577
3504
  #
2578
3505
  # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
2579
- # ...
2580
3506
  #
2581
3507
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
2582
- # ...
3508
+ #
3509
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2583
3510
 
2584
3511
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#access_amount
2585
3512
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -2696,7 +3623,7 @@ module MetronomeSDK
2696
3623
  # The frequency at which the recurring commits will be created. If not provided: -
2697
3624
  # The commits will be created on the usage invoice frequency. If provided: - The
2698
3625
  # period defined in the duration will correspond to this frequency. - Commits will
2699
- # be created aligned with the recurring commit's start_date rather than the usage
3626
+ # be created aligned with the recurring commit's starting_at rather than the usage
2700
3627
  # invoice dates.
2701
3628
  #
2702
3629
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#recurrence_frequency
@@ -2711,6 +3638,44 @@ module MetronomeSDK
2711
3638
  # @!method self.values
2712
3639
  # @return [Array<Symbol>]
2713
3640
  end
3641
+
3642
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
3643
+ # @!attribute presentation_group_values
3644
+ #
3645
+ # @return [Hash{Symbol=>String}, nil]
3646
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3647
+
3648
+ # @!attribute pricing_group_values
3649
+ #
3650
+ # @return [Hash{Symbol=>String}, nil]
3651
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3652
+
3653
+ # @!attribute product_id
3654
+ # If provided, the specifier will only apply to the product with the specified ID.
3655
+ #
3656
+ # @return [String, nil]
3657
+ optional :product_id, String
3658
+
3659
+ # @!attribute product_tags
3660
+ # If provided, the specifier will only apply to products with all the specified
3661
+ # tags.
3662
+ #
3663
+ # @return [Array<String>, nil]
3664
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
3665
+
3666
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
3667
+ # Some parameter documentations has been truncated, see
3668
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier}
3669
+ # for more details.
3670
+ #
3671
+ # @param presentation_group_values [Hash{Symbol=>String}]
3672
+ #
3673
+ # @param pricing_group_values [Hash{Symbol=>String}]
3674
+ #
3675
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
3676
+ #
3677
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3678
+ end
2714
3679
  end
2715
3680
 
2716
3681
  class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
@@ -2893,12 +3858,10 @@ module MetronomeSDK
2893
3858
  # @param commit [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::Commit]
2894
3859
  #
2895
3860
  # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
2896
- # ...
2897
3861
  #
2898
3862
  # @param payment_gate_config [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig]
2899
3863
  #
2900
3864
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
2901
- # ...
2902
3865
 
2903
3866
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration#commit
2904
3867
  class Commit < MetronomeSDK::Internal::Type::BaseModel
@@ -2927,12 +3890,10 @@ module MetronomeSDK
2927
3890
  # for more details.
2928
3891
  #
2929
3892
  # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
2930
- # ...
2931
3893
  #
2932
3894
  # @param description [String]
2933
3895
  #
2934
3896
  # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
2935
- # ...
2936
3897
  end
2937
3898
 
2938
3899
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration#payment_gate_config
@@ -2969,12 +3930,10 @@ module MetronomeSDK
2969
3930
  # for more details.
2970
3931
  #
2971
3932
  # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
2972
- # ...
2973
3933
  #
2974
3934
  # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
2975
3935
  #
2976
3936
  # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
2977
- # ...
2978
3937
 
2979
3938
  # Gate access to the commit balance based on successful collection of payment.
2980
3939
  # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
@@ -3037,6 +3996,190 @@ module MetronomeSDK
3037
3996
  end
3038
3997
  end
3039
3998
  end
3999
+
4000
+ class Subscription < MetronomeSDK::Internal::Type::BaseModel
4001
+ # @!attribute collection_schedule
4002
+ #
4003
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::CollectionSchedule]
4004
+ required :collection_schedule,
4005
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::CollectionSchedule }
4006
+
4007
+ # @!attribute proration
4008
+ #
4009
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration]
4010
+ required :proration, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration }
4011
+
4012
+ # @!attribute quantity_schedule
4013
+ #
4014
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::QuantitySchedule>]
4015
+ required :quantity_schedule,
4016
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::QuantitySchedule] }
4017
+
4018
+ # @!attribute starting_at
4019
+ #
4020
+ # @return [Time]
4021
+ required :starting_at, Time
4022
+
4023
+ # @!attribute subscription_rate
4024
+ #
4025
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate]
4026
+ required :subscription_rate,
4027
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate }
4028
+
4029
+ # @!attribute id
4030
+ #
4031
+ # @return [String, nil]
4032
+ optional :id, String
4033
+
4034
+ # @!attribute custom_fields
4035
+ #
4036
+ # @return [Hash{Symbol=>String}, nil]
4037
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
4038
+
4039
+ # @!attribute description
4040
+ #
4041
+ # @return [String, nil]
4042
+ optional :description, String
4043
+
4044
+ # @!attribute ending_before
4045
+ #
4046
+ # @return [Time, nil]
4047
+ optional :ending_before, Time
4048
+
4049
+ # @!attribute fiat_credit_type_id
4050
+ #
4051
+ # @return [String, nil]
4052
+ optional :fiat_credit_type_id, String
4053
+
4054
+ # @!attribute name
4055
+ #
4056
+ # @return [String, nil]
4057
+ optional :name, String
4058
+
4059
+ # @!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)
4060
+ # @param collection_schedule [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::CollectionSchedule]
4061
+ # @param proration [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration]
4062
+ # @param quantity_schedule [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::QuantitySchedule>]
4063
+ # @param starting_at [Time]
4064
+ # @param subscription_rate [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate]
4065
+ # @param id [String]
4066
+ # @param custom_fields [Hash{Symbol=>String}]
4067
+ # @param description [String]
4068
+ # @param ending_before [Time]
4069
+ # @param fiat_credit_type_id [String]
4070
+ # @param name [String]
4071
+
4072
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription#collection_schedule
4073
+ module CollectionSchedule
4074
+ extend MetronomeSDK::Internal::Type::Enum
4075
+
4076
+ ADVANCE = :ADVANCE
4077
+ ARREARS = :ARREARS
4078
+
4079
+ # @!method self.values
4080
+ # @return [Array<Symbol>]
4081
+ end
4082
+
4083
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription#proration
4084
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
4085
+ # @!attribute invoice_behavior
4086
+ #
4087
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior]
4088
+ required :invoice_behavior,
4089
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior }
4090
+
4091
+ # @!attribute is_prorated
4092
+ #
4093
+ # @return [Boolean]
4094
+ required :is_prorated, MetronomeSDK::Internal::Type::Boolean
4095
+
4096
+ # @!method initialize(invoice_behavior:, is_prorated:)
4097
+ # @param invoice_behavior [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior]
4098
+ # @param is_prorated [Boolean]
4099
+
4100
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration#invoice_behavior
4101
+ module InvoiceBehavior
4102
+ extend MetronomeSDK::Internal::Type::Enum
4103
+
4104
+ BILL_IMMEDIATELY = :BILL_IMMEDIATELY
4105
+ BILL_ON_NEXT_COLLECTION_DATE = :BILL_ON_NEXT_COLLECTION_DATE
4106
+
4107
+ # @!method self.values
4108
+ # @return [Array<Symbol>]
4109
+ end
4110
+ end
4111
+
4112
+ class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
4113
+ # @!attribute quantity
4114
+ #
4115
+ # @return [Float]
4116
+ required :quantity, Float
4117
+
4118
+ # @!attribute starting_at
4119
+ #
4120
+ # @return [Time]
4121
+ required :starting_at, Time
4122
+
4123
+ # @!attribute ending_before
4124
+ #
4125
+ # @return [Time, nil]
4126
+ optional :ending_before, Time
4127
+
4128
+ # @!method initialize(quantity:, starting_at:, ending_before: nil)
4129
+ # @param quantity [Float]
4130
+ # @param starting_at [Time]
4131
+ # @param ending_before [Time]
4132
+ end
4133
+
4134
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription#subscription_rate
4135
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
4136
+ # @!attribute billing_frequency
4137
+ #
4138
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency]
4139
+ required :billing_frequency,
4140
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency }
4141
+
4142
+ # @!attribute product
4143
+ #
4144
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::Product]
4145
+ required :product,
4146
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::Product }
4147
+
4148
+ # @!method initialize(billing_frequency:, product:)
4149
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency]
4150
+ # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::Product]
4151
+
4152
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate#billing_frequency
4153
+ module BillingFrequency
4154
+ extend MetronomeSDK::Internal::Type::Enum
4155
+
4156
+ MONTHLY = :MONTHLY
4157
+ QUARTERLY = :QUARTERLY
4158
+ ANNUAL = :ANNUAL
4159
+ WEEKLY = :WEEKLY
4160
+
4161
+ # @!method self.values
4162
+ # @return [Array<Symbol>]
4163
+ end
4164
+
4165
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate#product
4166
+ class Product < MetronomeSDK::Internal::Type::BaseModel
4167
+ # @!attribute id
4168
+ #
4169
+ # @return [String]
4170
+ required :id, String
4171
+
4172
+ # @!attribute name
4173
+ #
4174
+ # @return [String]
4175
+ required :name, String
4176
+
4177
+ # @!method initialize(id:, name:)
4178
+ # @param id [String]
4179
+ # @param name [String]
4180
+ end
4181
+ end
4182
+ end
3040
4183
  end
3041
4184
  end
3042
4185
  end