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

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 (417) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +56 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  7. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  8. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  9. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  10. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  11. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  12. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  14. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  15. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  16. data/lib/metronome_sdk/internal/util.rb +8 -9
  17. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  18. data/lib/metronome_sdk/models/commit.rb +1053 -0
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +2043 -0
  20. data/lib/metronome_sdk/models/credit.rb +677 -0
  21. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  22. data/lib/metronome_sdk/models/discount.rb +68 -0
  23. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  24. data/lib/metronome_sdk/models/id.rb +15 -0
  25. data/lib/metronome_sdk/models/override.rb +381 -0
  26. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  27. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  28. data/lib/metronome_sdk/models/rate.rb +101 -0
  29. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  30. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  31. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  32. data/lib/metronome_sdk/models/tier.rb +21 -0
  33. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  34. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  35. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  37. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  39. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  40. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  41. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  42. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  43. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  45. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  46. data/lib/metronome_sdk/models/v1/contract_create_params.rb +792 -104
  47. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  49. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  50. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  54. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  55. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  57. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  58. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  59. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  60. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  61. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  62. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  63. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  64. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  65. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  81. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  82. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  83. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  85. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  86. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  87. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  88. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  89. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  90. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  91. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  92. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  93. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  94. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  95. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  96. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  97. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  98. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  99. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  100. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  101. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  102. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  103. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +9 -1
  105. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  106. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  108. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +9 -1
  109. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  110. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  111. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  112. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  113. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  114. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  115. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  116. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  117. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  118. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  119. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  120. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  121. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  122. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  123. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  124. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  125. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  126. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  127. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  129. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  130. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1127 -105
  131. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  132. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +577 -643
  133. data/lib/metronome_sdk/models/v2/contract_list_response.rb +917 -746
  134. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +917 -748
  135. data/lib/metronome_sdk/models.rb +36 -4
  136. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  137. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  138. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  139. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  140. data/lib/metronome_sdk/resources/v1/contracts.rb +11 -5
  141. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  142. data/lib/metronome_sdk/resources/v1/customers/commits.rb +5 -3
  143. data/lib/metronome_sdk/resources/v1/customers/credits.rb +3 -1
  144. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  145. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  146. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  147. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  148. data/lib/metronome_sdk/version.rb +1 -1
  149. data/lib/metronome_sdk.rb +31 -2
  150. data/rbi/metronome_sdk/errors.rbi +16 -0
  151. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  152. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  153. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  154. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  155. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  156. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  157. data/rbi/metronome_sdk/models/commit.rbi +2046 -0
  158. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +4260 -0
  159. data/rbi/metronome_sdk/models/credit.rbi +1314 -0
  160. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  161. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  162. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  163. data/rbi/metronome_sdk/models/id.rbi +23 -0
  164. data/rbi/metronome_sdk/models/override.rbi +675 -0
  165. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  166. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  167. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  168. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  169. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  170. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  171. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  172. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  173. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  174. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  175. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  176. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  177. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  178. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  179. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  180. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  181. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  182. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  183. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  184. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  185. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1738 -210
  186. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  187. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  188. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  189. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  190. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  191. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  192. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  193. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  194. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  195. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  199. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  201. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  202. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  203. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  204. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  214. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  215. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  216. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  217. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  218. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  219. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  220. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  221. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  222. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  223. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  224. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  225. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  226. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  227. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  228. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  229. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  230. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  231. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  232. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  233. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  234. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  235. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  236. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  237. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  238. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  239. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  240. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  241. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  242. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  243. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +11 -0
  244. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  245. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  246. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  247. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +11 -0
  248. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  249. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  250. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  251. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  252. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  253. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  254. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  255. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  256. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  257. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  258. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  259. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  260. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  261. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  262. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  263. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  264. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  265. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  266. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  267. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  268. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  269. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +2463 -206
  270. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  271. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1381 -1550
  272. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +2017 -1466
  273. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +2017 -1466
  274. data/rbi/metronome_sdk/models.rbi +32 -0
  275. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  276. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  277. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  278. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  279. data/rbi/metronome_sdk/resources/v1/contracts.rbi +13 -4
  280. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  281. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +9 -4
  282. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +3 -0
  283. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  284. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  285. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  286. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  287. data/sig/metronome_sdk/errors.rbs +9 -0
  288. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  289. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  290. data/sig/metronome_sdk/models/commit.rbs +1063 -0
  291. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1828 -0
  292. data/sig/metronome_sdk/models/credit.rbs +686 -0
  293. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  294. data/sig/metronome_sdk/models/discount.rbs +63 -0
  295. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  296. data/sig/metronome_sdk/models/id.rbs +13 -0
  297. data/sig/metronome_sdk/models/override.rbs +399 -0
  298. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  299. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  300. data/sig/metronome_sdk/models/rate.rbs +94 -0
  301. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  302. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  303. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  304. data/sig/metronome_sdk/models/tier.rbs +17 -0
  305. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  308. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  309. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  310. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  311. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  312. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  313. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  314. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  315. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  317. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +694 -84
  318. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  319. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  320. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  321. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  322. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  323. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  324. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  325. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  326. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  327. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  328. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  330. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  331. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  333. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  334. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  336. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  337. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  338. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  340. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  341. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  342. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  343. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  344. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  345. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  346. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  347. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  348. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  349. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  350. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  351. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  352. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  353. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  354. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  355. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  356. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  357. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  358. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  359. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  360. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  361. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  362. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  363. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  364. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  365. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  366. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  367. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  368. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  369. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  370. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  371. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  372. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  373. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  374. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +7 -0
  375. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  376. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  377. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  378. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +7 -0
  379. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  380. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  381. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  382. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  383. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  384. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  385. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  387. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  388. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  389. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  390. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  391. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  392. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  393. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  394. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  395. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  396. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  397. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  398. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  399. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  400. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +989 -77
  401. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  402. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +510 -655
  403. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +970 -809
  404. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +970 -809
  405. data/sig/metronome_sdk/models.rbs +32 -0
  406. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  407. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  408. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  409. data/sig/metronome_sdk/resources/v1/contracts.rbs +4 -1
  410. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  411. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  412. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  413. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  414. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  415. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  416. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  417. metadata +97 -10
@@ -49,9 +49,11 @@ module MetronomeSDK
49
49
 
50
50
  # @!attribute scheduled_charges
51
51
  #
52
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge>]
52
+ # @return [Array<MetronomeSDK::Models::ScheduledCharge>]
53
53
  required :scheduled_charges,
54
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge] }
54
+ -> {
55
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ScheduledCharge]
56
+ }
55
57
 
56
58
  # @!attribute starting_at
57
59
  #
@@ -102,15 +104,29 @@ module MetronomeSDK
102
104
  # @!attribute discounts
103
105
  # This field's availability is dependent on your client's configuration.
104
106
  #
105
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Discount>, nil]
106
- optional :discounts,
107
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Discount] }
107
+ # @return [Array<MetronomeSDK::Models::Discount>, nil]
108
+ optional :discounts, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Discount] }
108
109
 
109
110
  # @!attribute ending_before
110
111
  #
111
112
  # @return [Time, nil]
112
113
  optional :ending_before, Time
113
114
 
115
+ # @!attribute has_more
116
+ # Indicates whether there are more items than the limit for this endpoint. Use the
117
+ # respective list endpoints to get the full lists.
118
+ #
119
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::HasMore, nil]
120
+ optional :has_more, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HasMore }
121
+
122
+ # @!attribute hierarchy_configuration
123
+ # Either a **parent** configuration with a list of children or a **child**
124
+ # configuration with a single parent.
125
+ #
126
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration, nil]
127
+ optional :hierarchy_configuration,
128
+ union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration }
129
+
114
130
  # @!attribute multiplier_override_prioritization
115
131
  # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
116
132
  # prices automatically. EXPLICIT prioritization requires specifying priorities for
@@ -143,12 +159,20 @@ module MetronomeSDK
143
159
  optional :prepaid_balance_threshold_configuration,
144
160
  -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration }
145
161
 
162
+ # @!attribute priority
163
+ # Priority of the contract.
164
+ #
165
+ # @return [Float, nil]
166
+ optional :priority, Float
167
+
146
168
  # @!attribute professional_services
147
169
  # This field's availability is dependent on your client's configuration.
148
170
  #
149
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ProfessionalService>, nil]
171
+ # @return [Array<MetronomeSDK::Models::ProService>, nil]
150
172
  optional :professional_services,
151
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::ProfessionalService] }
173
+ -> {
174
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ProService]
175
+ }
152
176
 
153
177
  # @!attribute rate_card_id
154
178
  #
@@ -198,7 +222,7 @@ module MetronomeSDK
198
222
  -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration }
199
223
 
200
224
  # @!attribute subscriptions
201
- # (beta) List of subscriptions on the contract.
225
+ # List of subscriptions on the contract.
202
226
  #
203
227
  # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription>, nil]
204
228
  optional :subscriptions,
@@ -217,7 +241,7 @@ module MetronomeSDK
217
241
  # @return [String, nil]
218
242
  optional :uniqueness_key, String
219
243
 
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)
244
+ # @!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, has_more: nil, hierarchy_configuration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, prepaid_balance_threshold_configuration: nil, priority: 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)
221
245
  # Some parameter documentations has been truncated, see
222
246
  # {MetronomeSDK::Models::V2::ContractListResponse::Data} for more details.
223
247
  #
@@ -233,7 +257,7 @@ module MetronomeSDK
233
257
  #
234
258
  # @param overrides [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override>]
235
259
  #
236
- # @param scheduled_charges [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge>]
260
+ # @param scheduled_charges [Array<MetronomeSDK::Models::ScheduledCharge>]
237
261
  #
238
262
  # @param starting_at [Time]
239
263
  #
@@ -251,10 +275,14 @@ module MetronomeSDK
251
275
  #
252
276
  # @param customer_billing_provider_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration] This field's availability is dependent on your client's configuration.
253
277
  #
254
- # @param discounts [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Discount>] This field's availability is dependent on your client's configuration.
278
+ # @param discounts [Array<MetronomeSDK::Models::Discount>] This field's availability is dependent on your client's configuration.
255
279
  #
256
280
  # @param ending_before [Time]
257
281
  #
282
+ # @param has_more [MetronomeSDK::Models::V2::ContractListResponse::Data::HasMore] Indicates whether there are more items than the limit for this endpoint. Use the
283
+ #
284
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration] Either a **parent** configuration with a list of children or a **child** configu
285
+ #
258
286
  # @param multiplier_override_prioritization [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::MultiplierOverridePrioritization] Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list price
259
287
  #
260
288
  # @param name [String]
@@ -265,7 +293,9 @@ module MetronomeSDK
265
293
  #
266
294
  # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration]
267
295
  #
268
- # @param professional_services [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ProfessionalService>] This field's availability is dependent on your client's configuration.
296
+ # @param priority [Float] Priority of the contract.
297
+ #
298
+ # @param professional_services [Array<MetronomeSDK::Models::ProService>] This field's availability is dependent on your client's configuration.
269
299
  #
