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::ContractRetrieveResponse::Data::ScheduledCharge>]
53
53
  required :scheduled_charges,
54
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::ScheduledCharge] }
54
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::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::ContractRetrieveResponse::Data::CreditBalanceThresholdConfiguration, nil]
87
- optional :credit_balance_threshold_configuration,
88
- -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CreditBalanceThresholdConfiguration }
89
-
90
84
  # @!attribute credits
91
85
  #
92
86
  # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::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::ContractRetrieveResponse::Data::Discount>, nil]
106
+ optional :discounts,
107
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::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::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration, nil]
143
+ optional :prepaid_balance_threshold_configuration,
144
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::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::ContractRetrieveResponse::Data::ProfessionalService>, nil]
149
150
  optional :professional_services,
150
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::ProService] }
151
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::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::ContractRetrieveResponse::Data::SpendThresholdConfiguration }
198
199
 
200
+ # @!attribute subscriptions
201
+ # (beta) List of subscriptions on the contract.
202
+ #
203
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription>, nil]
204
+ optional :subscriptions,
205
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::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::ContractRetrieveResponse::Data} for more details.
215
223
  #
@@ -225,7 +233,7 @@ module MetronomeSDK
225
233
  #
226
234
  # @param overrides [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override>]
227
235
  #
228
- # @param scheduled_charges [Array<MetronomeSDK::Models::ScheduledCharge>]
236
+ # @param scheduled_charges [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::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::ContractRetrieveResponse::Data::CreditBalanceThresholdConfiguration]
241
- #
242
248
  # @param credits [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit>]
243
249
  #
244
250
  # @param custom_fields [Hash{Symbol=>String}]
245
251
  #
246
252
  # @param customer_billing_provider_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::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::ContractRetrieveResponse::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::ContractRetrieveResponse::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::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration]
267
+ #
268
+ # @param professional_services [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::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::ContractRetrieveResponse::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::ContractRetrieveResponse::Data::SpendThresholdConfiguration]
277
283
  #
284
+ # @param subscriptions [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::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::ContractRetrieveResponse::Data::Commit::AccessSchedule, nil]
311
+ optional :access_schedule,
312
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::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::ContractRetrieveResponse::Data::Commit::InvoiceSchedule, nil]
373
+ optional :invoice_schedule,
374
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::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::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>, nil]
380
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12>, nil]
372
381
  optional :ledger,
373
382
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger] }
374
383
 
@@ -413,7 +422,16 @@ module MetronomeSDK
413
422
  # @return [String, nil]
414
423
  optional :salesforce_opportunity_id, String
415
424
 
416
- # @!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)
425
+ # @!attribute specifiers
426
+ # List of filters that determine what kind of customer usage draws down a commit
427
+ # or credit. A customer's usage needs to meet the condition of at least one of the
428
+ # specifiers to contribute to a commit's or credit's drawdown.
429
+ #
430
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Specifier>, nil]
431
+ optional :specifiers,
432
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Specifier] }
433
+
434
+ # @!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)
417
435
  # Some parameter documentations has been truncated, see
418
436
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit} for more
419
437
  # details.
@@ -424,8 +442,7 @@ module MetronomeSDK
424
442
  #
425
443
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Type]
426
444
  #
427
- # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits purposed with thi
428
- # ...
445
+ # @param access_schedule [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule] The schedule that the customer will gain access to the credits purposed with thi
429
446
  #
430
447
  # @param applicable_contract_ids [Array<String>]
431
448
  #
@@ -436,7 +453,6 @@ module MetronomeSDK
436
453
  # @param archived_at [Time]
437
454
  #
438
455
  # @param balance [Float] The current balance of the credit or commit. This balance reflects the amount of
439
- # ...
440
456
  #
441
457
  # @param contract [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Contract]
442
458
  #
@@ -446,17 +462,15 @@ module MetronomeSDK
446
462
  #
447
463
  # @param invoice_contract [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceContract] The contract that this commit will be billed on.
448
464
  #
449
- # @param invoice_schedule [MetronomeSDK::Models::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
465
+ # @param invoice_schedule [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule] The schedule that the customer will be invoiced for this commit.
450
466
  #
451
- # @param ledger [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>] A list of ordered events that impact the balance of a commit. For example, an in
452
- # ...
467
+ # @param ledger [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12>] A list of ordered events that impact the balance of a commit. For example, an in
453
468
  #
454
469
  # @param name [String]
455
470
  #
456
471
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
457
472
  #
458
473
  # @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
459
- # ...
460
474
  #
461
475
  # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::RateType]
462
476
  #
@@ -465,6 +479,8 @@ module MetronomeSDK
465
479
  # @param rollover_fraction [Float]
466
480
  #
467
481
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
482
+ #
483
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
468
484
 
469
485
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit#product
470
486
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -494,6 +510,73 @@ module MetronomeSDK
494
510
  # @return [Array<Symbol>]
495
511
  end
496
512
 
513
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit#access_schedule
514
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
515
+ # @!attribute schedule_items
516
+ #
517
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule::ScheduleItem>]
518
+ required :schedule_items,
519
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule::ScheduleItem] }
520
+
521
+ # @!attribute credit_type
522
+ #
523
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule::CreditType, nil]
524
+ optional :credit_type,
525
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule::CreditType }
526
+
527
+ # @!method initialize(schedule_items:, credit_type: nil)
528
+ # The schedule that the customer will gain access to the credits purposed with
529
+ # this commit.
530
+ #
531
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule::ScheduleItem>]
532
+ # @param credit_type [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule::CreditType]
533
+
534
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
535
+ # @!attribute id
536
+ #
537
+ # @return [String]
538
+ required :id, String
539
+
540
+ # @!attribute amount
541
+ #
542
+ # @return [Float]
543
+ required :amount, Float
544
+
545
+ # @!attribute ending_before
546
+ #
547
+ # @return [Time]
548
+ required :ending_before, Time
549
+
550
+ # @!attribute starting_at
551
+ #
552
+ # @return [Time]
553
+ required :starting_at, Time
554
+
555
+ # @!method initialize(id:, amount:, ending_before:, starting_at:)
556
+ # @param id [String]
557
+ # @param amount [Float]
558
+ # @param ending_before [Time]
559
+ # @param starting_at [Time]
560
+ end
561
+
562
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule#credit_type
563
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
564
+ # @!attribute id
565
+ #
566
+ # @return [String]
567
+ required :id, String
568
+
569
+ # @!attribute name
570
+ #
571
+ # @return [String]
572
+ required :name, String
573
+
574
+ # @!method initialize(id:, name:)
575
+ # @param id [String]
576
+ # @param name [String]
577
+ end
578
+ end
579
+
497
580
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit#contract
498
581
  class Contract < MetronomeSDK::Internal::Type::BaseModel
499
582
  # @!attribute id
@@ -518,36 +601,114 @@ module MetronomeSDK
518
601
  # @param id [String]
519
602
  end
520
603
 
604
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit#invoice_schedule
605
+ class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
606
+ # @!attribute credit_type
607
+ #
608
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule::CreditType, nil]
609
+ optional :credit_type,
610
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule::CreditType }
611
+
612
+ # @!attribute schedule_items
613
+ #
614
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule::ScheduleItem>, nil]
615
+ optional :schedule_items,
616
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule::ScheduleItem] }
617
+
618
+ # @!method initialize(credit_type: nil, schedule_items: nil)
619
+ # The schedule that the customer will be invoiced for this commit.
620
+ #
621
+ # @param credit_type [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule::CreditType]
622
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule::ScheduleItem>]
623
+
624
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule#credit_type
625
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
626
+ # @!attribute id
627
+ #
628
+ # @return [String]
629
+ required :id, String
630
+
631
+ # @!attribute name
632
+ #
633
+ # @return [String]
634
+ required :name, String
635
+
636
+ # @!method initialize(id:, name:)
637
+ # @param id [String]
638
+ # @param name [String]
639
+ end
640
+
641
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
642
+ # @!attribute id
643
+ #
644
+ # @return [String]
645
+ required :id, String
646
+
647
+ # @!attribute amount
648
+ #
649
+ # @return [Float]
650
+ required :amount, Float
651
+
652
+ # @!attribute invoice_id
653
+ #
654
+ # @return [String]
655
+ required :invoice_id, String
656
+
657
+ # @!attribute quantity
658
+ #
659
+ # @return [Float]
660
+ required :quantity, Float
661
+
662
+ # @!attribute timestamp
663
+ #
664
+ # @return [Time]
665
+ required :timestamp, Time
666
+
667
+ # @!attribute unit_price
668
+ #
669
+ # @return [Float]
670
+ required :unit_price, Float
671
+
672
+ # @!method initialize(id:, amount:, invoice_id:, quantity:, timestamp:, unit_price:)
673
+ # @param id [String]
674
+ # @param amount [Float]
675
+ # @param invoice_id [String]
676
+ # @param quantity [Float]
677
+ # @param timestamp [Time]
678
+ # @param unit_price [Float]
679
+ end
680
+ end
681
+
521
682
  module Ledger
522
683
  extend MetronomeSDK::Internal::Type::Union
523
684
 
524
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry }
685
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0 }
525
686
 
526
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry }
687
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1 }
527
688
 
528
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry }
689
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2 }
529
690
 
530
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry }
691
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3 }
531
692
 
532
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry }
693
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4 }
533
694
 
534
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry }
695
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5 }
535
696
 
536
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry }
697
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6 }
537
698
 
538
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry }
699
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7 }
539
700
 
540
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry }
701
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8 }
541
702
 
542
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry }
703
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9 }
543
704
 
544
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry }
705
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10 }
545
706
 
546
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry }
707
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11 }
547
708
 
548
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry }
709
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12 }
549
710
 
550
- class PrepaidCommitSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
711
+ class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
551
712
  # @!attribute amount
552
713
  #
553
714
  # @return [Float]
@@ -565,17 +726,17 @@ module MetronomeSDK
565
726
 
566
727
  # @!attribute type
567
728
  #
568
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
729
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0::Type]
569
730
  required :type,
570
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type }
731
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0::Type }
571
732
 
572
733
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
573
734
  # @param amount [Float]
574
735
  # @param segment_id [String]
575
736
  # @param timestamp [Time]
576
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
737
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0::Type]
577
738
 
578
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry#type
739
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0#type
579
740
  module Type