270
300
  # @param rate_card_id [String]
271
301
  #
@@ -281,7 +311,7 @@ module MetronomeSDK
281
311
  #
282
312
  # @param spend_threshold_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration]
283
313
  #
284
- # @param subscriptions [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription>] (beta) List of subscriptions on the contract.
314
+ # @param subscriptions [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription>] List of subscriptions on the contract.
285
315
  #
286
316
  # @param total_contract_value [Float]
287
317
  #
@@ -307,9 +337,8 @@ module MetronomeSDK
307
337
  # The schedule that the customer will gain access to the credits purposed with
308
338
  # this commit.
309
339
  #
310
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule, nil]
311
- optional :access_schedule,
312
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule }
340
+ # @return [MetronomeSDK::Models::ScheduleDuration, nil]
341
+ optional :access_schedule, -> { MetronomeSDK::ScheduleDuration }
313
342
 
314
343
  # @!attribute applicable_contract_ids
315
344
  #
@@ -359,6 +388,13 @@ module MetronomeSDK
359
388
  # @return [String, nil]
360
389
  optional :description, String
361
390
 
391
+ # @!attribute hierarchy_configuration
392
+ # Optional configuration for commit hierarchy access control
393
+ #
394
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration, nil]
395
+ optional :hierarchy_configuration,
396
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration }
397
+
362
398
  # @!attribute invoice_contract
363
399
  # The contract that this commit will be billed on.
364
400
  #
@@ -369,15 +405,14 @@ module MetronomeSDK
369
405
  # @!attribute invoice_schedule
370
406
  # The schedule that the customer will be invoiced for this commit.
371
407
  #
372
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule, nil]
373
- optional :invoice_schedule,
374
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule }
408
+ # @return [MetronomeSDK::Models::SchedulePointInTime, nil]
409
+ optional :invoice_schedule, -> { MetronomeSDK::SchedulePointInTime }
375
410
 
376
411
  # @!attribute ledger
377
412
  # A list of ordered events that impact the balance of a commit. For example, an
378
413
  # invoice deduction or a rollover.
379
414
  #
380
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12>, nil]
415
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>, nil]
381
416
  optional :ledger,
382
417
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger] }
383
418
 
@@ -430,7 +465,7 @@ module MetronomeSDK
430
465
  optional :specifiers,
431
466
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Specifier] }
432
467
 
433
- # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, invoice_contract: nil, invoice_schedule: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil)
468
+ # @!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, hierarchy_configuration: 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)
434
469
  # Some parameter documentations has been truncated, see
435
470
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::Commit} for more details.
436
471
  #
@@ -440,7 +475,7 @@ module MetronomeSDK
440
475
  #
441
476
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Type]
442
477
  #
443
- # @param access_schedule [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule] The schedule that the customer will gain access to the credits purposed with thi
478
+ # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits purposed with thi
444
479
  #
445
480
  # @param applicable_contract_ids [Array<String>]
446
481
  #
@@ -458,11 +493,13 @@ module MetronomeSDK
458
493
  #
459
494
  # @param description [String]
460
495
  #
496
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration] Optional configuration for commit hierarchy access control
497
+ #
461
498
  # @param invoice_contract [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceContract] The contract that this commit will be billed on.
462
499
  #
463
- # @param invoice_schedule [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule] The schedule that the customer will be invoiced for this commit.
500
+ # @param invoice_schedule [MetronomeSDK::Models::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
464
501
  #
465
- # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12>] A list of ordered events that impact the balance of a commit. For example, an in
502
+ # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>] A list of ordered events that impact the balance of a commit. For example, an in
466
503
  #
467
504
  # @param name [String]
468
505
  #
@@ -508,73 +545,6 @@ module MetronomeSDK
508
545
  # @return [Array<Symbol>]
509
546
  end
510
547
 
511
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#access_schedule
512
- class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
513
- # @!attribute schedule_items
514
- #
515
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::ScheduleItem>]
516
- required :schedule_items,
517
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::ScheduleItem] }
518
-
519
- # @!attribute credit_type
520
- #
521
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::CreditType, nil]
522
- optional :credit_type,
523
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::CreditType }
524
-
525
- # @!method initialize(schedule_items:, credit_type: nil)
526
- # The schedule that the customer will gain access to the credits purposed with
527
- # this commit.
528
- #
529
- # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::ScheduleItem>]
530
- # @param credit_type [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::CreditType]
531
-
532
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
533
- # @!attribute id
534
- #
535
- # @return [String]
536
- required :id, String
537
-
538
- # @!attribute amount
539
- #
540
- # @return [Float]
541
- required :amount, Float
542
-
543
- # @!attribute ending_before
544
- #
545
- # @return [Time]
546
- required :ending_before, Time
547
-
548
- # @!attribute starting_at
549
- #
550
- # @return [Time]
551
- required :starting_at, Time
552
-
553
- # @!method initialize(id:, amount:, ending_before:, starting_at:)
554
- # @param id [String]
555
- # @param amount [Float]
556
- # @param ending_before [Time]
557
- # @param starting_at [Time]
558
- end
559
-
560
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule#credit_type
561
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
562
- # @!attribute id
563
- #
564
- # @return [String]
565
- required :id, String
566
-
567
- # @!attribute name
568
- #
569
- # @return [String]
570
- required :name, String
571
-
572
- # @!method initialize(id:, name:)
573
- # @param id [String]
574
- # @param name [String]
575
- end
576
- end
577
-
578
548
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#contract
579
549
  class Contract < MetronomeSDK::Internal::Type::BaseModel
580
550
  # @!attribute id
@@ -586,127 +556,148 @@ module MetronomeSDK
586
556
  # @param id [String]
587
557
  end
588
558
 
589
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#invoice_contract
590
- class InvoiceContract < MetronomeSDK::Internal::Type::BaseModel
591
- # @!attribute id
559
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#hierarchy_configuration
560
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
561
+ # @!attribute child_access
592
562
  #
593
- # @return [String]
594
- required :id, String
563
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
564
+ required :child_access,
565
+ union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess }
595
566
 
596
- # @!method initialize(id:)
597
- # The contract that this commit will be billed on.
567
+ # @!method initialize(child_access:)
568
+ # Optional configuration for commit hierarchy access control
598
569
  #
599
- # @param id [String]
600
- end
570
+ # @param child_access [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
601
571
 
602
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#invoice_schedule
603
- class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
604
- # @!attribute credit_type
605
- #
606
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::CreditType, nil]
607
- optional :credit_type,
608
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::CreditType }
572
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration#child_access
573
+ module ChildAccess
574
+ extend MetronomeSDK::Internal::Type::Union
609
575
 
610
- # @!attribute schedule_items
611
- #
612
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::ScheduleItem>, nil]
613
- optional :schedule_items,
614
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::ScheduleItem] }
576
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
615
577
 
616
- # @!method initialize(credit_type: nil, schedule_items: nil)
617
- # The schedule that the customer will be invoiced for this commit.
618
- #
619
- # @param credit_type [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::CreditType]
620
- # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::ScheduleItem>]
578
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
621
579
 
622
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule#credit_type
623
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
624
- # @!attribute id
625
- #
626
- # @return [String]
627
- required :id, String
580
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
628
581
 
629
- # @!attribute name
630
- #
631
- # @return [String]
632
- required :name, String
582
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
583
+ # @!attribute type
584
+ #
585
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
586
+ required :type,
587
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
633
588
 
634
- # @!method initialize(id:, name:)
635
- # @param id [String]
636
- # @param name [String]
637
- end
589
+ # @!method initialize(type:)
590
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
638
591
 
639
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
640
- # @!attribute id
641
- #
642
- # @return [String]
643
- required :id, String
592
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
593
+ module Type
594
+ extend MetronomeSDK::Internal::Type::Enum
644
595
 
645
- # @!attribute amount
646
- #
647
- # @return [Float]
648
- required :amount, Float
596
+ ALL = :ALL
649
597
 
650
- # @!attribute invoice_id
651
- #
652
- # @return [String]
653
- required :invoice_id, String
598
+ # @!method self.values
599
+ # @return [Array<Symbol>]
600
+ end
601
+ end
654
602
 
655
- # @!attribute quantity
656
- #
657
- # @return [Float]
658
- required :quantity, Float
603
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
604
+ # @!attribute type
605
+ #
606
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
607
+ required :type,
608
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
659
609
 
660
- # @!attribute timestamp
661
- #
662
- # @return [Time]
663
- required :timestamp, Time
610
+ # @!method initialize(type:)
611
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
664
612
 
665
- # @!attribute unit_price
666
- #
667
- # @return [Float]
668
- required :unit_price, Float
613
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
614
+ module Type
615
+ extend MetronomeSDK::Internal::Type::Enum
669
616
 
670
- # @!method initialize(id:, amount:, invoice_id:, quantity:, timestamp:, unit_price:)
671
- # @param id [String]
672
- # @param amount [Float]
673
- # @param invoice_id [String]
674
- # @param quantity [Float]
675
- # @param timestamp [Time]
676
- # @param unit_price [Float]
617
+ NONE = :NONE
618
+
619
+ # @!method self.values
620
+ # @return [Array<Symbol>]
621
+ end
622
+ end
623
+
624
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
625
+ # @!attribute contract_ids
626
+ #
627
+ # @return [Array<String>]
628
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
629
+
630
+ # @!attribute type
631
+ #
632
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
633
+ required :type,
634
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
635
+
636
+ # @!method initialize(contract_ids:, type:)
637
+ # @param contract_ids [Array<String>]
638
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
639
+
640
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
641
+ module Type
642
+ extend MetronomeSDK::Internal::Type::Enum
643
+
644
+ CONTRACT_IDS = :CONTRACT_IDS
645
+
646
+ # @!method self.values
647
+ # @return [Array<Symbol>]
648
+ end
649
+ end
650
+
651
+ # @!method self.variants
652
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
677
653
  end
678
654
  end
679
655
 
656
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#invoice_contract
657
+ class InvoiceContract < MetronomeSDK::Internal::Type::BaseModel
658
+ # @!attribute id
659
+ #
660
+ # @return [String]
661
+ required :id, String
662
+
663
+ # @!method initialize(id:)
664
+ # The contract that this commit will be billed on.
665
+ #
666
+ # @param id [String]
667
+ end
668
+
680
669
  module Ledger
681
670
  extend MetronomeSDK::Internal::Type::Union
682
671
 
683
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0 }
672
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry }
673
+
674
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry }
684
675
 
685
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1 }
676
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry }
686
677
 
687
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2 }
678
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry }
688
679
 
689
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3 }
680
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry }
690
681
 
691
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4 }
682
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry }
692
683
 
693
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5 }
684
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry }
694
685
 
695
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6 }
686
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry }
696
687
 
697
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7 }
688
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry }
698
689
 
699
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8 }
690
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry }
700
691
 
701
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9 }
692
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry }
702
693
 
703
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10 }
694
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry }
704
695
 
705
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11 }
696
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry }
706
697
 
707
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12 }
698
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry }
708
699
 
709
- class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
700
+ class PrepaidCommitSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
710
701
  # @!attribute amount
711
702
  #
712
703
  # @return [Float]
@@ -724,17 +715,17 @@ module MetronomeSDK
724
715
 
725
716
  # @!attribute type
726
717
  #
727
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::Type]
718
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
728
719
  required :type,
729
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::Type }
720
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type }
730
721
 
731
722
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
732
723
  # @param amount [Float]
733
724
  # @param segment_id [String]
734
725
  # @param timestamp [Time]
735
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::Type]
726
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
736
727
 
737
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0#type
728
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry#type
738
729
  module Type
739
730
  extend MetronomeSDK::Internal::Type::Enum
740
731
 
@@ -745,7 +736,7 @@ module MetronomeSDK
745
736
  end
746
737
  end
747
738
 
748
- class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
739
+ class PrepaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
749
740
  # @!attribute amount
750
741
  #
751
742
  # @return [Float]
@@ -768,18 +759,18 @@ module MetronomeSDK
768
759
 
769
760
  # @!attribute type
770
761
  #
771
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::Type]
762
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
772
763
  required :type,
773
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::Type }
764
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
774
765
 
775
766
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
776
767
  # @param amount [Float]
777
768
  # @param invoice_id [String]
778
769
  # @param segment_id [String]
779
770
  # @param timestamp [Time]
780
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::Type]
771
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
781
772
 
782
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1#type
773
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry#type
783
774
  module Type
784
775
  extend MetronomeSDK::Internal::Type::Enum
785
776
 
@@ -790,7 +781,7 @@ module MetronomeSDK
790
781
  end
791
782
  end
792
783
 
793
- class UnionMember2 < MetronomeSDK::Internal::Type::BaseModel
784
+ class PrepaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
794
785
  # @!attribute amount
795
786
  #
796
787
  # @return [Float]
@@ -813,18 +804,18 @@ module MetronomeSDK
813
804
 
814
805
  # @!attribute type
815
806
  #
816
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::Type]
807
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
817
808
  required :type,
818
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::Type }
809
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type }
819
810
 
820
811
  # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
821
812
  # @param amount [Float]
822
813
  # @param new_contract_id [String]
823
814
  # @param segment_id [String]
824
815
  # @param timestamp [Time]
825
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::Type]
816
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
826
817
 
827
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2#type
818
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry#type
828
819
  module Type
829
820
  extend MetronomeSDK::Internal::Type::Enum
830
821
 
@@ -835,7 +826,7 @@ module MetronomeSDK
835
826
  end
836
827
  end
837
828
 
838
- class UnionMember3 < MetronomeSDK::Internal::Type::BaseModel
829
+ class PrepaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
839
830
  # @!attribute amount
840
831
  #
841
832
  # @return [Float]
@@ -853,17 +844,17 @@ module MetronomeSDK
853
844
 
854
845
  # @!attribute type
855
846
  #
856
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::Type]
847
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
857
848
  required :type,
858
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::Type }
849
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type }
859
850
 
860
851
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
861
852
  # @param amount [Float]
862
853
  # @param segment_id [String]
863
854
  # @param timestamp [Time]
864
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::Type]
855
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
865
856
 
866
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3#type
857
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry#type
867
858
  module Type
868
859
  extend MetronomeSDK::Internal::Type::Enum
869
860
 
@@ -874,7 +865,7 @@ module MetronomeSDK
874
865
  end
875
866
  end
876
867
 
877
- class UnionMember4 < MetronomeSDK::Internal::Type::BaseModel
868
+ class PrepaidCommitCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
878
869
  # @!attribute amount
879
870
  #
880
871
  # @return [Float]
@@ -897,18 +888,18 @@ module MetronomeSDK
897
888
 
898
889
  # @!attribute type
899
890
  #
900
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::Type]
891
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
901
892
  required :type,
902
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::Type }
893
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type }
903
894
 
904
895
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
905
896
  # @param amount [Float]
906
897
  # @param invoice_id [String]
907
898
  # @param segment_id [String]
908
899
  # @param timestamp [Time]
909
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::Type]
900
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
910
901
 
911
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4#type
902
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry#type
912
903
  module Type
913
904
  extend MetronomeSDK::Internal::Type::Enum
914
905
 
@@ -919,7 +910,7 @@ module MetronomeSDK
919
910
  end
920
911
  end
921
912
 
922
- class UnionMember5 < MetronomeSDK::Internal::Type::BaseModel
913
+ class PrepaidCommitCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
923
914
  # @!attribute amount
924
915
  #
925
916
  # @return [Float]
@@ -942,18 +933,18 @@ module MetronomeSDK
942
933
 
943
934
  # @!attribute type
944
935
  #
945
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::Type]
936
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
946
937
  required :type,
947
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::Type }
938
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type }
948
939
 
949
940
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
950
941
  # @param amount [Float]
951
942
  # @param invoice_id [String]
952
943
  # @param segment_id [String]
953
944
  # @param timestamp [Time]
954
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::Type]
945
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
955
946
 
956
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5#type
947
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry#type
957
948
  module Type
958
949
  extend MetronomeSDK::Internal::Type::Enum
959
950
 
@@ -964,12 +955,17 @@ module MetronomeSDK
964
955
  end
965
956
  end
966
957
 
967
- class UnionMember6 < MetronomeSDK::Internal::Type::BaseModel
958
+ class PrepaidCommitSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
968
959
  # @!attribute amount
969
960
  #
970
961
  # @return [Float]
971
962
  required :amount, Float
972
963
 
964
+ # @!attribute segment_id
965
+ #
966
+ # @return [String]
967
+ required :segment_id, String
968
+
973
969
  # @!attribute timestamp
974
970
  #
975
971
  # @return [Time]
@@ -977,16 +973,50 @@ module MetronomeSDK
977
973
 
978
974
  # @!attribute type
979
975
  #
980
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::Type]
976
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type]
981
977
  required :type,
982
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::Type }
978
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type }
979
+
980
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
981
+ # @param amount [Float]
982
+ # @param segment_id [String]
983
+ # @param timestamp [Time]
984
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type]
985
+
986
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry#type
987
+ module Type
988
+ extend MetronomeSDK::Internal::Type::Enum
989
+
990
+ PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT = :PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT
991
+
992
+ # @!method self.values
993
+ # @return [Array<Symbol>]
994
+ end
995
+ end
996
+
997
+ class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
998
+ # @!attribute amount
999
+ #
1000
+ # @return [Float]
1001
+ required :amount, Float
1002
+
1003
+ # @!attribute timestamp
1004
+ #
1005
+ # @return [Time]
1006
+ required :timestamp, Time
1007
+
1008
+ # @!attribute type
1009
+ #
1010
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
1011
+ required :type,
1012
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type }
983
1013
 
984
1014
  # @!method initialize(amount:, timestamp:, type:)
985
1015
  # @param amount [Float]
986
1016
  # @param timestamp [Time]
987
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::Type]
1017
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
988
1018
 
989
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6#type
1019
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry#type
990
1020
  module Type
991
1021
  extend MetronomeSDK::Internal::Type::Enum
992
1022
 
@@ -997,7 +1027,7 @@ module MetronomeSDK
997
1027
  end
998
1028
  end
999
1029
 
1000
- class UnionMember7 < MetronomeSDK::Internal::Type::BaseModel
1030
+ class PostpaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1001
1031
  # @!attribute amount
1002
1032
  #
1003
1033
  # @return [Float]
@@ -1020,18 +1050,18 @@ module MetronomeSDK
1020
1050
 
1021
1051
  # @!attribute type
1022
1052
  #
1023
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::Type]
1053
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1024
1054
  required :type,
1025
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::Type }
1055
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
1026
1056
 
1027
1057
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1028
1058
  # @param amount [Float]
1029
1059
  # @param invoice_id [String]
1030
1060
  # @param segment_id [String]
1031
1061
  # @param timestamp [Time]
1032
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::Type]
1062
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1033
1063
 
1034
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7#type
1064
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry#type
1035
1065
  module Type
1036
1066
  extend MetronomeSDK::Internal::Type::Enum
1037
1067
 
@@ -1042,7 +1072,7 @@ module MetronomeSDK
1042
1072
  end
1043
1073
  end
1044
1074
 
1045
- class UnionMember8 < MetronomeSDK::Internal::Type::BaseModel
1075
+ class PostpaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1046
1076
  # @!attribute amount
1047
1077
  #
1048
1078
  # @return [Float]
@@ -1065,18 +1095,18 @@ module MetronomeSDK
1065
1095
 
1066
1096
  # @!attribute type
1067
1097
  #
1068
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::Type]
1098
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
1069
1099
  required :type,
1070
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::Type }
1100
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type }
1071
1101
 
1072
1102
  # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
1073
1103
  # @param amount [Float]
1074
1104
  # @param new_contract_id [String]
1075
1105
  # @param segment_id [String]
1076
1106
  # @param timestamp [Time]
1077
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::Type]
1107
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
1078
1108
 
1079
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8#type
1109
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry#type
1080
1110
  module Type
1081
1111
  extend MetronomeSDK::Internal::Type::Enum
1082
1112
 
@@ -1087,7 +1117,7 @@ module MetronomeSDK
1087
1117
  end
1088
1118
  end
1089
1119
 
1090
- class UnionMember9 < MetronomeSDK::Internal::Type::BaseModel
1120
+ class PostpaidCommitTrueupLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1091
1121
  # @!attribute amount
1092
1122
  #
1093
1123
  # @return [Float]
@@ -1105,17 +1135,17 @@ module MetronomeSDK
1105
1135
 
1106
1136
  # @!attribute type
1107
1137
  #
1108
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::Type]
1138
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1109
1139
  required :type,
1110
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::Type }
1140
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type }
1111
1141
 
1112
1142
  # @!method initialize(amount:, invoice_id:, timestamp:, type:)
1113
1143
  # @param amount [Float]
1114
1144
  # @param invoice_id [String]
1115
1145
  # @param timestamp [Time]
1116
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::Type]
1146
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1117
1147
 
1118
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9#type
1148
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry#type
1119
1149
  module Type
1120
1150
  extend MetronomeSDK::Internal::Type::Enum
1121
1151
 
@@ -1126,7 +1156,7 @@ module MetronomeSDK
1126
1156
  end
1127
1157
  end
1128
1158
 
1129
- class UnionMember10 < MetronomeSDK::Internal::Type::BaseModel
1159
+ class PrepaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1130
1160
  # @!attribute amount
1131
1161
  #
1132
1162
  # @return [Float]
@@ -1144,17 +1174,17 @@ module MetronomeSDK
1144
1174
 
1145
1175
  # @!attribute type
1146
1176
  #
1147
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::Type]
1177
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
1148
1178
  required :type,
1149
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::Type }
1179
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type }
1150
1180
 
1151
1181
  # @!method initialize(amount:, reason:, timestamp:, type:)
1152
1182
  # @param amount [Float]
1153
1183
  # @param reason [String]
1154
1184
  # @param timestamp [Time]