580
741
  extend MetronomeSDK::Internal::Type::Enum
581
742
 
@@ -586,7 +747,7 @@ module MetronomeSDK
586
747
  end
587
748
  end
588
749
 
589
- class PrepaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
750
+ class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
590
751
  # @!attribute amount
591
752
  #
592
753
  # @return [Float]
@@ -609,18 +770,18 @@ module MetronomeSDK
609
770
 
610
771
  # @!attribute type
611
772
  #
612
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
773
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1::Type]
613
774
  required :type,
614
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
775
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1::Type }
615
776
 
616
777
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
617
778
  # @param amount [Float]
618
779
  # @param invoice_id [String]
619
780
  # @param segment_id [String]
620
781
  # @param timestamp [Time]
621
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
782
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1::Type]
622
783
 
623
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry#type
784
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1#type
624
785
  module Type
625
786
  extend MetronomeSDK::Internal::Type::Enum
626
787
 
@@ -631,7 +792,7 @@ module MetronomeSDK
631
792
  end
632
793
  end
633
794
 
634
- class PrepaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
795
+ class UnionMember2 < MetronomeSDK::Internal::Type::BaseModel
635
796
  # @!attribute amount
636
797
  #
637
798
  # @return [Float]
@@ -654,18 +815,18 @@ module MetronomeSDK
654
815
 
655
816
  # @!attribute type
656
817
  #
657
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
818
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2::Type]
658
819
  required :type,
659
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type }
820
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2::Type }
660
821
 
661
822
  # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
662
823
  # @param amount [Float]
663
824
  # @param new_contract_id [String]
664
825
  # @param segment_id [String]
665
826
  # @param timestamp [Time]
666
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
827
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2::Type]
667
828
 
668
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry#type
829
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2#type
669
830
  module Type
670
831
  extend MetronomeSDK::Internal::Type::Enum
671
832
 
@@ -676,7 +837,7 @@ module MetronomeSDK
676
837
  end
677
838
  end
678
839
 
679
- class PrepaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
840
+ class UnionMember3 < MetronomeSDK::Internal::Type::BaseModel
680
841
  # @!attribute amount
681
842
  #
682
843
  # @return [Float]
@@ -694,17 +855,17 @@ module MetronomeSDK
694
855
 
695
856
  # @!attribute type
696
857
  #
697
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
858
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3::Type]
698
859
  required :type,
699
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type }
860
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3::Type }
700
861
 
701
862
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
702
863
  # @param amount [Float]
703
864
  # @param segment_id [String]
704
865
  # @param timestamp [Time]
705
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
866
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3::Type]
706
867
 
707
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry#type
868
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3#type
708
869
  module Type
709
870
  extend MetronomeSDK::Internal::Type::Enum
710
871
 
@@ -715,7 +876,7 @@ module MetronomeSDK
715
876
  end
716
877
  end
717
878
 
718
- class PrepaidCommitCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
879
+ class UnionMember4 < MetronomeSDK::Internal::Type::BaseModel
719
880
  # @!attribute amount
720
881
  #
721
882
  # @return [Float]
@@ -738,18 +899,18 @@ module MetronomeSDK
738
899
 
739
900
  # @!attribute type
740
901
  #
741
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
902
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4::Type]
742
903
  required :type,
743
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type }
904
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4::Type }
744
905
 
745
906
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
746
907
  # @param amount [Float]
747
908
  # @param invoice_id [String]
748
909
  # @param segment_id [String]
749
910
  # @param timestamp [Time]
750
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
911
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4::Type]
751
912
 
752
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry#type
913
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4#type
753
914
  module Type
754
915
  extend MetronomeSDK::Internal::Type::Enum
755
916
 
@@ -760,7 +921,7 @@ module MetronomeSDK
760
921
  end
761
922
  end
762
923
 
763
- class PrepaidCommitCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
924
+ class UnionMember5 < MetronomeSDK::Internal::Type::BaseModel
764
925
  # @!attribute amount
765
926
  #
766
927
  # @return [Float]
@@ -783,18 +944,18 @@ module MetronomeSDK
783
944
 
784
945
  # @!attribute type
785
946
  #
786
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
947
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5::Type]
787
948
  required :type,
788
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type }
949
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5::Type }
789
950
 
790
951
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
791
952
  # @param amount [Float]
792
953
  # @param invoice_id [String]
793
954
  # @param segment_id [String]
794
955
  # @param timestamp [Time]
795
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
956
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5::Type]
796
957
 
797
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry#type
958
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5#type
798
959
  module Type
799
960
  extend MetronomeSDK::Internal::Type::Enum
800
961
 
@@ -805,7 +966,7 @@ module MetronomeSDK
805
966
  end
806
967
  end
807
968
 
808
- class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
969
+ class UnionMember6 < MetronomeSDK::Internal::Type::BaseModel
809
970
  # @!attribute amount
810
971
  #
811
972
  # @return [Float]
@@ -818,16 +979,16 @@ module MetronomeSDK
818
979
 
819
980
  # @!attribute type
820
981
  #
821
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
982
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6::Type]
822
983
  required :type,
823
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type }
984
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6::Type }
824
985
 
825
986
  # @!method initialize(amount:, timestamp:, type:)
826
987
  # @param amount [Float]
827
988
  # @param timestamp [Time]
828
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
989
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6::Type]
829
990
 
830
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry#type
991
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6#type
831
992
  module Type
832
993
  extend MetronomeSDK::Internal::Type::Enum
833
994
 
@@ -838,7 +999,7 @@ module MetronomeSDK
838
999
  end
839
1000
  end
840
1001
 
841
- class PostpaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1002
+ class UnionMember7 < MetronomeSDK::Internal::Type::BaseModel
842
1003
  # @!attribute amount
843
1004
  #
844
1005
  # @return [Float]
@@ -861,18 +1022,18 @@ module MetronomeSDK
861
1022
 
862
1023
  # @!attribute type
863
1024
  #
864
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1025
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7::Type]
865
1026
  required :type,
866
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
1027
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7::Type }
867
1028
 
868
1029
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
869
1030
  # @param amount [Float]
870
1031
  # @param invoice_id [String]
871
1032
  # @param segment_id [String]
872
1033
  # @param timestamp [Time]
873
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1034
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7::Type]
874
1035
 
875
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry#type
1036
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7#type
876
1037
  module Type
877
1038
  extend MetronomeSDK::Internal::Type::Enum
878
1039
 
@@ -883,7 +1044,7 @@ module MetronomeSDK
883
1044
  end
884
1045
  end
885
1046
 
886
- class PostpaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1047
+ class UnionMember8 < MetronomeSDK::Internal::Type::BaseModel
887
1048
  # @!attribute amount
888
1049
  #
889
1050
  # @return [Float]
@@ -906,18 +1067,18 @@ module MetronomeSDK
906
1067
 
907
1068
  # @!attribute type
908
1069
  #
909
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
1070
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8::Type]
910
1071
  required :type,
911
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type }
1072
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8::Type }
912
1073
 
913
1074
  # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
914
1075
  # @param amount [Float]
915
1076
  # @param new_contract_id [String]
916
1077
  # @param segment_id [String]
917
1078
  # @param timestamp [Time]
918
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
1079
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8::Type]
919
1080
 
920
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry#type
1081
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8#type
921
1082
  module Type
922
1083
  extend MetronomeSDK::Internal::Type::Enum
923
1084
 
@@ -928,7 +1089,7 @@ module MetronomeSDK
928
1089
  end
929
1090
  end
930
1091
 
931
- class PostpaidCommitTrueupLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1092
+ class UnionMember9 < MetronomeSDK::Internal::Type::BaseModel
932
1093
  # @!attribute amount
933
1094
  #
934
1095
  # @return [Float]
@@ -946,17 +1107,17 @@ module MetronomeSDK
946
1107
 
947
1108
  # @!attribute type
948
1109
  #
949
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1110
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9::Type]
950
1111
  required :type,
951
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type }
1112
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9::Type }
952
1113
 
953
1114
  # @!method initialize(amount:, invoice_id:, timestamp:, type:)
954
1115
  # @param amount [Float]
955
1116
  # @param invoice_id [String]
956
1117
  # @param timestamp [Time]
957
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1118
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9::Type]
958
1119
 
959
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry#type
1120
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9#type
960
1121
  module Type
961
1122
  extend MetronomeSDK::Internal::Type::Enum
962
1123
 
@@ -967,7 +1128,7 @@ module MetronomeSDK
967
1128
  end
968
1129
  end
969
1130
 
970
- class PrepaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1131
+ class UnionMember10 < MetronomeSDK::Internal::Type::BaseModel
971
1132
  # @!attribute amount
972
1133
  #
973
1134
  # @return [Float]
@@ -985,17 +1146,17 @@ module MetronomeSDK
985
1146
 
986
1147
  # @!attribute type
987
1148
  #
988
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
1149
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10::Type]
989
1150
  required :type,
990
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type }
1151
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10::Type }
991
1152
 
992
1153
  # @!method initialize(amount:, reason:, timestamp:, type:)
993
1154
  # @param amount [Float]
994
1155
  # @param reason [String]
995
1156
  # @param timestamp [Time]
996
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
1157
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10::Type]
997
1158
 
998
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry#type
1159
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10#type
999
1160
  module Type
1000
1161
  extend MetronomeSDK::Internal::Type::Enum
1001
1162
 
@@ -1006,7 +1167,7 @@ module MetronomeSDK
1006
1167
  end
1007
1168
  end
1008
1169
 
1009
- class PostpaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1170
+ class UnionMember11 < MetronomeSDK::Internal::Type::BaseModel
1010
1171
  # @!attribute amount
1011
1172
  #
1012
1173
  # @return [Float]
@@ -1024,17 +1185,17 @@ module MetronomeSDK
1024
1185
 
1025
1186
  # @!attribute type
1026
1187
  #
1027
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
1188
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11::Type]
1028
1189
  required :type,
1029
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type }
1190
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11::Type }
1030
1191
 
1031
1192
  # @!method initialize(amount:, reason:, timestamp:, type:)
1032
1193
  # @param amount [Float]
1033
1194
  # @param reason [String]
1034
1195
  # @param timestamp [Time]
1035
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
1196
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11::Type]
1036
1197
 
1037
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry#type
1198
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11#type
1038
1199
  module Type
1039
1200
  extend MetronomeSDK::Internal::Type::Enum
1040
1201
 