1155
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::Type]
1185
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
1156
1186
 
1157
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10#type
1187
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry#type
1158
1188
  module Type
1159
1189
  extend MetronomeSDK::Internal::Type::Enum
1160
1190
 
@@ -1165,7 +1195,7 @@ module MetronomeSDK
1165
1195
  end
1166
1196
  end
1167
1197
 
1168
- class UnionMember11 < MetronomeSDK::Internal::Type::BaseModel
1198
+ class PostpaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1169
1199
  # @!attribute amount
1170
1200
  #
1171
1201
  # @return [Float]
@@ -1183,17 +1213,17 @@ module MetronomeSDK
1183
1213
 
1184
1214
  # @!attribute type
1185
1215
  #
1186
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::Type]
1216
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
1187
1217
  required :type,
1188
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::Type }
1218
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type }
1189
1219
 
1190
1220
  # @!method initialize(amount:, reason:, timestamp:, type:)
1191
1221
  # @param amount [Float]
1192
1222
  # @param reason [String]
1193
1223
  # @param timestamp [Time]
1194
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::Type]
1224
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
1195
1225
 
1196
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11#type
1226
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry#type
1197
1227
  module Type
1198
1228
  extend MetronomeSDK::Internal::Type::Enum
1199
1229
 
@@ -1204,7 +1234,7 @@ module MetronomeSDK
1204
1234
  end
1205
1235
  end
1206
1236
 
1207
- class UnionMember12 < MetronomeSDK::Internal::Type::BaseModel
1237
+ class PostpaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1208
1238
  # @!attribute amount
1209
1239
  #
1210
1240
  # @return [Float]
@@ -1217,16 +1247,16 @@ module MetronomeSDK
1217
1247
 
1218
1248
  # @!attribute type
1219
1249
  #
1220
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::Type]
1250
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
1221
1251
  required :type,
1222
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::Type }
1252
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type }
1223
1253
 
1224
1254
  # @!method initialize(amount:, timestamp:, type:)
1225
1255
  # @param amount [Float]
1226
1256
  # @param timestamp [Time]
1227
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::Type]
1257
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
1228
1258
 
1229
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12#type
1259
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry#type
1230
1260
  module Type
1231
1261
  extend MetronomeSDK::Internal::Type::Enum
1232
1262
 
@@ -1238,7 +1268,7 @@ module MetronomeSDK
1238
1268
  end
1239
1269
 
1240
1270
  # @!method self.variants
1241
- # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12)]
1271
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry)]
1242
1272
  end
1243
1273
 
1244
1274
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#rate_type
@@ -1490,9 +1520,8 @@ module MetronomeSDK
1490
1520
 
1491
1521
  # @!attribute credit_type
1492
1522
  #
1493
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::CreditType, nil]
1494
- optional :credit_type,
1495
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::CreditType }
1523
+ # @return [MetronomeSDK::Models::CreditTypeData, nil]
1524
+ optional :credit_type, -> { MetronomeSDK::CreditTypeData }
1496
1525
 
1497
1526
  # @!attribute custom_rate
1498
1527
  # Only set for CUSTOM rate_type. This field is interpreted by custom rate
@@ -1525,9 +1554,8 @@ module MetronomeSDK
1525
1554
  # @!attribute tiers
1526
1555
  # Only set for TIERED rate_type.
1527
1556
  #
1528
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::Tier>, nil]
1529
- optional :tiers,
1530
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::Tier] }
1557
+ # @return [Array<MetronomeSDK::Models::Tier>, nil]
1558
+ optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
1531
1559
 
1532
1560
  # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1533
1561
  # Some parameter documentations has been truncated, see
@@ -1536,7 +1564,7 @@ module MetronomeSDK
1536
1564
  #
1537
1565
  # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::RateType]
1538
1566
  #
1539
- # @param credit_type [MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::CreditType]
1567
+ # @param credit_type [MetronomeSDK::Models::CreditTypeData]
1540
1568
  #
1541
1569
  # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
1542
1570
  #
@@ -1546,7 +1574,7 @@ module MetronomeSDK
1546
1574
  #
1547
1575
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1548
1576
  #
1549
- # @param tiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::Tier>] Only set for TIERED rate_type.
1577
+ # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
1550
1578
 
1551
1579
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate#rate_type
1552
1580
  module RateType
@@ -1561,39 +1589,6 @@ module MetronomeSDK
1561
1589
  # @!method self.values
1562
1590
  # @return [Array<Symbol>]
1563
1591
  end
1564
-
1565
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate#credit_type
1566
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
1567
- # @!attribute id
1568
- #
1569
- # @return [String]
1570
- required :id, String
1571
-
1572
- # @!attribute name
1573
- #
1574
- # @return [String]
1575
- required :name, String
1576
-
1577
- # @!method initialize(id:, name:)
1578
- # @param id [String]
1579
- # @param name [String]
1580
- end
1581
-
1582
- class Tier < MetronomeSDK::Internal::Type::BaseModel
1583
- # @!attribute price
1584
- #
1585
- # @return [Float]
1586
- required :price, Float
1587
-
1588
- # @!attribute size
1589
- #
1590
- # @return [Float, nil]
1591
- optional :size, Float
1592
-
1593
- # @!method initialize(price:, size: nil)
1594
- # @param price [Float]
1595
- # @param size [Float]
1596
- end
1597
1592
  end
1598
1593
 
1599
1594
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override#product
@@ -1637,153 +1632,6 @@ module MetronomeSDK
1637
1632
  end
1638
1633
  end
1639
1634
 
1640
- class ScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
1641
- # @!attribute id
1642
- #
1643
- # @return [String]
1644
- required :id, String
1645
-
1646
- # @!attribute product
1647
- #
1648
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Product]
1649
- required :product, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Product }
1650
-
1651
- # @!attribute schedule
1652
- #
1653
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule]
1654
- required :schedule, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule }
1655
-
1656
- # @!attribute archived_at
1657
- #
1658
- # @return [Time, nil]
1659
- optional :archived_at, Time
1660
-
1661
- # @!attribute custom_fields
1662
- #
1663
- # @return [Hash{Symbol=>String}, nil]
1664
- optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
1665
-
1666
- # @!attribute name
1667
- # displayed on invoices
1668
- #
1669
- # @return [String, nil]
1670
- optional :name, String
1671
-
1672
- # @!attribute netsuite_sales_order_id
1673
- # This field's availability is dependent on your client's configuration.
1674
- #
1675
- # @return [String, nil]
1676
- optional :netsuite_sales_order_id, String
1677
-
1678
- # @!method initialize(id:, product:, schedule:, archived_at: nil, custom_fields: nil, name: nil, netsuite_sales_order_id: nil)
1679
- # @param id [String]
1680
- #
1681
- # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Product]
1682
- #
1683
- # @param schedule [MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule]
1684
- #
1685
- # @param archived_at [Time]
1686
- #
1687
- # @param custom_fields [Hash{Symbol=>String}]
1688
- #
1689
- # @param name [String] displayed on invoices
1690
- #
1691
- # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
1692
-
1693
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge#product
1694
- class Product < MetronomeSDK::Internal::Type::BaseModel
1695
- # @!attribute id
1696
- #
1697
- # @return [String]
1698
- required :id, String
1699
-
1700
- # @!attribute name
1701
- #
1702
- # @return [String]
1703
- required :name, String
1704
-
1705
- # @!method initialize(id:, name:)
1706
- # @param id [String]
1707
- # @param name [String]
1708
- end
1709
-
1710
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge#schedule
1711
- class Schedule < MetronomeSDK::Internal::Type::BaseModel
1712
- # @!attribute credit_type
1713
- #
1714
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::CreditType, nil]
1715
- optional :credit_type,
1716
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::CreditType }
1717
-
1718
- # @!attribute schedule_items
1719
- #
1720
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::ScheduleItem>, nil]
1721
- optional :schedule_items,
1722
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::ScheduleItem] }
1723
-
1724
- # @!method initialize(credit_type: nil, schedule_items: nil)
1725
- # @param credit_type [MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::CreditType]
1726
- # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::ScheduleItem>]
1727
-
1728
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule#credit_type
1729
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
1730
- # @!attribute id
1731
- #
1732
- # @return [String]
1733
- required :id, String
1734
-
1735
- # @!attribute name
1736
- #
1737
- # @return [String]
1738
- required :name, String
1739
-
1740
- # @!method initialize(id:, name:)
1741
- # @param id [String]
1742
- # @param name [String]
1743
- end
1744
-
1745
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1746
- # @!attribute id
1747
- #
1748
- # @return [String]
1749
- required :id, String
1750
-
1751
- # @!attribute amount
1752
- #
1753
- # @return [Float]
1754
- required :amount, Float
1755
-
1756
- # @!attribute invoice_id
1757
- #
1758
- # @return [String]
1759
- required :invoice_id, String
1760
-
1761
- # @!attribute quantity
1762
- #
1763
- # @return [Float]
1764
- required :quantity, Float
1765
-
1766
- # @!attribute timestamp
1767
- #
1768
- # @return [Time]
1769
- required :timestamp, Time
1770
-
1771
- # @!attribute unit_price
1772
- #
1773
- # @return [Float]
1774
- required :unit_price, Float
1775
-
1776
- # @!method initialize(id:, amount:, invoice_id:, quantity:, timestamp:, unit_price:)
1777
- # @param id [String]
1778
- # @param amount [Float]
1779
- # @param invoice_id [String]
1780
- # @param quantity [Float]
1781
- # @param timestamp [Time]
1782
- # @param unit_price [Float]
1783
- end
1784
- end
1785
- end
1786
-
1787
1635
  class Transition < MetronomeSDK::Internal::Type::BaseModel
1788
1636
  # @!attribute from_contract_id
1789
1637
  #
@@ -1908,9 +1756,8 @@ module MetronomeSDK
1908
1756
  # @!attribute access_schedule
1909
1757
  # The schedule that the customer will gain access to the credits.
1910
1758
  #
1911
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule, nil]
1912
- optional :access_schedule,
1913
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule }
1759
+ # @return [MetronomeSDK::Models::ScheduleDuration, nil]
1760
+ optional :access_schedule, -> { MetronomeSDK::ScheduleDuration }
1914
1761
 
1915
1762
  # @!attribute applicable_contract_ids
1916
1763
  #
@@ -1955,11 +1802,18 @@ module MetronomeSDK
1955
1802
  # @return [String, nil]
1956
1803
  optional :description, String
1957
1804
 
1805
+ # @!attribute hierarchy_configuration
1806
+ # Optional configuration for credit hierarchy access control
1807
+ #
1808
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration, nil]
1809
+ optional :hierarchy_configuration,
1810
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration }
1811
+
1958
1812
  # @!attribute ledger
1959
1813
  # A list of ordered events that impact the balance of a credit. For example, an
1960
1814
  # invoice deduction or an expiration.
1961
1815
  #
1962
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5>, nil]
1816
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry>, nil]
1963
1817
  optional :ledger,
1964
1818
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger] }
1965
1819
 