@@ -1045,7 +1206,7 @@ module MetronomeSDK
1045
1206
  end
1046
1207
  end
1047
1208
 
1048
- class PostpaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1209
+ class UnionMember12 < MetronomeSDK::Internal::Type::BaseModel
1049
1210
  # @!attribute amount
1050
1211
  #
1051
1212
  # @return [Float]
@@ -1058,16 +1219,16 @@ module MetronomeSDK
1058
1219
 
1059
1220
  # @!attribute type
1060
1221
  #
1061
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
1222
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12::Type]
1062
1223
  required :type,
1063
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type }
1224
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12::Type }
1064
1225
 
1065
1226
  # @!method initialize(amount:, timestamp:, type:)
1066
1227
  # @param amount [Float]
1067
1228
  # @param timestamp [Time]
1068
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
1229
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12::Type]
1069
1230
 
1070
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry#type
1231
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12#type
1071
1232
  module Type
1072
1233
  extend MetronomeSDK::Internal::Type::Enum
1073
1234
 
@@ -1079,7 +1240,7 @@ module MetronomeSDK
1079
1240
  end
1080
1241
 
1081
1242
  # @!method self.variants
1082
- # @return [Array(MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry)]
1243
+ # @return [Array(MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12)]
1083
1244
  end
1084
1245
 
1085
1246
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit#rate_type
@@ -1109,6 +1270,44 @@ module MetronomeSDK
1109
1270
  # @param commit_id [String]
1110
1271
  # @param contract_id [String]
1111
1272
  end
1273
+
1274
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1275
+ # @!attribute presentation_group_values
1276
+ #
1277
+ # @return [Hash{Symbol=>String}, nil]
1278
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1279
+
1280
+ # @!attribute pricing_group_values
1281
+ #
1282
+ # @return [Hash{Symbol=>String}, nil]
1283
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1284
+
1285
+ # @!attribute product_id
1286
+ # If provided, the specifier will only apply to the product with the specified ID.
1287
+ #
1288
+ # @return [String, nil]
1289
+ optional :product_id, String
1290
+
1291
+ # @!attribute product_tags
1292
+ # If provided, the specifier will only apply to products with all the specified
1293
+ # tags.
1294
+ #
1295
+ # @return [Array<String>, nil]
1296
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1297
+
1298
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1299
+ # Some parameter documentations has been truncated, see
1300
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Specifier}
1301
+ # for more details.
1302
+ #
1303
+ # @param presentation_group_values [Hash{Symbol=>String}]
1304
+ #
1305
+ # @param pricing_group_values [Hash{Symbol=>String}]
1306
+ #
1307
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1308
+ #
1309
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1310
+ end
1112
1311
  end
1113
1312
 
1114
1313
  class Override < MetronomeSDK::Internal::Type::BaseModel
@@ -1202,6 +1401,12 @@ module MetronomeSDK
1202
1401
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::Type]
1203
1402
 
1204
1403
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1404
+ # @!attribute billing_frequency
1405
+ #
1406
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideSpecifier::BillingFrequency, nil]
1407
+ optional :billing_frequency,
1408
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideSpecifier::BillingFrequency }
1409
+
1205
1410
  # @!attribute commit_ids
1206
1411
  #
1207
1412
  # @return [Array<String>, nil]
@@ -1237,7 +1442,8 @@ module MetronomeSDK
1237
1442
  # @return [Array<String>, nil]
1238
1443
  optional :recurring_credit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1239
1444
 
1240
- # @!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)
1445
+ # @!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)
1446
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideSpecifier::BillingFrequency]
1241
1447
  # @param commit_ids [Array<String>]
1242
1448
  # @param presentation_group_values [Hash{Symbol=>String, nil}]
1243
1449
  # @param pricing_group_values [Hash{Symbol=>String}]
@@ -1245,6 +1451,19 @@ module MetronomeSDK
1245
1451
  # @param product_tags [Array<String>]
1246
1452
  # @param recurring_commit_ids [Array<String>]
1247
1453
  # @param recurring_credit_ids [Array<String>]
1454
+
1455
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideSpecifier#billing_frequency
1456
+ module BillingFrequency
1457
+ extend MetronomeSDK::Internal::Type::Enum
1458
+
1459
+ MONTHLY = :MONTHLY
1460
+ QUARTERLY = :QUARTERLY
1461
+ ANNUAL = :ANNUAL
1462
+ WEEKLY = :WEEKLY
1463
+
1464
+ # @!method self.values
1465
+ # @return [Array<Symbol>]
1466
+ end
1248
1467
  end
1249
1468
 
1250
1469
  class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
@@ -1273,8 +1492,9 @@ module MetronomeSDK
1273
1492
 
1274
1493
  # @!attribute credit_type
1275
1494
  #
1276
- # @return [MetronomeSDK::Models::CreditTypeData, nil]
1277
- optional :credit_type, -> { MetronomeSDK::Models::CreditTypeData }
1495
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::CreditType, nil]
1496
+ optional :credit_type,
1497
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::CreditType }
1278
1498
 
1279
1499
  # @!attribute custom_rate
1280
1500
  # Only set for CUSTOM rate_type. This field is interpreted by custom rate
@@ -1307,8 +1527,9 @@ module MetronomeSDK
1307
1527
  # @!attribute tiers
1308
1528
  # Only set for TIERED rate_type.
1309
1529
  #
1310
- # @return [Array<MetronomeSDK::Models::Tier>, nil]
1311
- optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::Tier] }
1530
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::Tier>, nil]
1531
+ optional :tiers,
1532
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::Tier] }
1312
1533
 
1313
1534
  # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1314
1535
  # Some parameter documentations has been truncated, see
@@ -1317,20 +1538,17 @@ module MetronomeSDK
1317
1538
  #
1318
1539
  # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::RateType]
1319
1540
  #
1320
- # @param credit_type [MetronomeSDK::Models::CreditTypeData]
1541
+ # @param credit_type [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::CreditType]
1321
1542
  #
1322
1543
  # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
1323
- # ...
1324
1544
  #
1325
1545
  # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1326
- # ...
1327
1546
  #
1328
1547
  # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
1329
- # ...
1330
1548
  #
1331
1549
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1332
1550
  #
1333
- # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
1551
+ # @param tiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::Tier>] Only set for TIERED rate_type.
1334
1552
 
1335
1553
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate#rate_type
1336
1554
  module RateType
@@ -1345,6 +1563,39 @@ module MetronomeSDK
1345
1563
  # @!method self.values
1346
1564
  # @return [Array<Symbol>]
1347
1565
  end
1566
+
1567
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate#credit_type
1568
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
1569
+ # @!attribute id
1570
+ #
1571
+ # @return [String]
1572
+ required :id, String
1573
+
1574
+ # @!attribute name
1575
+ #
1576
+ # @return [String]
1577
+ required :name, String
1578
+
1579
+ # @!method initialize(id:, name:)
1580
+ # @param id [String]
1581
+ # @param name [String]
1582
+ end
1583
+
1584
+ class Tier < MetronomeSDK::Internal::Type::BaseModel
1585
+ # @!attribute price
1586
+ #
1587
+ # @return [Float]
1588
+ required :price, Float
1589
+
1590
+ # @!attribute size
1591
+ #
1592
+ # @return [Float, nil]
1593
+ optional :size, Float
1594
+
1595
+ # @!method initialize(price:, size: nil)
1596
+ # @param price [Float]
1597
+ # @param size [Float]
1598
+ end
1348
1599
  end
1349
1600
 
1350
1601
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override#product
@@ -1388,6 +1639,155 @@ module MetronomeSDK
1388
1639
  end
1389
1640
  end
1390
1641
 
1642
+ class ScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
1643
+ # @!attribute id
1644
+ #
1645
+ # @return [String]
1646
+ required :id, String
1647
+
1648
+ # @!attribute product
1649
+ #
1650
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Product]
1651
+ required :product,
1652
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Product }
1653
+
1654
+ # @!attribute schedule
1655
+ #
1656
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule]
1657
+ required :schedule,
1658
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule }
1659
+
1660
+ # @!attribute archived_at
1661
+ #
1662
+ # @return [Time, nil]
1663
+ optional :archived_at, Time
1664
+
1665
+ # @!attribute custom_fields
1666
+ #
1667
+ # @return [Hash{Symbol=>String}, nil]
1668
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
1669
+
1670
+ # @!attribute name
1671
+ # displayed on invoices
1672
+ #
1673
+ # @return [String, nil]
1674
+ optional :name, String
1675
+
1676
+ # @!attribute netsuite_sales_order_id
1677
+ # This field's availability is dependent on your client's configuration.
1678
+ #
1679
+ # @return [String, nil]
1680
+ optional :netsuite_sales_order_id, String
1681
+
1682
+ # @!method initialize(id:, product:, schedule:, archived_at: nil, custom_fields: nil, name: nil, netsuite_sales_order_id: nil)
1683
+ # @param id [String]
1684
+ #
1685
+ # @param product [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Product]
1686
+ #
1687
+ # @param schedule [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule]
1688
+ #
1689
+ # @param archived_at [Time]
1690
+ #
1691
+ # @param custom_fields [Hash{Symbol=>String}]
1692
+ #
1693
+ # @param name [String] displayed on invoices
1694
+ #
1695
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
1696
+
1697
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge#product
1698
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1699
+ # @!attribute id
1700
+ #
1701
+ # @return [String]
1702
+ required :id, String
1703
+
1704
+ # @!attribute name
1705
+ #
1706
+ # @return [String]
1707
+ required :name, String
1708
+
1709
+ # @!method initialize(id:, name:)
1710
+ # @param id [String]
1711
+ # @param name [String]
1712
+ end
1713
+
1714
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge#schedule
1715
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
1716
+ # @!attribute credit_type
1717
+ #
1718
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule::CreditType, nil]
1719
+ optional :credit_type,
1720
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule::CreditType }
1721
+
1722
+ # @!attribute schedule_items
1723
+ #
1724
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule::ScheduleItem>, nil]
1725
+ optional :schedule_items,
1726
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule::ScheduleItem] }
1727
+
1728
+ # @!method initialize(credit_type: nil, schedule_items: nil)
1729
+ # @param credit_type [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule::CreditType]
1730
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule::ScheduleItem>]
1731
+
1732
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule#credit_type
1733
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
1734
+ # @!attribute id
1735
+ #
1736
+ # @return [String]
1737
+ required :id, String
1738
+
1739
+ # @!attribute name
1740
+ #
1741
+ # @return [String]
1742
+ required :name, String
1743
+
1744
+ # @!method initialize(id:, name:)
1745
+ # @param id [String]
1746
+ # @param name [String]
1747
+ end
1748
+
1749
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1750
+ # @!attribute id
1751
+ #
1752
+ # @return [String]
1753
+ required :id, String
1754
+
1755
+ # @!attribute amount
1756
+ #
1757
+ # @return [Float]
1758
+ required :amount, Float
1759
+
1760
+ # @!attribute invoice_id
1761
+ #
1762
+ # @return [String]
1763
+ required :invoice_id, String
1764
+
1765
+ # @!attribute quantity
1766
+ #
1767
+ # @return [Float]
1768
+ required :quantity, Float
1769
+
1770
+ # @!attribute timestamp
1771
+ #
1772
+ # @return [Time]
1773
+ required :timestamp, Time
1774
+
1775
+ # @!attribute unit_price
1776
+ #
1777
+ # @return [Float]
1778
+ required :unit_price, Float
1779
+
1780
+ # @!method initialize(id:, amount:, invoice_id:, quantity:, timestamp:, unit_price:)
1781
+ # @param id [String]
1782
+ # @param amount [Float]
1783
+ # @param invoice_id [String]
1784
+ # @param quantity [Float]
1785
+ # @param timestamp [Time]
1786
+ # @param unit_price [Float]
1787
+ end
1788
+ end
1789
+ end
1790
+
1391
1791
  class Transition < MetronomeSDK::Internal::Type::BaseModel
1392
1792
  # @!attribute from_contract_id
1393
1793
  #
@@ -1456,10 +1856,8 @@ module MetronomeSDK
1456
1856
  # @param group_values [Array<String>]
1457
1857
  #
1458
1858
  # @param starting_at [Time] This will match contract starting_at value if usage filter is active from the be
1459
- # ...
1460
1859
  #
1461
1860
  # @param ending_before [Time] This will match contract ending_before value if usage filter is active until the
1462
- # ...
1463
1861
  end
1464
1862
 
1465
1863
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data#usage_statement_schedule
@@ -1495,112 +1893,11 @@ module MetronomeSDK
1495
1893
  end
1496
1894
  end
1497
1895
 
1498
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data#credit_balance_threshold_configuration
1499
- class CreditBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
1500
- # @!attribute commit
1896
+ class Credit < MetronomeSDK::Internal::Type::BaseModel
1897
+ # @!attribute id
1501
1898
  #
1502
- # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CreditBalanceThresholdConfiguration::Commit]
1503
- required :commit,
1504
- -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CreditBalanceThresholdConfiguration::Commit }
1505
-
1506
- # @!attribute is_enabled
1507
- # When set to false, the contract will not be evaluated against the
1508
- # threshold_amount. Toggling to true will result an immediate evaluation,
1509
- # regardless of prior state.
1510
- #
1511
- # @return [Boolean]
1512
- required :is_enabled, MetronomeSDK::Internal::Type::Boolean
1513
-
1514
- # @!attribute recharge_to_amount
1515
- # Specify the amount the balance should be recharged to.
1516
- #
1517
- # @return [Float]
1518
- required :recharge_to_amount, Float
1519
-
1520
- # @!attribute threshold_amount
1521
- # Specify the threshold amount for the contract. Each time the contract's balance
1522
- # lowers to this amount, a threshold charge will be initiated.
1523
- #
1524
- # @return [Float]
1525
- required :threshold_amount, Float
1526
-
1527
- # @!method initialize(commit:, is_enabled:, recharge_to_amount:, threshold_amount:)
1528
- # Some parameter documentations has been truncated, see
1529
- # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CreditBalanceThresholdConfiguration}
1530
- # for more details.
1531
- #
1532
- # @param commit [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CreditBalanceThresholdConfiguration::Commit]
1533
- #
1534
- # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
1535
- # ...
1536
- #
1537
- # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
1538
- #
1539
- # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
1540
- # ...
1541
-
1542
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CreditBalanceThresholdConfiguration#commit
1543
- class Commit < MetronomeSDK::Internal::Type::BaseModel
1544
- # @!attribute product_id
1545
- # The commit product that will be used to generate the line item for commit
1546
- # payment.
1547
- #
1548
- # @return [String]
1549
- required :product_id, String
1550
-
1551
- # @!attribute applicable_product_ids
1552
- # Which products the threshold commit applies to. If both applicable_product_ids
1553
- # and applicable_product_tags are not provided, the commit applies to all
1554
- # products.
1555
- #
1556
- # @return [Array<String>, nil]
1557
- optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1558
-
1559
- # @!attribute applicable_product_tags
1560
- # Which tags the threshold commit applies to. If both applicable_product_ids and
1561
- # applicable_product_tags are not provided, the commit applies to all products.
1562
- #
1563
- # @return [Array<String>, nil]
1564
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1565
-
1566
- # @!attribute description
1567
- #
1568
- # @return [String, nil]
1569
- optional :description, String
1570
-
1571
- # @!attribute name
1572
- # Specify the name of the line item for the threshold charge. If left blank, it
1573
- # will default to the commit product name.
1574
- #
1575
- # @return [String, nil]
1576
- optional :name, String
1577
-
1578
- # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil)
1579
- # Some parameter documentations has been truncated, see
1580
- # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CreditBalanceThresholdConfiguration::Commit}
1581
- # for more details.
1582
- #
1583
- # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
1584
- # ...
1585
- #
1586
- # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
1587
- # ...
1588
- #
1589
- # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
1590
- # ...
1591
- #
1592
- # @param description [String]
1593
- #
1594
- # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
1595
- # ...
1596
- end
1597
- end
1598
-
1599
- class Credit < MetronomeSDK::Internal::Type::BaseModel
1600
- # @!attribute id
1601
- #
1602
- # @return [String]
1603
- required :id, String
1899
+ # @return [String]
1900
+ required :id, String
1604
1901
 
1605
1902
  # @!attribute product
1606
1903
  #
@@ -1615,8 +1912,9 @@ module MetronomeSDK
1615
1912
  # @!attribute access_schedule
1616
1913
  # The schedule that the customer will gain access to the credits.
1617
1914
  #
1618
- # @return [MetronomeSDK::Models::ScheduleDuration, nil]
1619
- optional :access_schedule, -> { MetronomeSDK::Models::ScheduleDuration }
1915
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule, nil]
1916
+ optional :access_schedule,
1917
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule }
1620
1918
 
1621
1919
  # @!attribute applicable_contract_ids
1622
1920
  #
@@ -1665,7 +1963,7 @@ module MetronomeSDK
1665
1963
  # A list of ordered events that impact the balance of a credit. For example, an
1666
1964
  # invoice deduction or an expiration.
1667
1965
  #
1668
- # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry>, nil]
1966
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5>, nil]
1669
1967
  optional :ledger,
1670
1968
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger] }
1671
1969
 
@@ -1693,7 +1991,16 @@ module MetronomeSDK
1693
1991
  # @return [String, nil]
1694
1992
  optional :salesforce_opportunity_id, String
1695
1993
 
1696
- # @!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)
1994
+ # @!attribute specifiers
1995
+ # List of filters that determine what kind of customer usage draws down a commit
1996
+ # or credit. A customer's usage needs to meet the condition of at least one of the
1997
+ # specifiers to contribute to a commit's or credit's drawdown.
1998
+ #
1999
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Specifier>, nil]
2000
+ optional :specifiers,
2001
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Specifier] }
2002
+
2003
+ # @!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)
1697
2004
  # Some parameter documentations has been truncated, see
1698
2005
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit} for more
1699
2006
  # details.
@@ -1704,7 +2011,7 @@ module MetronomeSDK
1704
2011
  #
1705
2012
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Type]
1706
2013
  #
1707
- # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits.
2014
+ # @param access_schedule [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule] The schedule that the customer will gain access to the credits.
1708
2015
  #
1709
2016
  # @param applicable_contract_ids [Array<String>]
1710
2017
  #
@@ -1713,7 +2020,6 @@ module MetronomeSDK
1713
2020
  # @param applicable_product_tags [Array<String>]
1714
2021
  #
1715
2022
  # @param balance [Float] The current balance of the credit or commit. This balance reflects the amount of
1716
- # ...
1717
2023
  #
1718
2024
  # @param contract [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Contract]
1719
2025
  #
@@ -1721,17 +2027,17 @@ module MetronomeSDK
1721
2027
  #
1722
2028
  # @param description [String]
1723
2029
  #
1724
- # @param ledger [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry>] A list of ordered events that impact the balance of a credit. For example, an in
1725
- # ...
2030
+ # @param ledger [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5>] A list of ordered events that impact the balance of a credit. For example, an in
1726
2031
  #
1727
2032
  # @param name [String]
1728
2033
  #
1729
2034
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
1730
2035
  #
1731
2036
  # @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
1732
- # ...
1733
2037
  #
1734
2038
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
2039
+ #
2040
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
1735
2041
 
1736
2042
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit#product
1737
2043
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -1760,6 +2066,72 @@ module MetronomeSDK
1760
2066
  # @return [Array<Symbol>]
1761
2067
  end
1762
2068
 
2069
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit#access_schedule
2070
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
2071
+ # @!attribute schedule_items
2072
+ #
2073
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule::ScheduleItem>]
2074
+ required :schedule_items,
2075
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule::ScheduleItem] }
2076
+
2077
+ # @!attribute credit_type
2078
+ #
2079
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule::CreditType, nil]
2080
+ optional :credit_type,
2081
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule::CreditType }
2082
+
2083
+ # @!method initialize(schedule_items:, credit_type: nil)
2084
+ # The schedule that the customer will gain access to the credits.
2085
+ #
2086
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule::ScheduleItem>]
2087
+ # @param credit_type [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule::CreditType]
2088
+
2089
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2090
+ # @!attribute id
2091
+ #
2092
+ # @return [String]
2093
+ required :id, String
2094
+
2095
+ # @!attribute amount
2096
+ #
2097
+ # @return [Float]
2098
+ required :amount, Float
2099
+
2100
+ # @!attribute ending_before
2101
+ #
2102
+ # @return [Time]
2103
+ required :ending_before, Time
2104
+
2105
+ # @!attribute starting_at
2106
+ #
2107
+ # @return [Time]
2108
+ required :starting_at, Time
2109
+
2110
+ # @!method initialize(id:, amount:, ending_before:, starting_at:)
2111
+ # @param id [String]
2112
+ # @param amount [Float]
2113
+ # @param ending_before [Time]
2114
+ # @param starting_at [Time]
2115
+ end
2116
+
2117
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule#credit_type
2118
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
2119
+ # @!attribute id
2120
+ #
2121
+ # @return [String]
2122
+ required :id, String
2123
+
2124
+ # @!attribute name
2125
+ #
2126
+ # @return [String]
2127
+ required :name, String
2128
+
2129
+ # @!method initialize(id:, name:)
2130
+ # @param id [String]
2131
+ # @param name [String]
2132
+ end
2133
+ end
2134
+
1763
2135
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit#contract
1764
2136
  class Contract < MetronomeSDK::Internal::Type::BaseModel