@@ -1996,7 +1850,7 @@ module MetronomeSDK
1996
1850
  optional :specifiers,
1997
1851
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Specifier] }
1998
1852
 
1999
- # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, salesforce_opportunity_id: nil, specifiers: nil)
1853
+ # @!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, hierarchy_configuration: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, salesforce_opportunity_id: nil, specifiers: nil)
2000
1854
  # Some parameter documentations has been truncated, see
2001
1855
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::Credit} for more details.
2002
1856
  #
@@ -2006,7 +1860,7 @@ module MetronomeSDK
2006
1860
  #
2007
1861
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Type]
2008
1862
  #
2009
- # @param access_schedule [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule] The schedule that the customer will gain access to the credits.
1863
+ # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits.
2010
1864
  #
2011
1865
  # @param applicable_contract_ids [Array<String>]
2012
1866
  #
@@ -2022,7 +1876,9 @@ module MetronomeSDK
2022
1876
  #
2023
1877
  # @param description [String]
2024
1878
  #
2025
- # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5>] A list of ordered events that impact the balance of a credit. For example, an in
1879
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration] Optional configuration for credit hierarchy access control
1880
+ #
1881
+ # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry>] A list of ordered events that impact the balance of a credit. For example, an in
2026
1882
  #
2027
1883
  # @param name [String]
2028
1884
  #
@@ -2061,99 +1917,132 @@ module MetronomeSDK
2061
1917
  # @return [Array<Symbol>]
2062
1918
  end
2063
1919
 
2064
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#access_schedule
2065
- class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
2066
- # @!attribute schedule_items
1920
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#contract
1921
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
1922
+ # @!attribute id
2067
1923
  #
2068
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::ScheduleItem>]
2069
- required :schedule_items,
2070
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::ScheduleItem] }
1924
+ # @return [String]
1925
+ required :id, String
2071
1926
 
2072
- # @!attribute credit_type
1927
+ # @!method initialize(id:)
1928
+ # @param id [String]
1929
+ end
1930
+
1931
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#hierarchy_configuration
1932
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1933
+ # @!attribute child_access
2073
1934
  #
2074
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::CreditType, nil]
2075
- optional :credit_type,
2076
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::CreditType }
1935
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1936
+ required :child_access,
1937
+ union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess }
2077
1938
 
2078
- # @!method initialize(schedule_items:, credit_type: nil)
2079
- # The schedule that the customer will gain access to the credits.
1939
+ # @!method initialize(child_access:)
1940
+ # Optional configuration for credit hierarchy access control
2080
1941
  #
2081
- # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::ScheduleItem>]
2082
- # @param credit_type [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::CreditType]
1942
+ # @param child_access [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
2083
1943
 
2084
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2085
- # @!attribute id
2086
- #
2087
- # @return [String]
2088
- required :id, String
1944
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration#child_access
1945
+ module ChildAccess
1946
+ extend MetronomeSDK::Internal::Type::Union
2089
1947
 
2090
- # @!attribute amount
2091
- #
2092
- # @return [Float]
2093
- required :amount, Float
1948
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
2094
1949
 
2095
- # @!attribute ending_before
2096
- #
2097
- # @return [Time]
2098
- required :ending_before, Time
1950
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
2099
1951
 
2100
- # @!attribute starting_at
2101
- #
2102
- # @return [Time]
2103
- required :starting_at, Time
1952
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
2104
1953
 
2105
- # @!method initialize(id:, amount:, ending_before:, starting_at:)
2106
- # @param id [String]
2107
- # @param amount [Float]
2108
- # @param ending_before [Time]
2109
- # @param starting_at [Time]
2110
- end
1954
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1955
+ # @!attribute type
1956
+ #
1957
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1958
+ required :type,
1959
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
2111
1960
 
2112
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule#credit_type
2113
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
2114
- # @!attribute id
2115
- #
2116
- # @return [String]
2117
- required :id, String
1961
+ # @!method initialize(type:)
1962
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
2118
1963
 
2119
- # @!attribute name
2120
- #
2121
- # @return [String]
2122
- required :name, String
1964
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
1965
+ module Type
1966
+ extend MetronomeSDK::Internal::Type::Enum
2123
1967
 
2124
- # @!method initialize(id:, name:)
2125
- # @param id [String]
2126
- # @param name [String]
2127
- end
2128
- end
1968
+ ALL = :ALL
2129
1969
 
2130
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#contract
2131
- class Contract < MetronomeSDK::Internal::Type::BaseModel
2132
- # @!attribute id
2133
- #
2134
- # @return [String]
2135
- required :id, String
1970
+ # @!method self.values
1971
+ # @return [Array<Symbol>]
1972
+ end
1973
+ end
2136
1974
 
2137
- # @!method initialize(id:)
2138
- # @param id [String]
1975
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1976
+ # @!attribute type
1977
+ #
1978
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1979
+ required :type,
1980
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
1981
+
1982
+ # @!method initialize(type:)
1983
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1984
+
1985
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
1986
+ module Type
1987
+ extend MetronomeSDK::Internal::Type::Enum
1988
+
1989
+ NONE = :NONE
1990
+
1991
+ # @!method self.values
1992
+ # @return [Array<Symbol>]
1993
+ end
1994
+ end
1995
+
1996
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1997
+ # @!attribute contract_ids
1998
+ #
1999
+ # @return [Array<String>]
2000
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2001
+
2002
+ # @!attribute type
2003
+ #
2004
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
2005
+ required :type,
2006
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
2007
+
2008
+ # @!method initialize(contract_ids:, type:)
2009
+ # @param contract_ids [Array<String>]
2010
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
2011
+
2012
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
2013
+ module Type
2014
+ extend MetronomeSDK::Internal::Type::Enum
2015
+
2016
+ CONTRACT_IDS = :CONTRACT_IDS
2017
+
2018
+ # @!method self.values
2019
+ # @return [Array<Symbol>]
2020
+ end
2021
+ end
2022
+
2023
+ # @!method self.variants
2024
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
2025
+ end
2139
2026
  end
2140
2027
 
2141
2028
  module Ledger
2142
2029
  extend MetronomeSDK::Internal::Type::Union
2143
2030
 
2144
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0 }
2031
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry }
2145
2032
 
2146
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1 }
2033
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry }
2147
2034
 
2148
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2 }
2035
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry }
2149
2036
 
2150
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3 }
2037
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry }
2151
2038
 
2152
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4 }
2039
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry }
2153
2040
 
2154
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5 }
2041
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry }
2155
2042
 
2156
- class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
2043
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry }
2044
+
2045
+ class CreditSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2157
2046
  # @!attribute amount
2158
2047
  #
2159
2048
  # @return [Float]
@@ -2171,17 +2060,17 @@ module MetronomeSDK
2171
2060
 
2172
2061
  # @!attribute type
2173
2062
  #
2174
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::Type]
2063
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
2175
2064
  required :type,
2176
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::Type }
2065
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type }
2177
2066
 
2178
2067
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
2179
2068
  # @param amount [Float]
2180
2069
  # @param segment_id [String]
2181
2070
  # @param timestamp [Time]
2182
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::Type]
2071
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
2183
2072
 
2184
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0#type
2073
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry#type
2185
2074
  module Type
2186
2075
  extend MetronomeSDK::Internal::Type::Enum
2187
2076
 
@@ -2192,7 +2081,7 @@ module MetronomeSDK
2192
2081
  end
2193
2082
  end
2194
2083
 
2195
- class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
2084
+ class CreditAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2196
2085
  # @!attribute amount
2197
2086
  #
2198
2087
  # @return [Float]
@@ -2215,18 +2104,18 @@ module MetronomeSDK
2215
2104
 
2216
2105
  # @!attribute type
2217
2106
  #
2218
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::Type]
2107
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2219
2108
  required :type,
2220
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::Type }
2109
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type }
2221
2110
 
2222
2111
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2223
2112
  # @param amount [Float]
2224
2113
  # @param invoice_id [String]
2225
2114
  # @param segment_id [String]
2226
2115
  # @param timestamp [Time]
2227
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::Type]
2116
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2228
2117
 
2229
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1#type
2118
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry#type
2230
2119
  module Type
2231
2120
  extend MetronomeSDK::Internal::Type::Enum
2232
2121
 
@@ -2237,7 +2126,7 @@ module MetronomeSDK
2237
2126
  end
2238
2127
  end
2239
2128
 
2240
- class UnionMember2 < MetronomeSDK::Internal::Type::BaseModel
2129
+ class CreditExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2241
2130
  # @!attribute amount
2242
2131
  #
2243
2132
  # @return [Float]
@@ -2255,17 +2144,17 @@ module MetronomeSDK
2255
2144
 
2256
2145
  # @!attribute type
2257
2146
  #
2258
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::Type]
2147
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type]
2259
2148
  required :type,
2260
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::Type }
2149
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type }
2261
2150
 
2262
2151
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
2263
2152
  # @param amount [Float]
2264
2153
  # @param segment_id [String]
2265
2154
  # @param timestamp [Time]
2266
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::Type]
2155
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type]
2267
2156
 
2268
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2#type
2157
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry#type
2269
2158
  module Type
2270
2159
  extend MetronomeSDK::Internal::Type::Enum
2271
2160
 
@@ -2276,7 +2165,7 @@ module MetronomeSDK
2276
2165
  end
2277
2166
  end
2278
2167
 
2279
- class UnionMember3 < MetronomeSDK::Internal::Type::BaseModel
2168
+ class CreditCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2280
2169
  # @!attribute amount
2281
2170
  #
2282
2171
  # @return [Float]
@@ -2299,18 +2188,18 @@ module MetronomeSDK
2299
2188
 
2300
2189
  # @!attribute type
2301
2190
  #
2302
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::Type]
2191
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2303
2192
  required :type,
2304
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::Type }
2193
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type }
2305
2194
 
2306
2195
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2307
2196
  # @param amount [Float]
2308
2197
  # @param invoice_id [String]
2309
2198
  # @param segment_id [String]
2310
2199
  # @param timestamp [Time]
2311
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::Type]
2200
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2312
2201
 
2313
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3#type
2202
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry#type
2314
2203
  module Type
2315
2204
  extend MetronomeSDK::Internal::Type::Enum
2316
2205
 
@@ -2321,7 +2210,7 @@ module MetronomeSDK
2321
2210
  end
2322
2211
  end
2323
2212
 
2324
- class UnionMember4 < MetronomeSDK::Internal::Type::BaseModel
2213
+ class CreditCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2325
2214
  # @!attribute amount
2326
2215
  #
2327
2216
  # @return [Float]
@@ -2344,18 +2233,18 @@ module MetronomeSDK
2344
2233
 
2345
2234
  # @!attribute type
2346
2235
  #
2347
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::Type]
2236
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2348
2237
  required :type,
2349
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::Type }
2238
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type }
2350
2239
 
2351
2240
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2352
2241
  # @param amount [Float]
2353
2242
  # @param invoice_id [String]
2354
2243
  # @param segment_id [String]
2355
2244
  # @param timestamp [Time]