1765
2137
  # @!attribute id
@@ -1774,19 +2146,19 @@ module MetronomeSDK
1774
2146
  module Ledger
1775
2147
  extend MetronomeSDK::Internal::Type::Union
1776
2148
 
1777
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry }
2149
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0 }
1778
2150
 
1779
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry }
2151
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1 }
1780
2152
 
1781
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry }
2153
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2 }
1782
2154
 
1783
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry }
2155
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3 }
1784
2156
 
1785
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry }
2157
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4 }
1786
2158
 
1787
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry }
2159
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5 }
1788
2160
 
1789
- class CreditSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2161
+ class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
1790
2162
  # @!attribute amount
1791
2163
  #
1792
2164
  # @return [Float]
@@ -1804,17 +2176,17 @@ module MetronomeSDK
1804
2176
 
1805
2177
  # @!attribute type
1806
2178
  #
1807
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
2179
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0::Type]
1808
2180
  required :type,
1809
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type }
2181
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0::Type }
1810
2182
 
1811
2183
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
1812
2184
  # @param amount [Float]
1813
2185
  # @param segment_id [String]
1814
2186
  # @param timestamp [Time]
1815
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
2187
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0::Type]
1816
2188
 
1817
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry#type
2189
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0#type
1818
2190
  module Type
1819
2191
  extend MetronomeSDK::Internal::Type::Enum
1820
2192
 
@@ -1825,7 +2197,7 @@ module MetronomeSDK
1825
2197
  end
1826
2198
  end
1827
2199
 
1828
- class CreditAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2200
+ class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
1829
2201
  # @!attribute amount
1830
2202
  #
1831
2203
  # @return [Float]
@@ -1848,18 +2220,18 @@ module MetronomeSDK
1848
2220
 
1849
2221
  # @!attribute type
1850
2222
  #
1851
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2223
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1::Type]
1852
2224
  required :type,
1853
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type }
2225
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1::Type }
1854
2226
 
1855
2227
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1856
2228
  # @param amount [Float]
1857
2229
  # @param invoice_id [String]
1858
2230
  # @param segment_id [String]
1859
2231
  # @param timestamp [Time]
1860
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2232
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1::Type]
1861
2233
 
1862
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry#type
2234
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1#type
1863
2235
  module Type
1864
2236
  extend MetronomeSDK::Internal::Type::Enum
1865
2237
 
@@ -1870,7 +2242,7 @@ module MetronomeSDK
1870
2242
  end
1871
2243
  end
1872
2244
 
1873
- class CreditExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2245
+ class UnionMember2 < MetronomeSDK::Internal::Type::BaseModel
1874
2246
  # @!attribute amount
1875
2247
  #
1876
2248
  # @return [Float]
@@ -1888,17 +2260,17 @@ module MetronomeSDK
1888
2260
 
1889
2261
  # @!attribute type
1890
2262
  #
1891
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type]
2263
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2::Type]
1892
2264
  required :type,
1893
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type }
2265
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2::Type }
1894
2266
 
1895
2267
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
1896
2268
  # @param amount [Float]
1897
2269
  # @param segment_id [String]
1898
2270
  # @param timestamp [Time]
1899
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type]
2271
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2::Type]
1900
2272
 
1901
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry#type
2273
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2#type
1902
2274
  module Type
1903
2275
  extend MetronomeSDK::Internal::Type::Enum
1904
2276
 
@@ -1909,7 +2281,7 @@ module MetronomeSDK
1909
2281
  end
1910
2282
  end
1911
2283
 
1912
- class CreditCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2284
+ class UnionMember3 < MetronomeSDK::Internal::Type::BaseModel
1913
2285
  # @!attribute amount
1914
2286
  #
1915
2287
  # @return [Float]
@@ -1932,18 +2304,18 @@ module MetronomeSDK
1932
2304
 
1933
2305
  # @!attribute type
1934
2306
  #
1935
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2307
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3::Type]
1936
2308
  required :type,
1937
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type }
2309
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3::Type }
1938
2310
 
1939
2311
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1940
2312
  # @param amount [Float]
1941
2313
  # @param invoice_id [String]
1942
2314
  # @param segment_id [String]
1943
2315
  # @param timestamp [Time]
1944
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2316
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3::Type]
1945
2317
 
1946
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry#type
2318
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3#type
1947
2319
  module Type
1948
2320
  extend MetronomeSDK::Internal::Type::Enum
1949
2321
 
@@ -1954,7 +2326,7 @@ module MetronomeSDK
1954
2326
  end
1955
2327
  end
1956
2328
 
1957
- class CreditCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2329
+ class UnionMember4 < MetronomeSDK::Internal::Type::BaseModel
1958
2330
  # @!attribute amount
1959
2331
  #
1960
2332
  # @return [Float]
@@ -1977,18 +2349,18 @@ module MetronomeSDK
1977
2349
 
1978
2350
  # @!attribute type
1979
2351
  #
1980
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2352
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4::Type]
1981
2353
  required :type,
1982
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type }
2354
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4::Type }
1983
2355
 
1984
2356
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1985
2357
  # @param amount [Float]
1986
2358
  # @param invoice_id [String]
1987
2359
  # @param segment_id [String]
1988
2360
  # @param timestamp [Time]
1989
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2361
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4::Type]
1990
2362
 
1991
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry#type
2363
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4#type
1992
2364
  module Type
1993
2365
  extend MetronomeSDK::Internal::Type::Enum
1994
2366
 
@@ -1999,7 +2371,7 @@ module MetronomeSDK
1999
2371
  end
2000
2372
  end
2001
2373
 
2002
- class CreditManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2374
+ class UnionMember5 < MetronomeSDK::Internal::Type::BaseModel
2003
2375
  # @!attribute amount
2004
2376
  #
2005
2377
  # @return [Float]
@@ -2017,17 +2389,17 @@ module MetronomeSDK
2017
2389
 
2018
2390
  # @!attribute type
2019
2391
  #
2020
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type]
2392
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5::Type]
2021
2393
  required :type,
2022
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type }
2394
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5::Type }
2023
2395
 
2024
2396
  # @!method initialize(amount:, reason:, timestamp:, type:)
2025
2397
  # @param amount [Float]
2026
2398
  # @param reason [String]
2027
2399
  # @param timestamp [Time]
2028
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type]
2400
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5::Type]
2029
2401
 
2030
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry#type
2402
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5#type
2031
2403
  module Type
2032
2404
  extend MetronomeSDK::Internal::Type::Enum
2033
2405
 
@@ -2039,7 +2411,45 @@ module MetronomeSDK
2039
2411
  end
2040
2412
 
2041
2413
  # @!method self.variants
2042
- # @return [Array(MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry)]
2414
+ # @return [Array(MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5)]
2415
+ end
2416
+
2417
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2418
+ # @!attribute presentation_group_values
2419
+ #
2420
+ # @return [Hash{Symbol=>String}, nil]
2421
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2422
+
2423
+ # @!attribute pricing_group_values
2424
+ #
2425
+ # @return [Hash{Symbol=>String}, nil]
2426
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2427
+
2428
+ # @!attribute product_id
2429
+ # If provided, the specifier will only apply to the product with the specified ID.
2430
+ #
2431
+ # @return [String, nil]
2432
+ optional :product_id, String
2433
+
2434
+ # @!attribute product_tags
2435
+ # If provided, the specifier will only apply to products with all the specified
2436
+ # tags.
2437
+ #
2438
+ # @return [Array<String>, nil]
2439
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2440
+
2441
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2442
+ # Some parameter documentations has been truncated, see
2443
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Specifier}
2444
+ # for more details.
2445
+ #
2446
+ # @param presentation_group_values [Hash{Symbol=>String}]
2447
+ #
2448
+ # @param pricing_group_values [Hash{Symbol=>String}]
2449
+ #
2450
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2451
+ #
2452
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2043
2453
  end
2044
2454
  end
2045
2455
 
@@ -2057,57 +2467,522 @@ module MetronomeSDK
2057
2467
  required :delivery_method,
2058
2468
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod }
2059
2469
 
2060
- # @!method initialize(billing_provider:, delivery_method:)
2061
- # This field's availability is dependent on your client's configuration.
2470
+ # @!method initialize(billing_provider:, delivery_method:)
2471
+ # This field's availability is dependent on your client's configuration.
2472
+ #
2473
+ # @param billing_provider [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::BillingProvider]
2474
+ # @param delivery_method [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod]
2475
+
2476
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration#billing_provider
2477
+ module BillingProvider
2478
+ extend MetronomeSDK::Internal::Type::Enum
2479
+
2480
+ AWS_MARKETPLACE = :aws_marketplace
2481
+ STRIPE = :stripe
2482
+ NETSUITE = :netsuite
2483
+ CUSTOM = :custom
2484
+ AZURE_MARKETPLACE = :azure_marketplace
2485
+ QUICKBOOKS_ONLINE = :quickbooks_online
2486
+ WORKDAY = :workday
2487
+ GCP_MARKETPLACE = :gcp_marketplace
2488
+
2489
+ # @!method self.values
2490
+ # @return [Array<Symbol>]
2491
+ end
2492
+
2493
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration#delivery_method
2494
+ module DeliveryMethod
2495
+ extend MetronomeSDK::Internal::Type::Enum
2496
+
2497
+ DIRECT_TO_BILLING_PROVIDER = :direct_to_billing_provider
2498
+ AWS_SQS = :aws_sqs
2499
+ TACKLE = :tackle
2500
+ AWS_SNS = :aws_sns
2501
+
2502
+ # @!method self.values
2503
+ # @return [Array<Symbol>]
2504
+ end
2505
+ end
2506
+
2507
+ class Discount < MetronomeSDK::Internal::Type::BaseModel
2508
+ # @!attribute id
2509
+ #
2510
+ # @return [String]
2511
+ required :id, String
2512
+
2513
+ # @!attribute product
2514
+ #
2515
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Product]
2516
+ required :product, -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Product }
2517
+
2518
+ # @!attribute schedule
2519
+ #
2520
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule]
2521
+ required :schedule, -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule }
2522
+
2523
+ # @!attribute custom_fields
2524
+ #
2525
+ # @return [Hash{Symbol=>String}, nil]
2526
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
2527
+
2528
+ # @!attribute name
2529
+ #
2530
+ # @return [String, nil]
2531
+ optional :name, String
2532
+
2533
+ # @!attribute netsuite_sales_order_id
2534
+ # This field's availability is dependent on your client's configuration.
2535
+ #
2536
+ # @return [String, nil]
2537
+ optional :netsuite_sales_order_id, String
2538
+
2539
+ # @!method initialize(id:, product:, schedule:, custom_fields: nil, name: nil, netsuite_sales_order_id: nil)
2540
+ # @param id [String]
2541
+ #
2542
+ # @param product [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Product]
2543
+ #
2544
+ # @param schedule [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule]
2545
+ #
2546
+ # @param custom_fields [Hash{Symbol=>String}]
2547
+ #
2548
+ # @param name [String]
2549
+ #
2550
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
2551
+
2552
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount#product
2553
+ class Product < MetronomeSDK::Internal::Type::BaseModel
2554
+ # @!attribute id
2555
+ #
2556
+ # @return [String]
2557
+ required :id, String
2558
+
2559
+ # @!attribute name
2560
+ #
2561
+ # @return [String]
2562
+ required :name, String
2563
+
2564
+ # @!method initialize(id:, name:)
2565
+ # @param id [String]
2566
+ # @param name [String]
2567
+ end
2568
+
2569
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount#schedule
2570
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
2571
+ # @!attribute credit_type
2572
+ #
2573
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule::CreditType, nil]
2574
+ optional :credit_type,
2575
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule::CreditType }
2576
+
2577
+ # @!attribute schedule_items
2578
+ #
2579
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule::ScheduleItem>, nil]
2580
+ optional :schedule_items,
2581
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule::ScheduleItem] }
2582
+
2583
+ # @!method initialize(credit_type: nil, schedule_items: nil)
2584
+ # @param credit_type [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule::CreditType]
2585
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule::ScheduleItem>]
2586
+
2587
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule#credit_type
2588
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
2589
+ # @!attribute id
2590
+ #
2591
+ # @return [String]
2592
+ required :id, String
2593
+
2594
+ # @!attribute name
2595
+ #
2596
+ # @return [String]
2597
+ required :name, String
2598
+
2599
+ # @!method initialize(id:, name:)
2600
+ # @param id [String]
2601
+ # @param name [String]
2602
+ end
2603
+
2604
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2605
+ # @!attribute id
2606
+ #
2607
+ # @return [String]
2608
+ required :id, String
2609
+
2610
+ # @!attribute amount
2611
+ #
2612
+ # @return [Float]
2613
+ required :amount, Float
2614
+
2615
+ # @!attribute invoice_id
2616
+ #
2617
+ # @return [String]
2618
+ required :invoice_id, String
2619
+
2620
+ # @!attribute quantity
2621
+ #
2622
+ # @return [Float]
2623
+ required :quantity, Float
2624
+
2625
+ # @!attribute timestamp
2626
+ #
2627
+ # @return [Time]
2628
+ required :timestamp, Time
2629
+
2630
+ # @!attribute unit_price
2631
+ #
2632
+ # @return [Float]
2633
+ required :unit_price, Float
2634
+
2635
+ # @!method initialize(id:, amount:, invoice_id:, quantity:, timestamp:, unit_price:)
2636
+ # @param id [String]
2637
+ # @param amount [Float]
2638
+ # @param invoice_id [String]
2639
+ # @param quantity [Float]
2640
+ # @param timestamp [Time]
2641
+ # @param unit_price [Float]
2642
+ end
2643
+ end
2644
+ end
2645
+
2646
+ # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
2647
+ # prices automatically. EXPLICIT prioritization requires specifying priorities for
2648
+ # each multiplier; the one with the lowest priority value will be prioritized
2649
+ # first.
2650
+ #
2651
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data#multiplier_override_prioritization
2652
+ module MultiplierOverridePrioritization
2653
+ extend MetronomeSDK::Internal::Type::Enum
2654
+
2655
+ LOWEST_MULTIPLIER = :LOWEST_MULTIPLIER
2656
+ EXPLICIT = :EXPLICIT
2657
+
2658
+ # @!method self.values
2659
+ # @return [Array<Symbol>]
2660
+ end
2661
+
2662
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data#prepaid_balance_threshold_configuration
2663
+ class PrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
2664
+ # @!attribute commit
2665
+ #
2666
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit]
2667
+ required :commit,
2668
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit }
2669
+
2670
+ # @!attribute is_enabled
2671
+ # When set to false, the contract will not be evaluated against the
2672
+ # threshold_amount. Toggling to true will result an immediate evaluation,
2673
+ # regardless of prior state.
2674
+ #
2675
+ # @return [Boolean]
2676
+ required :is_enabled, MetronomeSDK::Internal::Type::Boolean
2677
+
2678
+ # @!attribute payment_gate_config
2679
+ #
2680
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
2681
+ required :payment_gate_config,
2682
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig }
2683
+
2684
+ # @!attribute recharge_to_amount
2685
+ # Specify the amount the balance should be recharged to.
2686
+ #
2687
+ # @return [Float]
2688
+ required :recharge_to_amount, Float
2689
+
2690
+ # @!attribute threshold_amount
2691
+ # Specify the threshold amount for the contract. Each time the contract's balance
2692
+ # lowers to this amount, a threshold charge will be initiated.
2693
+ #
2694
+ # @return [Float]
2695
+ required :threshold_amount, Float
2696
+
2697
+ # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:)
2698
+ # Some parameter documentations has been truncated, see
2699
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration}
2700
+ # for more details.
2701
+ #
2702
+ # @param commit [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit]
2703
+ #
2704
+ # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
2705
+ #
2706
+ # @param payment_gate_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
2707
+ #
2708
+ # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
2709
+ #
2710
+ # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
2711
+
2712
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration#commit
2713
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
2714
+ # @!attribute product_id
2715
+ # The commit product that will be used to generate the line item for commit
2716
+ # payment.
2717
+ #
2718
+ # @return [String]
2719
+ required :product_id, String
2720
+
2721
+ # @!attribute applicable_product_ids
2722
+ # Which products the threshold commit applies to. If both applicable_product_ids
2723
+ # and applicable_product_tags are not provided, the commit applies to all
2724
+ # products.
2725
+ #
2726
+ # @return [Array<String>, nil]
2727
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2728
+
2729
+ # @!attribute applicable_product_tags
2730
+ # Which tags the threshold commit applies to. If both applicable_product_ids and
2731
+ # applicable_product_tags are not provided, the commit applies to all products.
2732
+ #
2733
+ # @return [Array<String>, nil]
2734
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2735
+
2736
+ # @!attribute description
2737
+ #
2738
+ # @return [String, nil]
2739
+ optional :description, String
2740
+
2741
+ # @!attribute name
2742
+ # Specify the name of the line item for the threshold charge. If left blank, it
2743
+ # will default to the commit product name.
2744
+ #
2745
+ # @return [String, nil]
2746
+ optional :name, String
2747
+
2748
+ # @!attribute specifiers
2749
+ # List of filters that determine what kind of customer usage draws down a commit
2750
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2751
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2752
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
2753
+ #
2754
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
2755
+ optional :specifiers,
2756
+ -> do
2757
+ MetronomeSDK::Internal::Type::ArrayOf[
2758
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier
2759
+ ]
2760
+ end
2761
+
2762
+ # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, specifiers: nil)
2763
+ # Some parameter documentations has been truncated, see
2764
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit}
2765
+ # for more details.
2766
+ #
2767
+ # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
2768
+ #
2769
+ # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
2770
+ #
2771
+ # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
2772
+ #
2773
+ # @param description [String]
2774
+ #
2775
+ # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
2776
+ #
2777
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2778
+
2779
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2780
+ # @!attribute presentation_group_values
2781
+ #
2782
+ # @return [Hash{Symbol=>String}, nil]
2783
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2784
+
2785
+ # @!attribute pricing_group_values
2786
+ #
2787
+ # @return [Hash{Symbol=>String}, nil]
2788
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2789
+
2790
+ # @!attribute product_id
2791
+ # If provided, the specifier will only apply to the product with the specified ID.
2792
+ #
2793
+ # @return [String, nil]
2794
+ optional :product_id, String
2795
+
2796
+ # @!attribute product_tags
2797
+ # If provided, the specifier will only apply to products with all the specified
2798
+ # tags.
2799
+ #
2800
+ # @return [Array<String>, nil]
2801
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2802
+
2803
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2804
+ # Some parameter documentations has been truncated, see
2805
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier}
2806
+ # for more details.
2807
+ #
2808
+ # @param presentation_group_values [Hash{Symbol=>String}]
2809
+ #
2810
+ # @param pricing_group_values [Hash{Symbol=>String}]
2811
+ #
2812
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2813
+ #
2814
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2815
+ end
2816
+ end
2817
+
2818
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration#payment_gate_config
2819
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
2820
+ # @!attribute payment_gate_type
2821
+ # Gate access to the commit balance based on successful collection of payment.
2822
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
2823
+ # facilitate payment using your own payment integration. Select NONE if you do not
2824
+ # wish to payment gate the commit balance.
2825
+ #
2826
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
2827
+ required :payment_gate_type,
2828
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType }
2829
+
2830
+ # @!attribute stripe_config
2831
+ # Only applicable if using Stripe as your payment gateway through Metronome.
2832
+ #
2833
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
2834
+ optional :stripe_config,
2835
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig }
2836
+
2837
+ # @!attribute tax_type
2838
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
2839
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
2840
+ # will default to NONE.
2841
+ #
2842
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
2843
+ optional :tax_type,
2844
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType }
2845
+
2846
+ # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
2847
+ # Some parameter documentations has been truncated, see
2848
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig}
2849
+ # for more details.
2850
+ #
2851
+ # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
2852
+ #
2853
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
2854
+ #
2855
+ # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
2856
+
2857
+ # Gate access to the commit balance based on successful collection of payment.
2858
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
2859
+ # facilitate payment using your own payment integration. Select NONE if you do not
2860
+ # wish to payment gate the commit balance.
2861
+ #
2862
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
2863
+ module PaymentGateType
2864
+ extend MetronomeSDK::Internal::Type::Enum
2865
+
2866
+ NONE = :NONE
2867
+ STRIPE = :STRIPE
2868
+ EXTERNAL = :EXTERNAL
2869
+
2870
+ # @!method self.values
2871
+ # @return [Array<Symbol>]
2872
+ end
2873
+
2874
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
2875
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2876
+ # @!attribute payment_type
2877
+ # If left blank, will default to INVOICE
2878
+ #
2879
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
2880
+ required :payment_type,
2881
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
2882
+
2883
+ # @!method initialize(payment_type:)
2884
+ # Only applicable if using Stripe as your payment gateway through Metronome.
2885
+ #
2886
+ # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
2887
+
2888
+ # If left blank, will default to INVOICE
2889
+ #
2890
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
2891
+ module PaymentType
2892
+ extend MetronomeSDK::Internal::Type::Enum
2893
+
2894
+ INVOICE = :INVOICE
2895
+ PAYMENT_INTENT = :PAYMENT_INTENT
2896
+
2897
+ # @!method self.values
2898
+ # @return [Array<Symbol>]
2899
+ end
2900
+ end
2901
+
2902
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
2903
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
2904
+ # will default to NONE.
2905
+ #
2906
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
2907
+ module TaxType
2908
+ extend MetronomeSDK::Internal::Type::Enum
2909
+
2910
+ NONE = :NONE
2911
+ STRIPE = :STRIPE
2912
+
2913
+ # @!method self.values
2914
+ # @return [Array<Symbol>]
2915
+ end
2916
+ end
2917
+ end
2918
+
2919
+ class ProfessionalService < MetronomeSDK::Internal::Type::BaseModel
2920
+ # @!attribute id
2062
2921
  #