2356
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::Type]
2245
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2357
2246
 
2358
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4#type
2247
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry#type
2359
2248
  module Type
2360
2249
  extend MetronomeSDK::Internal::Type::Enum
2361
2250
 
@@ -2366,7 +2255,7 @@ module MetronomeSDK
2366
2255
  end
2367
2256
  end
2368
2257
 
2369
- class UnionMember5 < MetronomeSDK::Internal::Type::BaseModel
2258
+ class CreditManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2370
2259
  # @!attribute amount
2371
2260
  #
2372
2261
  # @return [Float]
@@ -2384,17 +2273,17 @@ module MetronomeSDK
2384
2273
 
2385
2274
  # @!attribute type
2386
2275
  #
2387
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::Type]
2276
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type]
2388
2277
  required :type,
2389
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::Type }
2278
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type }
2390
2279
 
2391
2280
  # @!method initialize(amount:, reason:, timestamp:, type:)
2392
2281
  # @param amount [Float]
2393
2282
  # @param reason [String]
2394
2283
  # @param timestamp [Time]
2395
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::Type]
2284
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type]
2396
2285
 
2397
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5#type
2286
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry#type
2398
2287
  module Type
2399
2288
  extend MetronomeSDK::Internal::Type::Enum
2400
2289
 
@@ -2405,8 +2294,47 @@ module MetronomeSDK
2405
2294
  end
2406
2295
  end
2407
2296
 
2297
+ class CreditSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2298
+ # @!attribute amount
2299
+ #
2300
+ # @return [Float]
2301
+ required :amount, Float
2302
+
2303
+ # @!attribute segment_id
2304
+ #
2305
+ # @return [String]
2306
+ required :segment_id, String
2307
+
2308
+ # @!attribute timestamp
2309
+ #
2310
+ # @return [Time]
2311
+ required :timestamp, Time
2312
+
2313
+ # @!attribute type
2314
+ #
2315
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type]
2316
+ required :type,
2317
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type }
2318
+
2319
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
2320
+ # @param amount [Float]
2321
+ # @param segment_id [String]
2322
+ # @param timestamp [Time]
2323
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type]
2324
+
2325
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry#type
2326
+ module Type
2327
+ extend MetronomeSDK::Internal::Type::Enum
2328
+
2329
+ CREDIT_SEAT_BASED_ADJUSTMENT = :CREDIT_SEAT_BASED_ADJUSTMENT
2330
+
2331
+ # @!method self.values
2332
+ # @return [Array<Symbol>]
2333
+ end
2334
+ end
2335
+
2408
2336
  # @!method self.variants
2409
- # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5)]
2337
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry)]
2410
2338
  end
2411
2339
 
2412
2340
  class Specifier < MetronomeSDK::Internal::Type::BaseModel
@@ -2499,143 +2427,113 @@ module MetronomeSDK
2499
2427
  end
2500
2428
  end
2501
2429
 
2502
- class Discount < MetronomeSDK::Internal::Type::BaseModel
2503
- # @!attribute id
2504
- #
2505
- # @return [String]
2506
- required :id, String
2507
-
2508
- # @!attribute product
2509
- #
2510
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Product]
2511
- required :product, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Product }
2512
-
2513
- # @!attribute schedule
2514
- #
2515
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule]
2516
- required :schedule, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule }
2517
-
2518
- # @!attribute custom_fields
2519
- #
2520
- # @return [Hash{Symbol=>String}, nil]
2521
- optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
2522
-
2523
- # @!attribute name
2524
- #
2525
- # @return [String, nil]
2526
- optional :name, String
2527
-
2528
- # @!attribute netsuite_sales_order_id
2529
- # This field's availability is dependent on your client's configuration.
2430
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data#has_more
2431
+ class HasMore < MetronomeSDK::Internal::Type::BaseModel
2432
+ # @!attribute commits
2433
+ # Whether there are more commits on this contract than the limit for this
2434
+ # endpoint. Use the /contracts/customerCommits/list endpoint to get the full list
2435
+ # of commits.
2530
2436
  #
2531
- # @return [String, nil]
2532
- optional :netsuite_sales_order_id, String
2437
+ # @return [Boolean]
2438
+ required :commits, MetronomeSDK::Internal::Type::Boolean
2533
2439
 
2534
- # @!method initialize(id:, product:, schedule:, custom_fields: nil, name: nil, netsuite_sales_order_id: nil)
2535
- # @param id [String]
2536
- #
2537
- # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Product]
2440
+ # @!attribute credits
2441
+ # Whether there are more credits on this contract than the limit for this
2442
+ # endpoint. Use the /contracts/customerCredits/list endpoint to get the full list
2443
+ # of credits.
2538
2444
  #
2539
- # @param schedule [MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule]
2540
- #
2541
- # @param custom_fields [Hash{Symbol=>String}]
2542
- #
2543
- # @param name [String]
2544
- #
2545
- # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
2445
+ # @return [Boolean]
2446
+ required :credits, MetronomeSDK::Internal::Type::Boolean
2546
2447
 
2547
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Discount#product
2548
- class Product < MetronomeSDK::Internal::Type::BaseModel
2549
- # @!attribute id
2550
- #
2551
- # @return [String]
2552
- required :id, String
2448
+ # @!method initialize(commits:, credits:)
2449
+ # Some parameter documentations has been truncated, see
2450
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::HasMore} for more
2451
+ # details.
2452
+ #
2453
+ # Indicates whether there are more items than the limit for this endpoint. Use the
2454
+ # respective list endpoints to get the full lists.
2455
+ #
2456
+ # @param commits [Boolean] Whether there are more commits on this contract than the limit for this endpoint
2457
+ #
2458
+ # @param credits [Boolean] Whether there are more credits on this contract than the limit for this endpoint
2459
+ end
2553
2460
 
2554
- # @!attribute name
2555
- #
2556
- # @return [String]
2557
- required :name, String
2461
+ # Either a **parent** configuration with a list of children or a **child**
2462
+ # configuration with a single parent.
2463
+ #
2464
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data#hierarchy_configuration
2465
+ module HierarchyConfiguration
2466
+ extend MetronomeSDK::Internal::Type::Union
2558
2467
 
2559
- # @!method initialize(id:, name:)
2560
- # @param id [String]
2561
- # @param name [String]
2562
- end
2468
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration }
2563
2469
 
2564
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Discount#schedule
2565
- class Schedule < MetronomeSDK::Internal::Type::BaseModel
2566
- # @!attribute credit_type
2567
- #
2568
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::CreditType, nil]
2569
- optional :credit_type,
2570
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::CreditType }
2470
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration }
2571
2471
 
2572
- # @!attribute schedule_items
2472
+ class ParentHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2473
+ # @!attribute children
2474
+ # List of contracts that belong to this parent.
2573
2475
  #
2574
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::ScheduleItem>, nil]
2575
- optional :schedule_items,
2576
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::ScheduleItem] }
2476
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child>]
2477
+ required :children,
2478
+ -> do
2479
+ MetronomeSDK::Internal::Type::ArrayOf[
2480
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child
2481
+ ]
2482
+ end
2577
2483
 
2578
- # @!method initialize(credit_type: nil, schedule_items: nil)
2579
- # @param credit_type [MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::CreditType]
2580
- # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::ScheduleItem>]
2484
+ # @!method initialize(children:)
2485
+ # @param children [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child>] List of contracts that belong to this parent.
2581
2486
 
2582
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule#credit_type
2583
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
2584
- # @!attribute id
2487
+ class Child < MetronomeSDK::Internal::Type::BaseModel
2488
+ # @!attribute contract_id
2585
2489
  #
2586
2490
  # @return [String]
2587
- required :id, String
2491
+ required :contract_id, String
2588
2492
 
2589
- # @!attribute name
2493
+ # @!attribute customer_id
2590
2494
  #
2591
2495
  # @return [String]
2592
- required :name, String
2496
+ required :customer_id, String
2593
2497
 
2594
- # @!method initialize(id:, name:)
2595
- # @param id [String]
2596
- # @param name [String]
2498
+ # @!method initialize(contract_id:, customer_id:)
2499
+ # @param contract_id [String]
2500
+ # @param customer_id [String]
2597
2501
  end
2502
+ end
2598
2503
 
2599
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2600
- # @!attribute id
2601
- #
2602
- # @return [String]
2603
- required :id, String
2504
+ class ChildHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2505
+ # @!attribute parent
2506
+ # The single parent contract/customer for this child.
2507
+ #
2508
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent]
2509
+ required :parent,
2510
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent }
2604
2511
 
2605
- # @!attribute amount
2606
- #
2607
- # @return [Float]
2608
- required :amount, Float
2512
+ # @!method initialize(parent:)
2513
+ # @param parent [MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent] The single parent contract/customer for this child.
2609
2514
 
2610
- # @!attribute invoice_id
2515
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration#parent
2516
+ class Parent < MetronomeSDK::Internal::Type::BaseModel
2517
+ # @!attribute contract_id
2611
2518
  #
2612
2519
  # @return [String]
2613
- required :invoice_id, String
2614
-
2615
- # @!attribute quantity
2616
- #
2617
- # @return [Float]
2618
- required :quantity, Float
2520
+ required :contract_id, String
2619
2521
 
2620
- # @!attribute timestamp
2522
+ # @!attribute customer_id
2621
2523
  #
2622
- # @return [Time]
2623
- required :timestamp, Time
2524
+ # @return [String]
2525
+ required :customer_id, String
2624
2526
 
2625
- # @!attribute unit_price
2527
+ # @!method initialize(contract_id:, customer_id:)
2528
+ # The single parent contract/customer for this child.
2626
2529
  #
2627
- # @return [Float]
2628
- required :unit_price, Float
2629
-
2630
- # @!method initialize(id:, amount:, invoice_id:, quantity:, timestamp:, unit_price:)
2631
- # @param id [String]
2632
- # @param amount [Float]
2633
- # @param invoice_id [String]
2634
- # @param quantity [Float]
2635
- # @param timestamp [Time]
2636
- # @param unit_price [Float]
2530
+ # @param contract_id [String]
2531
+ # @param customer_id [String]
2637
2532
  end
2638
2533
  end
2534
+
2535
+ # @!method self.variants
2536
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration)]
2639
2537
  end
2640
2538
 
2641
2539
  # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
@@ -2689,7 +2587,14 @@ module MetronomeSDK
2689
2587
  # @return [Float]
2690
2588
  required :threshold_amount, Float
2691
2589
 
2692
- # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:)
2590
+ # @!attribute custom_credit_type_id
2591
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
2592
+ # commit amount will be in terms of this credit type instead of the fiat currency.
2593
+ #
2594
+ # @return [String, nil]
2595
+ optional :custom_credit_type_id, String
2596
+
2597
+ # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:, custom_credit_type_id: nil)
2693
2598
  # Some parameter documentations has been truncated, see
2694
2599
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration}
2695
2600
  # for more details.
@@ -2703,6 +2608,8 @@ module MetronomeSDK
2703
2608
  # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
2704
2609
  #
2705
2610
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
2611
+ #
2612
+ # @param custom_credit_type_id [String] If provided, the threshold, recharge-to amount, and the resulting threshold comm
2706
2613
 
2707
2614
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration#commit
2708
2615
  class Commit < MetronomeSDK::Internal::Type::BaseModel
@@ -2714,16 +2621,17 @@ module MetronomeSDK
2714
2621
  required :product_id, String
2715
2622
 
2716
2623
  # @!attribute applicable_product_ids
2717
- # Which products the threshold commit applies to. If both applicable_product_ids
2718
- # and applicable_product_tags are not provided, the commit applies to all
2719
- # products.
2624
+ # Which products the threshold commit applies to. If applicable_product_ids,
2625
+ # applicable_product_tags or specifiers are not provided, the commit applies to
2626
+ # all products.
2720
2627
  #
2721
2628
  # @return [Array<String>, nil]
2722
2629
  optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2723
2630
 
2724
2631
  # @!attribute applicable_product_tags
2725
- # Which tags the threshold commit applies to. If both applicable_product_ids and
2726
- # applicable_product_tags are not provided, the commit applies to all products.
2632
+ # Which tags the threshold commit applies to. If applicable_product_ids,
2633
+ # applicable_product_tags or specifiers are not provided, the commit applies to
2634
+ # all products.
2727
2635
  #
2728
2636
  # @return [Array<String>, nil]
2729
2637
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
@@ -2761,9 +2669,9 @@ module MetronomeSDK
2761
2669
  #
2762
2670
  # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
2763
2671
  #
2764
- # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
2672
+ # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If applicable_product_ids, appli
2765
2673
  #
2766
- # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
2674
+ # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If applicable_product_ids, applicabl
2767
2675
  #
2768
2676
  # @param description [String]
2769
2677
  #
@@ -2822,8 +2730,15 @@ module MetronomeSDK
2822
2730
  required :payment_gate_type,
2823
2731
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType }
2824
2732
 
2733
+ # @!attribute precalculated_tax_config
2734
+ # Only applicable if using PRECALCULATED as your tax type.
2735
+ #
2736
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
2737
+ optional :precalculated_tax_config,
2738
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig }
2739
+
2825
2740
  # @!attribute stripe_config
2826
- # Only applicable if using Stripe as your payment gateway through Metronome.
2741
+ # Only applicable if using STRIPE as your payment gateway type.
2827
2742
  #
2828
2743
  # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
2829
2744
  optional :stripe_config,
@@ -2838,14 +2753,16 @@ module MetronomeSDK
2838
2753
  optional :tax_type,
2839
2754
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType }
2840
2755
 
2841
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
2756
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
2842
2757
  # Some parameter documentations has been truncated, see
2843
2758
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig}
2844
2759
  # for more details.
2845
2760
  #
2846
2761
  # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
2847
2762
  #
2848
- # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
2763
+ # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
2764
+ #
2765
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
2849
2766
  #
2850
2767
  # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
2851
2768
 
@@ -2866,6 +2783,34 @@ module MetronomeSDK
2866
2783
  # @return [Array<Symbol>]
2867
2784
  end
2868
2785
 
2786
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
2787
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
2788
+ # @!attribute tax_amount
2789
+ # Amount of tax to be applied. This should be in the same currency and
2790
+ # denomination as the commit's invoice schedule
2791
+ #
2792
+ # @return [Float]
2793
+ required :tax_amount, Float
2794
+
2795
+ # @!attribute tax_name
2796
+ # Name of the tax to be applied. This may be used in an invoice line item
2797
+ # description.
2798
+ #
2799
+ # @return [String, nil]
2800
+ optional :tax_name, String
2801
+
2802
+ # @!method initialize(tax_amount:, tax_name: nil)
2803
+ # Some parameter documentations has been truncated, see
2804
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
2805
+ # for more details.
2806
+ #
2807
+ # Only applicable if using PRECALCULATED as your tax type.
2808
+ #
2809
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
2810
+ #
2811
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
2812
+ end
2813
+
2869
2814
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
2870
2815
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2871
2816
  # @!attribute payment_type
@@ -2875,10 +2820,23 @@ module MetronomeSDK
2875
2820
  required :payment_type,
2876
2821
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
2877
2822
 
2878
- # @!method initialize(payment_type:)
2879
- # Only applicable if using Stripe as your payment gateway through Metronome.
2823
+ # @!attribute invoice_metadata
2824
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2825
+ # your payment type.
2826
+ #
2827
+ # @return [Hash{Symbol=>String}, nil]
2828
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
2829
+
2830
+ # @!method initialize(payment_type:, invoice_metadata: nil)
2831
+ # Some parameter documentations has been truncated, see
2832
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig}
2833
+ # for more details.
2834
+ #
2835
+ # Only applicable if using STRIPE as your payment gateway type.
2880
2836
  #
2881
2837
  # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
2838
+ #
2839
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2882
2840
 
2883
2841
  # If left blank, will default to INVOICE
2884
2842
  #
@@ -2904,6 +2862,8 @@ module MetronomeSDK
2904
2862
 
2905
2863
  NONE = :NONE
2906
2864
  STRIPE = :STRIPE
2865
+ ANROK = :ANROK
2866
+ PRECALCULATED = :PRECALCULATED
2907
2867
 
2908
2868
  # @!method self.values
2909
2869
  # @return [Array<Symbol>]
@@ -2911,75 +2871,6 @@ module MetronomeSDK
2911
2871
  end
2912
2872
  end
2913
2873
 
2914
- class ProfessionalService < MetronomeSDK::Internal::Type::BaseModel
2915
- # @!attribute id
2916
- #
2917
- # @return [String]
2918
- required :id, String
2919
-
2920
- # @!attribute max_amount
2921
- # Maximum amount for the term.
2922
- #
2923
- # @return [Float]
2924
- required :max_amount, Float
2925
-
2926
- # @!attribute product_id
2927
- #
2928
- # @return [String]
2929
- required :product_id, String
2930
-
2931
- # @!attribute quantity
2932
- # Quantity for the charge. Will be multiplied by unit_price to determine the
2933
- # amount.
2934
- #
2935
- # @return [Float]
2936
- required :quantity, Float
2937
-
2938
- # @!attribute unit_price
2939
- # Unit price for the charge. Will be multiplied by quantity to determine the
2940
- # amount and must be specified.
2941
- #
2942
- # @return [Float]
2943
- required :unit_price, Float
2944
-
2945
- # @!attribute custom_fields
2946
- #
2947
- # @return [Hash{Symbol=>String}, nil]
2948
- optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
2949
-
2950
- # @!attribute description
2951
- #
2952
- # @return [String, nil]
2953
- optional :description, String
2954
-
2955
- # @!attribute netsuite_sales_order_id
2956
- # This field's availability is dependent on your client's configuration.
2957
- #
2958
- # @return [String, nil]
2959
- optional :netsuite_sales_order_id, String
2960
-
2961
- # @!method initialize(id:, max_amount:, product_id:, quantity:, unit_price:, custom_fields: nil, description: nil, netsuite_sales_order_id: nil)
2962
- # Some parameter documentations has been truncated, see
2963
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::ProfessionalService} for
2964
- # more details.
2965
- #
2966
- # @param id [String]
2967
- #
2968
- # @param max_amount [Float] Maximum amount for the term.
2969
- #
2970
- # @param product_id [String]
2971
- #
2972
- # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
2973
- #
2974
- # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
2975
- #
2976
- # @param custom_fields [Hash{Symbol=>String}]
2977
- #
2978
- # @param description [String]
2979
- #
2980
- # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
2981
- end
2982
-
2983
2874
  class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
2984
2875
  # @!attribute id
2985
2876
  #
@@ -3053,6 +2944,13 @@ module MetronomeSDK
3053
2944
  # @return [Time, nil]
3054
2945
  optional :ending_before, Time
3055
2946
 
2947
+ # @!attribute hierarchy_configuration
2948
+ # Optional configuration for recurring commit/credit hierarchy access control
2949
+ #
2950
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration, nil]
2951
+ optional :hierarchy_configuration,
2952
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration }
2953
+
3056
2954
  # @!attribute invoice_amount
3057
2955
  # The amount the customer should be billed for the commit. Not required.
3058
2956
  #
@@ -3108,7 +3006,7 @@ module MetronomeSDK
3108
3006
  optional :specifiers,
3109
3007
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier] }
3110
3008
 
3111
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
3009
+ # @!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, hierarchy_configuration: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
3112
3010
  # Some parameter documentations has been truncated, see
3113
3011
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit} for more
3114
3012
  # details.
@@ -3137,6 +3035,8 @@ module MetronomeSDK
3137
3035
  #
3138
3036
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
3139
3037
  #
3038
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
3039
+ #
3140
3040
  # @param invoice_amount [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
3141
3041
  #
3142
3042
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
@@ -3158,22 +3058,22 @@ module MetronomeSDK
3158
3058
  # @return [String]
3159
3059
  required :credit_type_id, String
3160
3060
 
3161
- # @!attribute quantity
3162
- #
3163
- # @return [Float]
3164
- required :quantity, Float
3165
-
3166
3061
  # @!attribute unit_price
3167
3062
  #
3168
3063
  # @return [Float]
3169
3064
  required :unit_price, Float
3170
3065
 
3171
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
3066
+ # @!attribute quantity
3067
+ #
3068
+ # @return [Float, nil]
3069
+ optional :quantity, Float
3070
+
3071
+ # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
3172
3072
  # The amount of commit to grant.
3173
3073
  #
3174
3074
  # @param credit_type_id [String]
3175
- # @param quantity [Float]
3176
3075
  # @param unit_price [Float]
3076
+ # @param quantity [Float]
3177
3077
  end
3178
3078
 
3179
3079
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#commit_duration
@@ -3247,6 +3147,103 @@ module MetronomeSDK
3247
3147
  # @param id [String]
3248
3148
  end
3249
3149
 