2063
- # @param billing_provider [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::BillingProvider]
2064
- # @param delivery_method [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod]
2065
-
2066
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration#billing_provider
2067
- module BillingProvider
2068
- extend MetronomeSDK::Internal::Type::Enum
2922
+ # @return [String]
2923
+ required :id, String
2069
2924
 
2070
- AWS_MARKETPLACE = :aws_marketplace
2071
- STRIPE = :stripe
2072
- NETSUITE = :netsuite
2073
- CUSTOM = :custom
2074
- AZURE_MARKETPLACE = :azure_marketplace
2075
- QUICKBOOKS_ONLINE = :quickbooks_online
2076
- WORKDAY = :workday
2077
- GCP_MARKETPLACE = :gcp_marketplace
2925
+ # @!attribute max_amount
2926
+ # Maximum amount for the term.
2927
+ #
2928
+ # @return [Float]
2929
+ required :max_amount, Float
2078
2930
 
2079
- # @!method self.values
2080
- # @return [Array<Symbol>]
2081
- end
2931
+ # @!attribute product_id
2932
+ #
2933
+ # @return [String]
2934
+ required :product_id, String
2082
2935
 
2083
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration#delivery_method
2084
- module DeliveryMethod
2085
- extend MetronomeSDK::Internal::Type::Enum
2936
+ # @!attribute quantity
2937
+ # Quantity for the charge. Will be multiplied by unit_price to determine the
2938
+ # amount.
2939
+ #
2940
+ # @return [Float]
2941
+ required :quantity, Float
2086
2942
 
2087
- DIRECT_TO_BILLING_PROVIDER = :direct_to_billing_provider
2088
- AWS_SQS = :aws_sqs
2089
- TACKLE = :tackle
2090
- AWS_SNS = :aws_sns
2943
+ # @!attribute unit_price
2944
+ # Unit price for the charge. Will be multiplied by quantity to determine the
2945
+ # amount and must be specified.
2946
+ #
2947
+ # @return [Float]
2948
+ required :unit_price, Float
2091
2949
 
2092
- # @!method self.values
2093
- # @return [Array<Symbol>]
2094
- end
2095
- end
2950
+ # @!attribute custom_fields
2951
+ #
2952
+ # @return [Hash{Symbol=>String}, nil]
2953
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
2096
2954
 
2097
- # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
2098
- # prices automatically. EXPLICIT prioritization requires specifying priorities for
2099
- # each multiplier; the one with the lowest priority value will be prioritized
2100
- # first.
2101
- #
2102
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data#multiplier_override_prioritization
2103
- module MultiplierOverridePrioritization
2104
- extend MetronomeSDK::Internal::Type::Enum
2955
+ # @!attribute description
2956
+ #
2957
+ # @return [String, nil]
2958
+ optional :description, String
2105
2959
 
2106
- LOWEST_MULTIPLIER = :LOWEST_MULTIPLIER
2107
- EXPLICIT = :EXPLICIT
2960
+ # @!attribute netsuite_sales_order_id
2961
+ # This field's availability is dependent on your client's configuration.
2962
+ #
2963
+ # @return [String, nil]
2964
+ optional :netsuite_sales_order_id, String
2108
2965
 
2109
- # @!method self.values
2110
- # @return [Array<Symbol>]
2966
+ # @!method initialize(id:, max_amount:, product_id:, quantity:, unit_price:, custom_fields: nil, description: nil, netsuite_sales_order_id: nil)
2967
+ # Some parameter documentations has been truncated, see
2968
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ProfessionalService}
2969
+ # for more details.
2970
+ #
2971
+ # @param id [String]
2972
+ #
2973
+ # @param max_amount [Float] Maximum amount for the term.
2974
+ #
2975
+ # @param product_id [String]
2976
+ #
2977
+ # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
2978
+ #
2979
+ # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
2980
+ #
2981
+ # @param custom_fields [Hash{Symbol=>String}]
2982
+ #
2983
+ # @param description [String]
2984
+ #
2985
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
2111
2986
  end
2112
2987
 
2113
2988
  class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
@@ -2216,7 +3091,7 @@ module MetronomeSDK
2216
3091
  # The frequency at which the recurring commits will be created. If not provided: -
2217
3092
  # The commits will be created on the usage invoice frequency. If provided: - The
2218
3093
  # period defined in the duration will correspond to this frequency. - Commits will
2219
- # be created aligned with the recurring commit's start_date rather than the usage
3094
+ # be created aligned with the recurring commit's starting_at rather than the usage
2220
3095
  # invoice dates.
2221
3096
  #
2222
3097
  # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::RecurrenceFrequency, nil]
@@ -2231,7 +3106,16 @@ module MetronomeSDK
2231
3106
  # @return [Float, nil]
2232
3107
  optional :rollover_fraction, Float
2233
3108
 
2234
- # @!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)
3109
+ # @!attribute specifiers
3110
+ # List of filters that determine what kind of customer usage draws down a commit
3111
+ # or credit. A customer's usage needs to meet the condition of at least one of the
3112
+ # specifiers to contribute to a commit's or credit's drawdown.
3113
+ #
3114
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier>, nil]
3115
+ optional :specifiers,
3116
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier] }
3117
+
3118
+ # @!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)
2235
3119
  # Some parameter documentations has been truncated, see
2236
3120
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit} for
2237
3121
  # more details.
@@ -2267,13 +3151,12 @@ module MetronomeSDK
2267
3151
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
2268
3152
  #
2269
3153
  # @param proration [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
2270
- # ...
2271
3154
  #
2272
3155
  # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
2273
- # ...
2274
3156
  #
2275
3157
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
2276
- # ...
3158
+ #
3159
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2277
3160
 
2278
3161
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit#access_amount
2279
3162
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -2415,7 +3298,7 @@ module MetronomeSDK
2415
3298
  # The frequency at which the recurring commits will be created. If not provided: -
2416
3299
  # The commits will be created on the usage invoice frequency. If provided: - The
2417
3300
  # period defined in the duration will correspond to this frequency. - Commits will
2418
- # be created aligned with the recurring commit's start_date rather than the usage
3301
+ # be created aligned with the recurring commit's starting_at rather than the usage
2419
3302
  # invoice dates.
2420
3303
  #
2421
3304
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit#recurrence_frequency
@@ -2430,6 +3313,44 @@ module MetronomeSDK
2430
3313
  # @!method self.values
2431
3314
  # @return [Array<Symbol>]
2432
3315
  end
3316
+
3317
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
3318
+ # @!attribute presentation_group_values
3319
+ #
3320
+ # @return [Hash{Symbol=>String}, nil]
3321
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3322
+
3323
+ # @!attribute pricing_group_values
3324
+ #
3325
+ # @return [Hash{Symbol=>String}, nil]
3326
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3327
+
3328
+ # @!attribute product_id
3329
+ # If provided, the specifier will only apply to the product with the specified ID.
3330
+ #
3331
+ # @return [String, nil]
3332
+ optional :product_id, String
3333
+
3334
+ # @!attribute product_tags
3335
+ # If provided, the specifier will only apply to products with all the specified
3336
+ # tags.
3337
+ #
3338
+ # @return [Array<String>, nil]
3339
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
3340
+
3341
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
3342
+ # Some parameter documentations has been truncated, see
3343
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier}
3344
+ # for more details.
3345
+ #
3346
+ # @param presentation_group_values [Hash{Symbol=>String}]
3347
+ #
3348
+ # @param pricing_group_values [Hash{Symbol=>String}]
3349
+ #
3350
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
3351
+ #
3352
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3353
+ end
2433
3354
  end
2434
3355
 
2435
3356
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -2531,7 +3452,7 @@ module MetronomeSDK
2531
3452
  # The frequency at which the recurring commits will be created. If not provided: -
2532
3453
  # The commits will be created on the usage invoice frequency. If provided: - The
2533
3454
  # period defined in the duration will correspond to this frequency. - Commits will
2534
- # be created aligned with the recurring commit's start_date rather than the usage
3455
+ # be created aligned with the recurring commit's starting_at rather than the usage
2535
3456
  # invoice dates.
2536
3457
  #
2537
3458
  # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::RecurrenceFrequency, nil]
@@ -2546,7 +3467,16 @@ module MetronomeSDK
2546
3467
  # @return [Float, nil]
2547
3468
  optional :rollover_fraction, Float
2548
3469
 
2549
- # @!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)
3470
+ # @!attribute specifiers
3471
+ # List of filters that determine what kind of customer usage draws down a commit
3472
+ # or credit. A customer's usage needs to meet the condition of at least one of the
3473
+ # specifiers to contribute to a commit's or credit's drawdown.
3474
+ #
3475
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier>, nil]
3476
+ optional :specifiers,
3477
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier] }
3478
+
3479
+ # @!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)
2550
3480
  # Some parameter documentations has been truncated, see
2551
3481
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit} for
2552
3482
  # more details.
@@ -2580,13 +3510,12 @@ module MetronomeSDK
2580
3510
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
2581
3511
  #
2582
3512
  # @param proration [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
2583
- # ...
2584
3513
  #
2585
3514
  # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
2586
- # ...
2587
3515
  #
2588
3516
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
2589
- # ...
3517
+ #
3518
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2590
3519
 
2591
3520
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit#access_amount
2592
3521
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -2703,7 +3632,7 @@ module MetronomeSDK
2703
3632
  # The frequency at which the recurring commits will be created. If not provided: -
2704
3633
  # The commits will be created on the usage invoice frequency. If provided: - The
2705
3634
  # period defined in the duration will correspond to this frequency. - Commits will
2706
- # be created aligned with the recurring commit's start_date rather than the usage
3635
+ # be created aligned with the recurring commit's starting_at rather than the usage
2707
3636
  # invoice dates.
2708
3637
  #
2709
3638
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit#recurrence_frequency
@@ -2718,6 +3647,44 @@ module MetronomeSDK
2718
3647
  # @!method self.values
2719
3648
  # @return [Array<Symbol>]
2720
3649
  end
3650
+
3651
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
3652
+ # @!attribute presentation_group_values
3653
+ #
3654
+ # @return [Hash{Symbol=>String}, nil]
3655
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3656
+
3657
+ # @!attribute pricing_group_values
3658
+ #
3659
+ # @return [Hash{Symbol=>String}, nil]
3660
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3661
+
3662
+ # @!attribute product_id
3663
+ # If provided, the specifier will only apply to the product with the specified ID.
3664
+ #
3665
+ # @return [String, nil]
3666
+ optional :product_id, String
3667
+
3668
+ # @!attribute product_tags
3669
+ # If provided, the specifier will only apply to products with all the specified
3670
+ # tags.
3671
+ #
3672
+ # @return [Array<String>, nil]
3673
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
3674
+
3675
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
3676
+ # Some parameter documentations has been truncated, see
3677
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier}
3678
+ # for more details.
3679
+ #
3680
+ # @param presentation_group_values [Hash{Symbol=>String}]
3681
+ #
3682
+ # @param pricing_group_values [Hash{Symbol=>String}]
3683
+ #
3684
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
3685
+ #
3686
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3687
+ end
2721
3688
  end
2722
3689
 
2723
3690
  class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
@@ -2900,12 +3867,10 @@ module MetronomeSDK
2900
3867
  # @param commit [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::Commit]
2901
3868
  #
2902
3869
  # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
2903
- # ...
2904
3870
  #
2905
3871
  # @param payment_gate_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig]
2906
3872
  #
2907
3873
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
2908
- # ...
2909
3874
 
2910
3875
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration#commit
2911
3876
  class Commit < MetronomeSDK::Internal::Type::BaseModel
@@ -2934,12 +3899,10 @@ module MetronomeSDK
2934
3899
  # for more details.
2935
3900
  #
2936
3901
  # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
2937
- # ...
2938
3902
  #
2939
3903
  # @param description [String]
2940
3904
  #
2941
3905
  # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
2942
- # ...
2943
3906
  end
2944
3907
 
2945
3908
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration#payment_gate_config
@@ -2976,12 +3939,10 @@ module MetronomeSDK
2976
3939
  # for more details.
2977
3940
  #
2978
3941
  # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
2979
- # ...
2980
3942
  #
2981
3943
  # @param stripe_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
2982
3944
  #
2983
3945
  # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
2984
- # ...
2985
3946
 
2986
3947
  # Gate access to the commit balance based on successful collection of payment.
2987
3948
  # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
@@ -3044,6 +4005,191 @@ module MetronomeSDK
3044
4005
  end
3045
4006
  end
3046
4007
  end
4008
+
4009
+ class Subscription < MetronomeSDK::Internal::Type::BaseModel
4010
+ # @!attribute collection_schedule
4011
+ #
4012
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::CollectionSchedule]
4013
+ required :collection_schedule,
4014
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::CollectionSchedule }
4015
+
4016
+ # @!attribute proration
4017
+ #
4018
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration]
4019
+ required :proration,
4020
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration }
4021
+
4022
+ # @!attribute quantity_schedule
4023
+ #
4024
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::QuantitySchedule>]
4025
+ required :quantity_schedule,
4026
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::QuantitySchedule] }
4027
+
4028
+ # @!attribute starting_at
4029
+ #
4030
+ # @return [Time]
4031
+ required :starting_at, Time
4032
+
4033
+ # @!attribute subscription_rate
4034
+ #
4035
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate]
4036
+ required :subscription_rate,
4037
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate }
4038
+
4039
+ # @!attribute id
4040
+ #
4041
+ # @return [String, nil]
4042
+ optional :id, String
4043
+
4044
+ # @!attribute custom_fields
4045
+ #
4046
+ # @return [Hash{Symbol=>String}, nil]
4047
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
4048
+
4049
+ # @!attribute description
4050
+ #
4051
+ # @return [String, nil]
4052
+ optional :description, String
4053
+
4054
+ # @!attribute ending_before
4055
+ #
4056
+ # @return [Time, nil]
4057
+ optional :ending_before, Time
4058
+
4059
+ # @!attribute fiat_credit_type_id
4060
+ #
4061
+ # @return [String, nil]
4062
+ optional :fiat_credit_type_id, String
4063
+
4064
+ # @!attribute name
4065
+ #
4066
+ # @return [String, nil]
4067
+ optional :name, String
4068
+
4069
+ # @!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)
4070
+ # @param collection_schedule [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::CollectionSchedule]
4071
+ # @param proration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration]
4072
+ # @param quantity_schedule [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::QuantitySchedule>]
4073
+ # @param starting_at [Time]
4074
+ # @param subscription_rate [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate]
4075
+ # @param id [String]
4076
+ # @param custom_fields [Hash{Symbol=>String}]
4077
+ # @param description [String]
4078
+ # @param ending_before [Time]
4079
+ # @param fiat_credit_type_id [String]
4080
+ # @param name [String]
4081
+
4082
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription#collection_schedule
4083
+ module CollectionSchedule
4084
+ extend MetronomeSDK::Internal::Type::Enum
4085
+
4086
+ ADVANCE = :ADVANCE
4087
+ ARREARS = :ARREARS
4088
+
4089
+ # @!method self.values
4090
+ # @return [Array<Symbol>]
4091
+ end
4092
+
4093
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription#proration
4094
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
4095
+ # @!attribute invoice_behavior
4096
+ #
4097
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration::InvoiceBehavior]
4098
+ required :invoice_behavior,
4099
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration::InvoiceBehavior }
4100
+
4101
+ # @!attribute is_prorated
4102
+ #
4103
+ # @return [Boolean]
4104
+ required :is_prorated, MetronomeSDK::Internal::Type::Boolean
4105
+
4106
+ # @!method initialize(invoice_behavior:, is_prorated:)
4107
+ # @param invoice_behavior [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration::InvoiceBehavior]
4108
+ # @param is_prorated [Boolean]
4109
+
4110
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration#invoice_behavior
4111
+ module InvoiceBehavior
4112
+ extend MetronomeSDK::Internal::Type::Enum
4113
+
4114
+ BILL_IMMEDIATELY = :BILL_IMMEDIATELY
4115
+ BILL_ON_NEXT_COLLECTION_DATE = :BILL_ON_NEXT_COLLECTION_DATE
4116
+
4117
+ # @!method self.values
4118
+ # @return [Array<Symbol>]
4119
+ end
4120
+ end
4121
+
4122
+ class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
4123
+ # @!attribute quantity
4124
+ #
4125
+ # @return [Float]
4126
+ required :quantity, Float
4127
+
4128
+ # @!attribute starting_at
4129
+ #
4130
+ # @return [Time]
4131
+ required :starting_at, Time
4132
+
4133
+ # @!attribute ending_before
4134
+ #
4135
+ # @return [Time, nil]
4136
+ optional :ending_before, Time
4137
+
4138
+ # @!method initialize(quantity:, starting_at:, ending_before: nil)
4139
+ # @param quantity [Float]
4140
+ # @param starting_at [Time]
4141
+ # @param ending_before [Time]
4142
+ end
4143
+
4144
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription#subscription_rate
4145
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
4146
+ # @!attribute billing_frequency
4147
+ #
4148
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::BillingFrequency]
4149
+ required :billing_frequency,
4150
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::BillingFrequency }
4151
+
4152
+ # @!attribute product
4153
+ #
4154
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::Product]
4155
+ required :product,
4156
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::Product }
4157
+
4158
+ # @!method initialize(billing_frequency:, product:)
4159
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::BillingFrequency]
4160
+ # @param product [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::Product]
4161
+
4162
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate#billing_frequency
4163
+ module BillingFrequency
4164
+ extend MetronomeSDK::Internal::Type::Enum
4165
+
4166
+ MONTHLY = :MONTHLY
4167
+ QUARTERLY = :QUARTERLY
4168
+ ANNUAL = :ANNUAL
4169
+ WEEKLY = :WEEKLY
4170
+
4171
+ # @!method self.values
4172
+ # @return [Array<Symbol>]
4173
+ end
4174
+
4175
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate#product
4176
+ class Product < MetronomeSDK::Internal::Type::BaseModel
4177
+ # @!attribute id
4178
+ #
4179
+ # @return [String]
4180
+ required :id, String
4181
+
4182
+ # @!attribute name
4183
+ #
4184
+ # @return [String]
4185
+ required :name, String
4186
+
4187
+ # @!method initialize(id:, name:)
4188
+ # @param id [String]
4189
+ # @param name [String]
4190
+ end
4191
+ end
4192
+ end
3047
4193
  end
3048
4194
  end
3049
4195
  end