3150
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#hierarchy_configuration
3151
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3152
+ # @!attribute child_access
3153
+ #
3154
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3155
+ required :child_access,
3156
+ union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess }
3157
+
3158
+ # @!method initialize(child_access:)
3159
+ # Optional configuration for recurring commit/credit hierarchy access control
3160
+ #
3161
+ # @param child_access [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3162
+
3163
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration#child_access
3164
+ module ChildAccess
3165
+ extend MetronomeSDK::Internal::Type::Union
3166
+
3167
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
3168
+
3169
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
3170
+
3171
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
3172
+
3173
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3174
+ # @!attribute type
3175
+ #
3176
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3177
+ required :type,
3178
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
3179
+
3180
+ # @!method initialize(type:)
3181
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3182
+
3183
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3184
+ module Type
3185
+ extend MetronomeSDK::Internal::Type::Enum
3186
+
3187
+ ALL = :ALL
3188
+
3189
+ # @!method self.values
3190
+ # @return [Array<Symbol>]
3191
+ end
3192
+ end
3193
+
3194
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3195
+ # @!attribute type
3196
+ #
3197
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3198
+ required :type,
3199
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
3200
+
3201
+ # @!method initialize(type:)
3202
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3203
+
3204
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3205
+ module Type
3206
+ extend MetronomeSDK::Internal::Type::Enum
3207
+
3208
+ NONE = :NONE
3209
+
3210
+ # @!method self.values
3211
+ # @return [Array<Symbol>]
3212
+ end
3213
+ end
3214
+
3215
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3216
+ # @!attribute contract_ids
3217
+ #
3218
+ # @return [Array<String>]
3219
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3220
+
3221
+ # @!attribute type
3222
+ #
3223
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3224
+ required :type,
3225
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
3226
+
3227
+ # @!method initialize(contract_ids:, type:)
3228
+ # @param contract_ids [Array<String>]
3229
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3230
+
3231
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3232
+ module Type
3233
+ extend MetronomeSDK::Internal::Type::Enum
3234
+
3235
+ CONTRACT_IDS = :CONTRACT_IDS
3236
+
3237
+ # @!method self.values
3238
+ # @return [Array<Symbol>]
3239
+ end
3240
+ end
3241
+
3242
+ # @!method self.variants
3243
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
3244
+ end
3245
+ end
3246
+
3250
3247
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#invoice_amount
3251
3248
  class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
3252
3249
  # @!attribute credit_type_id
@@ -3419,6 +3416,13 @@ module MetronomeSDK
3419
3416
  # @return [Time, nil]
3420
3417
  optional :ending_before, Time
3421
3418
 
3419
+ # @!attribute hierarchy_configuration
3420
+ # Optional configuration for recurring commit/credit hierarchy access control
3421
+ #
3422
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration, nil]
3423
+ optional :hierarchy_configuration,
3424
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration }
3425
+
3422
3426
  # @!attribute name
3423
3427
  # Displayed on invoices. Will be passed through to the individual commits
3424
3428
  #
@@ -3467,7 +3471,7 @@ module MetronomeSDK
3467
3471
  optional :specifiers,
3468
3472
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier] }
3469
3473
 
3470
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
3474
+ # @!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, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
3471
3475
  # Some parameter documentations has been truncated, see
3472
3476
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit} for more
3473
3477
  # details.
@@ -3496,6 +3500,8 @@ module MetronomeSDK
3496
3500
  #
3497
3501
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
3498
3502
  #
3503
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
3504
+ #
3499
3505
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
3500
3506
  #
3501
3507
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
@@ -3515,22 +3521,22 @@ module MetronomeSDK
3515
3521
  # @return [String]
3516
3522
  required :credit_type_id, String
3517
3523
 
3518
- # @!attribute quantity
3519
- #
3520
- # @return [Float]
3521
- required :quantity, Float
3522
-
3523
3524
  # @!attribute unit_price
3524
3525
  #
3525
3526
  # @return [Float]
3526
3527
  required :unit_price, Float
3527
3528
 
3528
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
3529
+ # @!attribute quantity
3530
+ #
3531
+ # @return [Float, nil]
3532
+ optional :quantity, Float
3533
+
3534
+ # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
3529
3535
  # The amount of commit to grant.
3530
3536
  #
3531
3537
  # @param credit_type_id [String]
3532
- # @param quantity [Float]
3533
3538
  # @param unit_price [Float]
3539
+ # @param quantity [Float]
3534
3540
  end
3535
3541
 
3536
3542
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#commit_duration
@@ -3604,6 +3610,103 @@ module MetronomeSDK
3604
3610
  # @param id [String]
3605
3611
  end
3606
3612
 
3613
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#hierarchy_configuration
3614
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3615
+ # @!attribute child_access
3616
+ #
3617
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3618
+ required :child_access,
3619
+ union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess }
3620
+
3621
+ # @!method initialize(child_access:)
3622
+ # Optional configuration for recurring commit/credit hierarchy access control
3623
+ #
3624
+ # @param child_access [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3625
+
3626
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration#child_access
3627
+ module ChildAccess
3628
+ extend MetronomeSDK::Internal::Type::Union
3629
+
3630
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
3631
+
3632
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
3633
+
3634
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
3635
+
3636
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3637
+ # @!attribute type
3638
+ #
3639
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3640
+ required :type,
3641
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
3642
+
3643
+ # @!method initialize(type:)
3644
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3645
+
3646
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3647
+ module Type
3648
+ extend MetronomeSDK::Internal::Type::Enum
3649
+
3650
+ ALL = :ALL
3651
+
3652
+ # @!method self.values
3653
+ # @return [Array<Symbol>]
3654
+ end
3655
+ end
3656
+
3657
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3658
+ # @!attribute type
3659
+ #
3660
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3661
+ required :type,
3662
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
3663
+
3664
+ # @!method initialize(type:)
3665
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3666
+
3667
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3668
+ module Type
3669
+ extend MetronomeSDK::Internal::Type::Enum
3670
+
3671
+ NONE = :NONE
3672
+
3673
+ # @!method self.values
3674
+ # @return [Array<Symbol>]
3675
+ end
3676
+ end
3677
+
3678
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3679
+ # @!attribute contract_ids
3680
+ #
3681
+ # @return [Array<String>]
3682
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3683
+
3684
+ # @!attribute type
3685
+ #
3686
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3687
+ required :type,
3688
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
3689
+
3690
+ # @!method initialize(contract_ids:, type:)
3691
+ # @param contract_ids [Array<String>]
3692
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3693
+
3694
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3695
+ module Type
3696
+ extend MetronomeSDK::Internal::Type::Enum
3697
+
3698
+ CONTRACT_IDS = :CONTRACT_IDS
3699
+
3700
+ # @!method self.values
3701
+ # @return [Array<Symbol>]
3702
+ end
3703
+ end
3704
+
3705
+ # @!method self.variants
3706
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
3707
+ end
3708
+ end
3709
+
3607
3710
  # Determines whether the first and last commit will be prorated. If not provided,
3608
3711
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3609
3712
  #
@@ -3908,8 +4011,15 @@ module MetronomeSDK
3908
4011
  required :payment_gate_type,
3909
4012
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType }
3910
4013
 
4014
+ # @!attribute precalculated_tax_config
4015
+ # Only applicable if using PRECALCULATED as your tax type.
4016
+ #
4017
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
4018
+ optional :precalculated_tax_config,
4019
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig }
4020
+
3911
4021
  # @!attribute stripe_config
3912
- # Only applicable if using Stripe as your payment gateway through Metronome.
4022
+ # Only applicable if using STRIPE as your payment gateway type.
3913
4023
  #
3914
4024
  # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
3915
4025
  optional :stripe_config,
@@ -3924,14 +4034,16 @@ module MetronomeSDK
3924
4034
  optional :tax_type,
3925
4035
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType }
3926
4036
 
3927
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
4037
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
3928
4038
  # Some parameter documentations has been truncated, see
3929
4039
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig}
3930
4040
  # for more details.
3931
4041
  #
3932
4042
  # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
3933
4043
  #
3934
- # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
4044
+ # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
4045
+ #
4046
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
3935
4047
  #
3936
4048
  # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
3937
4049
 
@@ -3952,6 +4064,34 @@ module MetronomeSDK
3952
4064
  # @return [Array<Symbol>]
3953
4065
  end
3954
4066
 
4067
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
4068
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
4069
+ # @!attribute tax_amount
4070
+ # Amount of tax to be applied. This should be in the same currency and
4071
+ # denomination as the commit's invoice schedule
4072
+ #
4073
+ # @return [Float]
4074
+ required :tax_amount, Float
4075
+
4076
+ # @!attribute tax_name
4077
+ # Name of the tax to be applied. This may be used in an invoice line item
4078
+ # description.
4079
+ #
4080
+ # @return [String, nil]
4081
+ optional :tax_name, String
4082
+
4083
+ # @!method initialize(tax_amount:, tax_name: nil)
4084
+ # Some parameter documentations has been truncated, see
4085
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
4086
+ # for more details.
4087
+ #
4088
+ # Only applicable if using PRECALCULATED as your tax type.
4089
+ #
4090
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
4091
+ #
4092
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
4093
+ end
4094
+
3955
4095
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#stripe_config
3956
4096
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
3957
4097
  # @!attribute payment_type
@@ -3961,10 +4101,23 @@ module MetronomeSDK
3961
4101
  required :payment_type,
3962
4102
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
3963
4103
 
3964
- # @!method initialize(payment_type:)
3965
- # Only applicable if using Stripe as your payment gateway through Metronome.
4104
+ # @!attribute invoice_metadata
4105
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
4106
+ # your payment type.
4107
+ #
4108
+ # @return [Hash{Symbol=>String}, nil]
4109
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
4110
+
4111
+ # @!method initialize(payment_type:, invoice_metadata: nil)
4112
+ # Some parameter documentations has been truncated, see
4113
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig}
4114
+ # for more details.
4115
+ #
4116
+ # Only applicable if using STRIPE as your payment gateway type.
3966
4117
  #
3967
4118
  # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
4119
+ #
4120
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
3968
4121
 
3969
4122
  # If left blank, will default to INVOICE
3970
4123
  #
@@ -3990,6 +4143,8 @@ module MetronomeSDK
3990
4143
 
3991
4144
  NONE = :NONE
3992
4145
  STRIPE = :STRIPE
4146
+ ANROK = :ANROK
4147
+ PRECALCULATED = :PRECALCULATED
3993
4148
 
3994
4149
  # @!method self.values
3995
4150
  # @return [Array<Symbol>]
@@ -4010,6 +4165,8 @@ module MetronomeSDK
4010
4165
  required :proration, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration }
4011
4166
 
4012
4167
  # @!attribute quantity_schedule
4168
+ # List of quantity schedule items for the subscription. Only includes the current
4169
+ # quantity and future quantity changes.
4013
4170
  #
4014
4171
  # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::QuantitySchedule>]
4015
4172
  required :quantity_schedule,
@@ -4057,16 +4214,30 @@ module MetronomeSDK
4057
4214
  optional :name, String
4058
4215
 
4059
4216
  # @!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)
4217
+ # Some parameter documentations has been truncated, see
4218
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription} for more
4219
+ # details.
4220
+ #
4060
4221
  # @param collection_schedule [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::CollectionSchedule]
4222
+ #
4061
4223
  # @param proration [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration]
4062
- # @param quantity_schedule [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::QuantitySchedule>]
4224
+ #
4225
+ # @param quantity_schedule [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::QuantitySchedule>] List of quantity schedule items for the subscription. Only includes the current
4226
+ #
4063
4227
  # @param starting_at [Time]
4228
+ #
4064
4229
  # @param subscription_rate [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate]
4230
+ #
4065
4231
  # @param id [String]
4232
+ #
4066
4233
  # @param custom_fields [Hash{Symbol=>String}]
4234
+ #
4067
4235
  # @param description [String]
4236
+ #
4068
4237
  # @param ending_before [Time]
4238
+ #
4069
4239
  # @param fiat_credit_type_id [String]
4240
+ #
4070
4241
  # @param name [String]
4071
4242
 
4072
4243
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription#collection_schedule