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

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 (403) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  6. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  7. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  8. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  9. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  10. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  11. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  12. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  14. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  15. data/lib/metronome_sdk/internal/util.rb +8 -9
  16. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  17. data/lib/metronome_sdk/models/commit.rb +1010 -0
  18. data/lib/metronome_sdk/models/contract_without_amendments.rb +1803 -0
  19. data/lib/metronome_sdk/models/credit.rb +634 -0
  20. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  21. data/lib/metronome_sdk/models/discount.rb +68 -0
  22. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  23. data/lib/metronome_sdk/models/id.rb +15 -0
  24. data/lib/metronome_sdk/models/override.rb +381 -0
  25. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  26. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  27. data/lib/metronome_sdk/models/rate.rb +101 -0
  28. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  29. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  30. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  31. data/lib/metronome_sdk/models/tier.rb +21 -0
  32. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  33. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  34. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  35. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  37. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  42. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  45. data/lib/metronome_sdk/models/v1/contract_create_params.rb +550 -102
  46. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  47. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  48. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  51. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  52. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  53. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  55. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  57. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  58. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  59. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  60. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  61. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  62. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  63. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  64. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  65. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  73. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  79. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  80. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  81. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  82. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  83. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  85. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  86. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  87. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  88. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  89. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  90. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  91. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  92. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  93. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  94. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  95. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  96. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  97. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  98. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  99. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  100. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  101. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  102. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  103. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  105. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  106. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  108. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  109. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  110. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  111. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  112. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  113. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  114. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  115. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  116. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  117. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  118. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  119. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  120. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  121. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  122. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  123. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  124. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  125. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  126. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +885 -103
  127. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +351 -625
  129. data/lib/metronome_sdk/models/v2/contract_list_response.rb +590 -749
  130. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +590 -751
  131. data/lib/metronome_sdk/models.rb +36 -4
  132. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  133. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  134. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  135. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  136. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -4
  137. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  138. data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -2
  139. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  140. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  141. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  142. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  143. data/lib/metronome_sdk/version.rb +1 -1
  144. data/lib/metronome_sdk.rb +31 -2
  145. data/rbi/metronome_sdk/errors.rbi +16 -0
  146. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  147. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  148. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  149. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  150. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  151. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  152. data/rbi/metronome_sdk/models/commit.rbi +1962 -0
  153. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +3676 -0
  154. data/rbi/metronome_sdk/models/credit.rbi +1230 -0
  155. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  156. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  157. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  158. data/rbi/metronome_sdk/models/id.rbi +23 -0
  159. data/rbi/metronome_sdk/models/override.rbi +675 -0
  160. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  161. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  162. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  163. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  164. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  165. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  166. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  167. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  168. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  169. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  170. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  171. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  172. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  173. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  174. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  175. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  176. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  177. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  178. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  179. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  180. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1100 -172
  181. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  182. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  183. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  184. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  185. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  186. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  187. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  188. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  189. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  190. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  191. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  192. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  193. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  194. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  195. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  199. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  203. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  204. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  214. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  215. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  216. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  217. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  218. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  219. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  220. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  221. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  222. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  223. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  224. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  225. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  226. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  227. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  228. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  229. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  230. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  231. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  232. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  233. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  234. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  235. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  236. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  237. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  238. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  239. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  240. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  241. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  242. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  243. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  244. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  245. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  246. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  247. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  248. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  249. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  250. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  251. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  252. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  253. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  254. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  255. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  256. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  257. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  258. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  259. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  260. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  261. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1859 -202
  262. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  263. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +700 -1447
  264. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +1204 -1472
  265. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +1204 -1472
  266. data/rbi/metronome_sdk/models.rbi +32 -0
  267. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  268. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  269. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  270. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  271. data/rbi/metronome_sdk/resources/v1/contracts.rbi +10 -4
  272. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  273. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +6 -4
  274. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  275. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  276. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  277. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  278. data/sig/metronome_sdk/errors.rbs +9 -0
  279. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  280. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  281. data/sig/metronome_sdk/models/commit.rbs +1020 -0
  282. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1582 -0
  283. data/sig/metronome_sdk/models/credit.rbs +643 -0
  284. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  285. data/sig/metronome_sdk/models/discount.rbs +63 -0
  286. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  287. data/sig/metronome_sdk/models/id.rbs +13 -0
  288. data/sig/metronome_sdk/models/override.rbs +399 -0
  289. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  290. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  291. data/sig/metronome_sdk/models/rate.rbs +94 -0
  292. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  293. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  294. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  295. data/sig/metronome_sdk/models/tier.rbs +17 -0
  296. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  297. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  298. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  299. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  300. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  301. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  302. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  303. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  304. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  305. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  308. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +448 -84
  309. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  310. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  311. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  312. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  313. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  314. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  315. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  317. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  318. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  319. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  321. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  322. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  323. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  324. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  325. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  326. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  327. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  328. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  336. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  337. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  338. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  340. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  341. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  342. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  343. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  344. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  345. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  346. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  347. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  348. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  349. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  350. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  351. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  352. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  353. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  354. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  355. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  356. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  357. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  358. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  359. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  360. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  361. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  362. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  363. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  364. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  365. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  366. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  367. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  368. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  369. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  370. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  371. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  372. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  373. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  374. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  375. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  376. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  377. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  378. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  379. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  380. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  381. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  382. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  383. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  384. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  385. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  387. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  388. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +743 -77
  389. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  390. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +274 -665
  391. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +567 -759
  392. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +567 -759
  393. data/sig/metronome_sdk/models.rbs +32 -0
  394. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  395. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  396. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  397. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -1
  398. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  399. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  400. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  401. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  402. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  403. metadata +95 -8
@@ -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,22 @@ 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 hierarchy_configuration
116
+ # Either a **parent** configuration with a list of children or a **child**
117
+ # configuration with a single parent.
118
+ #
119
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration, nil]
120
+ optional :hierarchy_configuration,
121
+ union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration }
122
+
114
123
  # @!attribute multiplier_override_prioritization
115
124
  # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
116
125
  # prices automatically. EXPLICIT prioritization requires specifying priorities for
@@ -143,12 +152,20 @@ module MetronomeSDK
143
152
  optional :prepaid_balance_threshold_configuration,
144
153
  -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration }
145
154
 
155
+ # @!attribute priority
156
+ # Priority of the contract.
157
+ #
158
+ # @return [Float, nil]
159
+ optional :priority, Float
160
+
146
161
  # @!attribute professional_services
147
162
  # This field's availability is dependent on your client's configuration.
148
163
  #
149
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ProfessionalService>, nil]
164
+ # @return [Array<MetronomeSDK::Models::ProService>, nil]
150
165
  optional :professional_services,
151
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::ProfessionalService] }
166
+ -> {
167
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ProService]
168
+ }
152
169
 
153
170
  # @!attribute rate_card_id
154
171
  #
@@ -198,7 +215,7 @@ module MetronomeSDK
198
215
  -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration }
199
216
 
200
217
  # @!attribute subscriptions
201
- # (beta) List of subscriptions on the contract.
218
+ # List of subscriptions on the contract.
202
219
  #
203
220
  # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription>, nil]
204
221
  optional :subscriptions,
@@ -217,7 +234,7 @@ module MetronomeSDK
217
234
  # @return [String, nil]
218
235
  optional :uniqueness_key, String
219
236
 
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)
237
+ # @!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, 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
238
  # Some parameter documentations has been truncated, see
222
239
  # {MetronomeSDK::Models::V2::ContractListResponse::Data} for more details.
223
240
  #
@@ -233,7 +250,7 @@ module MetronomeSDK
233
250
  #
234
251
  # @param overrides [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override>]
235
252
  #
236
- # @param scheduled_charges [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge>]
253
+ # @param scheduled_charges [Array<MetronomeSDK::Models::ScheduledCharge>]
237
254
  #
238
255
  # @param starting_at [Time]
239
256
  #
@@ -251,10 +268,12 @@ module MetronomeSDK
251
268
  #
252
269
  # @param customer_billing_provider_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration] This field's availability is dependent on your client's configuration.
253
270
  #
254
- # @param discounts [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Discount>] This field's availability is dependent on your client's configuration.
271
+ # @param discounts [Array<MetronomeSDK::Models::Discount>] This field's availability is dependent on your client's configuration.
255
272
  #
256
273
  # @param ending_before [Time]
257
274
  #
275
+ # @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
276
+ #
258
277
  # @param multiplier_override_prioritization [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::MultiplierOverridePrioritization] Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list price
259
278
  #
260
279
  # @param name [String]
@@ -265,7 +284,9 @@ module MetronomeSDK
265
284
  #
266
285
  # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration]
267
286
  #
268
- # @param professional_services [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ProfessionalService>] This field's availability is dependent on your client's configuration.
287
+ # @param priority [Float] Priority of the contract.
288
+ #
289
+ # @param professional_services [Array<MetronomeSDK::Models::ProService>] This field's availability is dependent on your client's configuration.
269
290
  #
270
291
  # @param rate_card_id [String]
271
292
  #
@@ -281,7 +302,7 @@ module MetronomeSDK
281
302
  #
282
303
  # @param spend_threshold_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration]
283
304
  #
284
- # @param subscriptions [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription>] (beta) List of subscriptions on the contract.
305
+ # @param subscriptions [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription>] List of subscriptions on the contract.
285
306
  #
286
307
  # @param total_contract_value [Float]
287
308
  #
@@ -307,9 +328,8 @@ module MetronomeSDK
307
328
  # The schedule that the customer will gain access to the credits purposed with
308
329
  # this commit.
309
330
  #
310
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule, nil]
311
- optional :access_schedule,
312
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule }
331
+ # @return [MetronomeSDK::Models::ScheduleDuration, nil]
332
+ optional :access_schedule, -> { MetronomeSDK::ScheduleDuration }
313
333
 
314
334
  # @!attribute applicable_contract_ids
315
335
  #
@@ -359,6 +379,13 @@ module MetronomeSDK
359
379
  # @return [String, nil]
360
380
  optional :description, String
361
381
 
382
+ # @!attribute hierarchy_configuration
383
+ # Optional configuration for commit hierarchy access control
384
+ #
385
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration, nil]
386
+ optional :hierarchy_configuration,
387
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration }
388
+
362
389
  # @!attribute invoice_contract
363
390
  # The contract that this commit will be billed on.
364
391
  #
@@ -369,15 +396,14 @@ module MetronomeSDK
369
396
  # @!attribute invoice_schedule
370
397
  # The schedule that the customer will be invoiced for this commit.
371
398
  #
372
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule, nil]
373
- optional :invoice_schedule,
374
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule }
399
+ # @return [MetronomeSDK::Models::SchedulePointInTime, nil]
400
+ optional :invoice_schedule, -> { MetronomeSDK::SchedulePointInTime }
375
401
 
376
402
  # @!attribute ledger
377
403
  # A list of ordered events that impact the balance of a commit. For example, an
378
404
  # invoice deduction or a rollover.
379
405
  #
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]
406
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>, nil]
381
407
  optional :ledger,
382
408
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger] }
383
409
 
@@ -430,7 +456,7 @@ module MetronomeSDK
430
456
  optional :specifiers,
431
457
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Specifier] }
432
458
 
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)
459
+ # @!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
460
  # Some parameter documentations has been truncated, see
435
461
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::Commit} for more details.
436
462
  #
@@ -440,7 +466,7 @@ module MetronomeSDK
440
466
  #
441
467
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Type]
442
468
  #
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
469
+ # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits purposed with thi
444
470
  #
445
471
  # @param applicable_contract_ids [Array<String>]
446
472
  #
@@ -458,11 +484,13 @@ module MetronomeSDK
458
484
  #
459
485
  # @param description [String]
460
486
  #
487
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration] Optional configuration for commit hierarchy access control
488
+ #
461
489
  # @param invoice_contract [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceContract] The contract that this commit will be billed on.
462
490
  #
463
- # @param invoice_schedule [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule] The schedule that the customer will be invoiced for this commit.
491
+ # @param invoice_schedule [MetronomeSDK::Models::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
464
492
  #
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
493
+ # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>] A list of ordered events that impact the balance of a commit. For example, an in
466
494
  #
467
495
  # @param name [String]
468
496
  #
@@ -508,73 +536,6 @@ module MetronomeSDK
508
536
  # @return [Array<Symbol>]
509
537
  end
510
538
 
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
539
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#contract
579
540
  class Contract < MetronomeSDK::Internal::Type::BaseModel
580
541
  # @!attribute id
@@ -586,127 +547,146 @@ module MetronomeSDK
586
547
  # @param id [String]
587
548
  end
588
549
 
589
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#invoice_contract
590
- class InvoiceContract < MetronomeSDK::Internal::Type::BaseModel
591
- # @!attribute id
550
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#hierarchy_configuration
551
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
552
+ # @!attribute child_access
592
553
  #
593
- # @return [String]
594
- required :id, String
554
+ # @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]
555
+ required :child_access,
556
+ union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess }
595
557
 
596
- # @!method initialize(id:)
597
- # The contract that this commit will be billed on.
558
+ # @!method initialize(child_access:)
559
+ # Optional configuration for commit hierarchy access control
598
560
  #
599
- # @param id [String]
600
- end
561
+ # @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
562
 
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 }
563
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration#child_access
564
+ module ChildAccess
565
+ extend MetronomeSDK::Internal::Type::Union
609
566
 
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] }
567
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
615
568
 
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>]
569
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
621
570
 
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
571
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
628
572
 
629
- # @!attribute name
630
- #
631
- # @return [String]
632
- required :name, String
573
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
574
+ # @!attribute type
575
+ #
576
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
577
+ required :type,
578
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
633
579
 
634
- # @!method initialize(id:, name:)
635
- # @param id [String]
636
- # @param name [String]
637
- end
580
+ # @!method initialize(type:)
581
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
638
582
 
639
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
640
- # @!attribute id
641
- #
642
- # @return [String]
643
- required :id, String
583
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
584
+ module Type
585
+ extend MetronomeSDK::Internal::Type::Enum
644
586
 
645
- # @!attribute amount
646
- #
647
- # @return [Float]
648
- required :amount, Float
587
+ ALL = :ALL
649
588
 
650
- # @!attribute invoice_id
651
- #
652
- # @return [String]
653
- required :invoice_id, String
589
+ # @!method self.values
590
+ # @return [Array<Symbol>]
591
+ end
592
+ end
654
593
 
655
- # @!attribute quantity
656
- #
657
- # @return [Float]
658
- required :quantity, Float
594
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
595
+ # @!attribute type
596
+ #
597
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
598
+ required :type,
599
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
659
600
 
660
- # @!attribute timestamp
661
- #
662
- # @return [Time]
663
- required :timestamp, Time
601
+ # @!method initialize(type:)
602
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
664
603
 
665
- # @!attribute unit_price
666
- #
667
- # @return [Float]
668
- required :unit_price, Float
604
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
605
+ module Type
606
+ extend MetronomeSDK::Internal::Type::Enum
669
607
 
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]
608
+ NONE = :NONE
609
+
610
+ # @!method self.values
611
+ # @return [Array<Symbol>]
612
+ end
613
+ end
614
+
615
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
616
+ # @!attribute contract_ids
617
+ #
618
+ # @return [Array<String>]
619
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
620
+
621
+ # @!attribute type
622
+ #
623
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
624
+ required :type,
625
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
626
+
627
+ # @!method initialize(contract_ids:, type:)
628
+ # @param contract_ids [Array<String>]
629
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
630
+
631
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
632
+ module Type
633
+ extend MetronomeSDK::Internal::Type::Enum
634
+
635
+ CONTRACT_IDS = :CONTRACT_IDS
636
+
637
+ # @!method self.values
638
+ # @return [Array<Symbol>]
639
+ end
640
+ end
641
+
642
+ # @!method self.variants
643
+ # @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
644
  end
678
645
  end
679
646
 
647
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#invoice_contract
648
+ class InvoiceContract < MetronomeSDK::Internal::Type::BaseModel
649
+ # @!attribute id
650
+ #
651
+ # @return [String]
652
+ required :id, String
653
+
654
+ # @!method initialize(id:)
655
+ # The contract that this commit will be billed on.
656
+ #
657
+ # @param id [String]
658
+ end
659
+
680
660
  module Ledger
681
661
  extend MetronomeSDK::Internal::Type::Union
682
662
 
683
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0 }
663
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry }
684
664
 
685
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1 }
665
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry }
686
666
 
687
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2 }
667
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry }
688
668
 
689
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3 }
669
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry }
690
670
 
691
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4 }
671
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry }
692
672
 
693
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5 }
673
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry }
694
674
 
695
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6 }
675
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry }
696
676
 
697
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7 }
677
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry }
698
678
 
699
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8 }
679
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry }
700
680
 
701
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9 }
681
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry }
702
682
 
703
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10 }
683
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry }
704
684
 
705
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11 }
685
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry }
706
686
 
707
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12 }
687
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry }
708
688
 
709
- class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
689
+ class PrepaidCommitSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
710
690
  # @!attribute amount
711
691
  #
712
692
  # @return [Float]
@@ -724,17 +704,17 @@ module MetronomeSDK
724
704
 
725
705
  # @!attribute type
726
706
  #
727
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::Type]
707
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
728
708
  required :type,
729
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::Type }
709
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type }
730
710
 
731
711
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
732
712
  # @param amount [Float]
733
713
  # @param segment_id [String]
734
714
  # @param timestamp [Time]
735
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::Type]
715
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
736
716
 
737
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0#type
717
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry#type
738
718
  module Type
739
719
  extend MetronomeSDK::Internal::Type::Enum
740
720
 
@@ -745,7 +725,7 @@ module MetronomeSDK
745
725
  end
746
726
  end
747
727
 
748
- class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
728
+ class PrepaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
749
729
  # @!attribute amount
750
730
  #
751
731
  # @return [Float]
@@ -768,18 +748,18 @@ module MetronomeSDK
768
748
 
769
749
  # @!attribute type
770
750
  #
771
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::Type]
751
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
772
752
  required :type,
773
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::Type }
753
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
774
754
 
775
755
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
776
756
  # @param amount [Float]
777
757
  # @param invoice_id [String]
778
758
  # @param segment_id [String]
779
759
  # @param timestamp [Time]
780
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::Type]
760
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
781
761
 
782
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1#type
762
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry#type
783
763
  module Type
784
764
  extend MetronomeSDK::Internal::Type::Enum
785
765
 
@@ -790,7 +770,7 @@ module MetronomeSDK
790
770
  end
791
771
  end
792
772
 
793
- class UnionMember2 < MetronomeSDK::Internal::Type::BaseModel
773
+ class PrepaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
794
774
  # @!attribute amount
795
775
  #
796
776
  # @return [Float]
@@ -813,18 +793,18 @@ module MetronomeSDK
813
793
 
814
794
  # @!attribute type
815
795
  #
816
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::Type]
796
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
817
797
  required :type,
818
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::Type }
798
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type }
819
799
 
820
800
  # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
821
801
  # @param amount [Float]
822
802
  # @param new_contract_id [String]
823
803
  # @param segment_id [String]
824
804
  # @param timestamp [Time]
825
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::Type]
805
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
826
806
 
827
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2#type
807
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry#type
828
808
  module Type
829
809
  extend MetronomeSDK::Internal::Type::Enum
830
810
 
@@ -835,7 +815,7 @@ module MetronomeSDK
835
815
  end
836
816
  end
837
817
 
838
- class UnionMember3 < MetronomeSDK::Internal::Type::BaseModel
818
+ class PrepaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
839
819
  # @!attribute amount
840
820
  #
841
821
  # @return [Float]
@@ -853,17 +833,17 @@ module MetronomeSDK
853
833
 
854
834
  # @!attribute type
855
835
  #
856
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::Type]
836
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
857
837
  required :type,
858
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::Type }
838
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type }
859
839
 
860
840
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
861
841
  # @param amount [Float]
862
842
  # @param segment_id [String]
863
843
  # @param timestamp [Time]
864
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::Type]
844
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
865
845
 
866
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3#type
846
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry#type
867
847
  module Type
868
848
  extend MetronomeSDK::Internal::Type::Enum
869
849
 
@@ -874,7 +854,7 @@ module MetronomeSDK
874
854
  end
875
855
  end
876
856
 
877
- class UnionMember4 < MetronomeSDK::Internal::Type::BaseModel
857
+ class PrepaidCommitCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
878
858
  # @!attribute amount
879
859
  #
880
860
  # @return [Float]
@@ -897,18 +877,18 @@ module MetronomeSDK
897
877
 
898
878
  # @!attribute type
899
879
  #
900
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::Type]
880
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
901
881
  required :type,
902
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::Type }
882
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type }
903
883
 
904
884
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
905
885
  # @param amount [Float]
906
886
  # @param invoice_id [String]
907
887
  # @param segment_id [String]
908
888
  # @param timestamp [Time]
909
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::Type]
889
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
910
890
 
911
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4#type
891
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry#type
912
892
  module Type
913
893
  extend MetronomeSDK::Internal::Type::Enum
914
894
 
@@ -919,7 +899,7 @@ module MetronomeSDK
919
899
  end
920
900
  end
921
901
 
922
- class UnionMember5 < MetronomeSDK::Internal::Type::BaseModel
902
+ class PrepaidCommitCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
923
903
  # @!attribute amount
924
904
  #
925
905
  # @return [Float]
@@ -942,18 +922,18 @@ module MetronomeSDK
942
922
 
943
923
  # @!attribute type
944
924
  #
945
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::Type]
925
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
946
926
  required :type,
947
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::Type }
927
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type }
948
928
 
949
929
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
950
930
  # @param amount [Float]
951
931
  # @param invoice_id [String]
952
932
  # @param segment_id [String]
953
933
  # @param timestamp [Time]
954
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::Type]
934
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
955
935
 
956
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5#type
936
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry#type
957
937
  module Type
958
938
  extend MetronomeSDK::Internal::Type::Enum
959
939
 
@@ -964,7 +944,7 @@ module MetronomeSDK
964
944
  end
965
945
  end
966
946
 
967
- class UnionMember6 < MetronomeSDK::Internal::Type::BaseModel
947
+ class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
968
948
  # @!attribute amount
969
949
  #
970
950
  # @return [Float]
@@ -977,16 +957,16 @@ module MetronomeSDK
977
957
 
978
958
  # @!attribute type
979
959
  #
980
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::Type]
960
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
981
961
  required :type,
982
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::Type }
962
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type }
983
963
 
984
964
  # @!method initialize(amount:, timestamp:, type:)
985
965
  # @param amount [Float]
986
966
  # @param timestamp [Time]
987
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::Type]
967
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
988
968
 
989
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6#type
969
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry#type
990
970
  module Type
991
971
  extend MetronomeSDK::Internal::Type::Enum
992
972
 
@@ -997,7 +977,7 @@ module MetronomeSDK
997
977
  end
998
978
  end
999
979
 
1000
- class UnionMember7 < MetronomeSDK::Internal::Type::BaseModel
980
+ class PostpaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1001
981
  # @!attribute amount
1002
982
  #
1003
983
  # @return [Float]
@@ -1020,18 +1000,18 @@ module MetronomeSDK
1020
1000
 
1021
1001
  # @!attribute type
1022
1002
  #
1023
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::Type]
1003
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1024
1004
  required :type,
1025
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::Type }
1005
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
1026
1006
 
1027
1007
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1028
1008
  # @param amount [Float]
1029
1009
  # @param invoice_id [String]
1030
1010
  # @param segment_id [String]
1031
1011
  # @param timestamp [Time]
1032
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::Type]
1012
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1033
1013
 
1034
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7#type
1014
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry#type
1035
1015
  module Type
1036
1016
  extend MetronomeSDK::Internal::Type::Enum
1037
1017
 
@@ -1042,7 +1022,7 @@ module MetronomeSDK
1042
1022
  end
1043
1023
  end
1044
1024
 
1045
- class UnionMember8 < MetronomeSDK::Internal::Type::BaseModel
1025
+ class PostpaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1046
1026
  # @!attribute amount
1047
1027
  #
1048
1028
  # @return [Float]
@@ -1065,18 +1045,18 @@ module MetronomeSDK
1065
1045
 
1066
1046
  # @!attribute type
1067
1047
  #
1068
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::Type]
1048
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
1069
1049
  required :type,
1070
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::Type }
1050
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type }
1071
1051
 
1072
1052
  # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
1073
1053
  # @param amount [Float]
1074
1054
  # @param new_contract_id [String]
1075
1055
  # @param segment_id [String]
1076
1056
  # @param timestamp [Time]
1077
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::Type]
1057
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
1078
1058
 
1079
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8#type
1059
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry#type
1080
1060
  module Type
1081
1061
  extend MetronomeSDK::Internal::Type::Enum
1082
1062
 
@@ -1087,7 +1067,7 @@ module MetronomeSDK
1087
1067
  end
1088
1068
  end
1089
1069
 
1090
- class UnionMember9 < MetronomeSDK::Internal::Type::BaseModel
1070
+ class PostpaidCommitTrueupLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1091
1071
  # @!attribute amount
1092
1072
  #
1093
1073
  # @return [Float]
@@ -1105,17 +1085,17 @@ module MetronomeSDK
1105
1085
 
1106
1086
  # @!attribute type
1107
1087
  #
1108
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::Type]
1088
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1109
1089
  required :type,
1110
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::Type }
1090
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type }
1111
1091
 
1112
1092
  # @!method initialize(amount:, invoice_id:, timestamp:, type:)
1113
1093
  # @param amount [Float]
1114
1094
  # @param invoice_id [String]
1115
1095
  # @param timestamp [Time]
1116
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::Type]
1096
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1117
1097
 
1118
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9#type
1098
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry#type
1119
1099
  module Type
1120
1100
  extend MetronomeSDK::Internal::Type::Enum
1121
1101
 
@@ -1126,7 +1106,7 @@ module MetronomeSDK
1126
1106
  end
1127
1107
  end
1128
1108
 
1129
- class UnionMember10 < MetronomeSDK::Internal::Type::BaseModel
1109
+ class PrepaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1130
1110
  # @!attribute amount
1131
1111
  #
1132
1112
  # @return [Float]
@@ -1144,17 +1124,17 @@ module MetronomeSDK
1144
1124
 
1145
1125
  # @!attribute type
1146
1126
  #
1147
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::Type]
1127
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
1148
1128
  required :type,
1149
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::Type }
1129
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type }
1150
1130
 
1151
1131
  # @!method initialize(amount:, reason:, timestamp:, type:)
1152
1132
  # @param amount [Float]
1153
1133
  # @param reason [String]
1154
1134
  # @param timestamp [Time]
1155
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::Type]
1135
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
1156
1136
 
1157
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10#type
1137
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry#type
1158
1138
  module Type
1159
1139
  extend MetronomeSDK::Internal::Type::Enum
1160
1140
 
@@ -1165,7 +1145,7 @@ module MetronomeSDK
1165
1145
  end
1166
1146
  end
1167
1147
 
1168
- class UnionMember11 < MetronomeSDK::Internal::Type::BaseModel
1148
+ class PostpaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1169
1149
  # @!attribute amount
1170
1150
  #
1171
1151
  # @return [Float]
@@ -1183,17 +1163,17 @@ module MetronomeSDK
1183
1163
 
1184
1164
  # @!attribute type
1185
1165
  #
1186
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::Type]
1166
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
1187
1167
  required :type,
1188
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::Type }
1168
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type }
1189
1169
 
1190
1170
  # @!method initialize(amount:, reason:, timestamp:, type:)
1191
1171
  # @param amount [Float]
1192
1172
  # @param reason [String]
1193
1173
  # @param timestamp [Time]
1194
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::Type]
1174
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
1195
1175
 
1196
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11#type
1176
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry#type
1197
1177
  module Type
1198
1178
  extend MetronomeSDK::Internal::Type::Enum
1199
1179
 
@@ -1204,7 +1184,7 @@ module MetronomeSDK
1204
1184
  end
1205
1185
  end
1206
1186
 
1207
- class UnionMember12 < MetronomeSDK::Internal::Type::BaseModel
1187
+ class PostpaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1208
1188
  # @!attribute amount
1209
1189
  #
1210
1190
  # @return [Float]
@@ -1217,16 +1197,16 @@ module MetronomeSDK
1217
1197
 
1218
1198
  # @!attribute type
1219
1199
  #
1220
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::Type]
1200
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
1221
1201
  required :type,
1222
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::Type }
1202
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type }
1223
1203
 
1224
1204
  # @!method initialize(amount:, timestamp:, type:)
1225
1205
  # @param amount [Float]
1226
1206
  # @param timestamp [Time]
1227
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::Type]
1207
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
1228
1208
 
1229
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12#type
1209
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry#type
1230
1210
  module Type
1231
1211
  extend MetronomeSDK::Internal::Type::Enum
1232
1212
 
@@ -1238,7 +1218,7 @@ module MetronomeSDK
1238
1218
  end
1239
1219
 
1240
1220
  # @!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)]
1221
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry)]
1242
1222
  end
1243
1223
 
1244
1224
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#rate_type
@@ -1490,9 +1470,8 @@ module MetronomeSDK
1490
1470
 
1491
1471
  # @!attribute credit_type
1492
1472
  #
1493
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::CreditType, nil]
1494
- optional :credit_type,
1495
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::CreditType }
1473
+ # @return [MetronomeSDK::Models::CreditTypeData, nil]
1474
+ optional :credit_type, -> { MetronomeSDK::CreditTypeData }
1496
1475
 
1497
1476
  # @!attribute custom_rate
1498
1477
  # Only set for CUSTOM rate_type. This field is interpreted by custom rate
@@ -1525,9 +1504,8 @@ module MetronomeSDK
1525
1504
  # @!attribute tiers
1526
1505
  # Only set for TIERED rate_type.
1527
1506
  #
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] }
1507
+ # @return [Array<MetronomeSDK::Models::Tier>, nil]
1508
+ optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
1531
1509
 
1532
1510
  # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1533
1511
  # Some parameter documentations has been truncated, see
@@ -1536,7 +1514,7 @@ module MetronomeSDK
1536
1514
  #
1537
1515
  # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::RateType]
1538
1516
  #
1539
- # @param credit_type [MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::CreditType]
1517
+ # @param credit_type [MetronomeSDK::Models::CreditTypeData]
1540
1518
  #
1541
1519
  # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
1542
1520
  #
@@ -1546,7 +1524,7 @@ module MetronomeSDK
1546
1524
  #
1547
1525
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1548
1526
  #
1549
- # @param tiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::Tier>] Only set for TIERED rate_type.
1527
+ # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
1550
1528
 
1551
1529
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate#rate_type
1552
1530
  module RateType
@@ -1561,39 +1539,6 @@ module MetronomeSDK
1561
1539
  # @!method self.values
1562
1540
  # @return [Array<Symbol>]
1563
1541
  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
1542
  end
1598
1543
 
1599
1544
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override#product
@@ -1637,153 +1582,6 @@ module MetronomeSDK
1637
1582
  end
1638
1583
  end
1639
1584
 
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
1585
  class Transition < MetronomeSDK::Internal::Type::BaseModel
1788
1586
  # @!attribute from_contract_id
1789
1587
  #
@@ -1908,9 +1706,8 @@ module MetronomeSDK
1908
1706
  # @!attribute access_schedule
1909
1707
  # The schedule that the customer will gain access to the credits.
1910
1708
  #
1911
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule, nil]
1912
- optional :access_schedule,
1913
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule }
1709
+ # @return [MetronomeSDK::Models::ScheduleDuration, nil]
1710
+ optional :access_schedule, -> { MetronomeSDK::ScheduleDuration }
1914
1711
 
1915
1712
  # @!attribute applicable_contract_ids
1916
1713
  #
@@ -1955,11 +1752,18 @@ module MetronomeSDK
1955
1752
  # @return [String, nil]
1956
1753
  optional :description, String
1957
1754
 
1755
+ # @!attribute hierarchy_configuration
1756
+ # Optional configuration for credit hierarchy access control
1757
+ #
1758
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration, nil]
1759
+ optional :hierarchy_configuration,
1760
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration }
1761
+
1958
1762
  # @!attribute ledger
1959
1763
  # A list of ordered events that impact the balance of a credit. For example, an
1960
1764
  # invoice deduction or an expiration.
1961
1765
  #
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]
1766
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry>, nil]
1963
1767
  optional :ledger,
1964
1768
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger] }
1965
1769
 
@@ -1996,7 +1800,7 @@ module MetronomeSDK
1996
1800
  optional :specifiers,
1997
1801
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Specifier] }
1998
1802
 
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)
1803
+ # @!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
1804
  # Some parameter documentations has been truncated, see
2001
1805
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::Credit} for more details.
2002
1806
  #
@@ -2006,7 +1810,7 @@ module MetronomeSDK
2006
1810
  #
2007
1811
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Type]
2008
1812
  #
2009
- # @param access_schedule [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule] The schedule that the customer will gain access to the credits.
1813
+ # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits.
2010
1814
  #
2011
1815
  # @param applicable_contract_ids [Array<String>]
2012
1816
  #
@@ -2022,7 +1826,9 @@ module MetronomeSDK
2022
1826
  #
2023
1827
  # @param description [String]
2024
1828
  #
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
1829
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration] Optional configuration for credit hierarchy access control
1830
+ #
1831
+ # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry>] A list of ordered events that impact the balance of a credit. For example, an in
2026
1832
  #
2027
1833
  # @param name [String]
2028
1834
  #
@@ -2061,99 +1867,130 @@ module MetronomeSDK
2061
1867
  # @return [Array<Symbol>]
2062
1868
  end
2063
1869
 
2064
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#access_schedule
2065
- class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
2066
- # @!attribute schedule_items
1870
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#contract
1871
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
1872
+ # @!attribute id
2067
1873
  #
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] }
1874
+ # @return [String]
1875
+ required :id, String
2071
1876
 
2072
- # @!attribute credit_type
1877
+ # @!method initialize(id:)
1878
+ # @param id [String]
1879
+ end
1880
+
1881
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#hierarchy_configuration
1882
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1883
+ # @!attribute child_access
2073
1884
  #
2074
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::CreditType, nil]
2075
- optional :credit_type,
2076
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::CreditType }
1885
+ # @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]
1886
+ required :child_access,
1887
+ union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess }
2077
1888
 
2078
- # @!method initialize(schedule_items:, credit_type: nil)
2079
- # The schedule that the customer will gain access to the credits.
1889
+ # @!method initialize(child_access:)
1890
+ # Optional configuration for credit hierarchy access control
2080
1891
  #
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]
1892
+ # @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
1893
 
2084
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2085
- # @!attribute id
2086
- #
2087
- # @return [String]
2088
- required :id, String
1894
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration#child_access
1895
+ module ChildAccess
1896
+ extend MetronomeSDK::Internal::Type::Union
2089
1897
 
2090
- # @!attribute amount
2091
- #
2092
- # @return [Float]
2093
- required :amount, Float
1898
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
2094
1899
 
2095
- # @!attribute ending_before
2096
- #
2097
- # @return [Time]
2098
- required :ending_before, Time
1900
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
1901
+
1902
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
1903
+
1904
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1905
+ # @!attribute type
1906
+ #
1907
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1908
+ required :type,
1909
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
1910
+
1911
+ # @!method initialize(type:)
1912
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1913
+
1914
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
1915
+ module Type
1916
+ extend MetronomeSDK::Internal::Type::Enum
1917
+
1918
+ ALL = :ALL
1919
+
1920
+ # @!method self.values
1921
+ # @return [Array<Symbol>]
1922
+ end
1923
+ end
1924
+
1925
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1926
+ # @!attribute type
1927
+ #
1928
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1929
+ required :type,
1930
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
1931
+
1932
+ # @!method initialize(type:)
1933
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1934
+
1935
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
1936
+ module Type
1937
+ extend MetronomeSDK::Internal::Type::Enum
1938
+
1939
+ NONE = :NONE
1940
+
1941
+ # @!method self.values
1942
+ # @return [Array<Symbol>]
1943
+ end
1944
+ end
2099
1945
 
2100
- # @!attribute starting_at
2101
- #
2102
- # @return [Time]
2103
- required :starting_at, Time
1946
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1947
+ # @!attribute contract_ids
1948
+ #
1949
+ # @return [Array<String>]
1950
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2104
1951
 
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
1952
+ # @!attribute type
1953
+ #
1954
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1955
+ required :type,
1956
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
2111
1957
 
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
1958
+ # @!method initialize(contract_ids:, type:)
1959
+ # @param contract_ids [Array<String>]
1960
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
2118
1961
 
2119
- # @!attribute name
2120
- #
2121
- # @return [String]
2122
- required :name, String
1962
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
1963
+ module Type
1964
+ extend MetronomeSDK::Internal::Type::Enum
2123
1965
 
2124
- # @!method initialize(id:, name:)
2125
- # @param id [String]
2126
- # @param name [String]
2127
- end
2128
- end
1966
+ CONTRACT_IDS = :CONTRACT_IDS
2129
1967
 
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
1968
+ # @!method self.values
1969
+ # @return [Array<Symbol>]
1970
+ end
1971
+ end
2136
1972
 
2137
- # @!method initialize(id:)
2138
- # @param id [String]
1973
+ # @!method self.variants
1974
+ # @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)]
1975
+ end
2139
1976
  end
2140
1977
 
2141
1978
  module Ledger
2142
1979
  extend MetronomeSDK::Internal::Type::Union
2143
1980
 
2144
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0 }
1981
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry }
2145
1982
 
2146
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1 }
1983
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry }
2147
1984
 
2148
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2 }
1985
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry }
2149
1986
 
2150
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3 }
1987
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry }
2151
1988
 
2152
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4 }
1989
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry }
2153
1990
 
2154
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5 }
1991
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry }
2155
1992
 
2156
- class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
1993
+ class CreditSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2157
1994
  # @!attribute amount
2158
1995
  #
2159
1996
  # @return [Float]
@@ -2171,17 +2008,17 @@ module MetronomeSDK
2171
2008
 
2172
2009
  # @!attribute type
2173
2010
  #
2174
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::Type]
2011
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
2175
2012
  required :type,
2176
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::Type }
2013
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type }
2177
2014
 
2178
2015
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
2179
2016
  # @param amount [Float]
2180
2017
  # @param segment_id [String]
2181
2018
  # @param timestamp [Time]
2182
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::Type]
2019
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
2183
2020
 
2184
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0#type
2021
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry#type
2185
2022
  module Type
2186
2023
  extend MetronomeSDK::Internal::Type::Enum
2187
2024
 
@@ -2192,7 +2029,7 @@ module MetronomeSDK
2192
2029
  end
2193
2030
  end
2194
2031
 
2195
- class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
2032
+ class CreditAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2196
2033
  # @!attribute amount
2197
2034
  #
2198
2035
  # @return [Float]
@@ -2215,18 +2052,18 @@ module MetronomeSDK
2215
2052
 
2216
2053
  # @!attribute type
2217
2054
  #
2218
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::Type]
2055
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2219
2056
  required :type,
2220
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::Type }
2057
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type }
2221
2058
 
2222
2059
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2223
2060
  # @param amount [Float]
2224
2061
  # @param invoice_id [String]
2225
2062
  # @param segment_id [String]
2226
2063
  # @param timestamp [Time]
2227
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::Type]
2064
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2228
2065
 
2229
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1#type
2066
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry#type
2230
2067
  module Type
2231
2068
  extend MetronomeSDK::Internal::Type::Enum
2232
2069
 
@@ -2237,7 +2074,7 @@ module MetronomeSDK
2237
2074
  end
2238
2075
  end
2239
2076
 
2240
- class UnionMember2 < MetronomeSDK::Internal::Type::BaseModel
2077
+ class CreditExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2241
2078
  # @!attribute amount
2242
2079
  #
2243
2080
  # @return [Float]
@@ -2255,17 +2092,17 @@ module MetronomeSDK
2255
2092
 
2256
2093
  # @!attribute type
2257
2094
  #
2258
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::Type]
2095
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type]
2259
2096
  required :type,
2260
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::Type }
2097
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type }
2261
2098
 
2262
2099
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
2263
2100
  # @param amount [Float]
2264
2101
  # @param segment_id [String]
2265
2102
  # @param timestamp [Time]
2266
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::Type]
2103
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type]
2267
2104
 
2268
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2#type
2105
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry#type
2269
2106
  module Type
2270
2107
  extend MetronomeSDK::Internal::Type::Enum
2271
2108
 
@@ -2276,7 +2113,7 @@ module MetronomeSDK
2276
2113
  end
2277
2114
  end
2278
2115
 
2279
- class UnionMember3 < MetronomeSDK::Internal::Type::BaseModel
2116
+ class CreditCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2280
2117
  # @!attribute amount
2281
2118
  #
2282
2119
  # @return [Float]
@@ -2299,18 +2136,18 @@ module MetronomeSDK
2299
2136
 
2300
2137
  # @!attribute type
2301
2138
  #
2302
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::Type]
2139
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2303
2140
  required :type,
2304
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::Type }
2141
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type }
2305
2142
 
2306
2143
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2307
2144
  # @param amount [Float]
2308
2145
  # @param invoice_id [String]
2309
2146
  # @param segment_id [String]
2310
2147
  # @param timestamp [Time]
2311
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::Type]
2148
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2312
2149
 
2313
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3#type
2150
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry#type
2314
2151
  module Type
2315
2152
  extend MetronomeSDK::Internal::Type::Enum
2316
2153
 
@@ -2321,7 +2158,7 @@ module MetronomeSDK
2321
2158
  end
2322
2159
  end
2323
2160
 
2324
- class UnionMember4 < MetronomeSDK::Internal::Type::BaseModel
2161
+ class CreditCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2325
2162
  # @!attribute amount
2326
2163
  #
2327
2164
  # @return [Float]
@@ -2344,18 +2181,18 @@ module MetronomeSDK
2344
2181
 
2345
2182
  # @!attribute type
2346
2183
  #
2347
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::Type]
2184
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2348
2185
  required :type,
2349
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::Type }
2186
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type }
2350
2187
 
2351
2188
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2352
2189
  # @param amount [Float]
2353
2190
  # @param invoice_id [String]
2354
2191
  # @param segment_id [String]
2355
2192
  # @param timestamp [Time]
2356
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::Type]
2193
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2357
2194
 
2358
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4#type
2195
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry#type
2359
2196
  module Type
2360
2197
  extend MetronomeSDK::Internal::Type::Enum
2361
2198
 
@@ -2366,7 +2203,7 @@ module MetronomeSDK
2366
2203
  end
2367
2204
  end
2368
2205
 
2369
- class UnionMember5 < MetronomeSDK::Internal::Type::BaseModel
2206
+ class CreditManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2370
2207
  # @!attribute amount
2371
2208
  #
2372
2209
  # @return [Float]
@@ -2384,17 +2221,17 @@ module MetronomeSDK
2384
2221
 
2385
2222
  # @!attribute type
2386
2223
  #
2387
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::Type]
2224
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type]
2388
2225
  required :type,
2389
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::Type }
2226
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type }
2390
2227
 
2391
2228
  # @!method initialize(amount:, reason:, timestamp:, type:)
2392
2229
  # @param amount [Float]
2393
2230
  # @param reason [String]
2394
2231
  # @param timestamp [Time]
2395
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::Type]
2232
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type]
2396
2233
 
2397
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5#type
2234
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry#type
2398
2235
  module Type
2399
2236
  extend MetronomeSDK::Internal::Type::Enum
2400
2237
 
@@ -2406,7 +2243,7 @@ module MetronomeSDK
2406
2243
  end
2407
2244
 
2408
2245
  # @!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)]
2246
+ # @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)]
2410
2247
  end
2411
2248
 
2412
2249
  class Specifier < MetronomeSDK::Internal::Type::BaseModel
@@ -2499,143 +2336,82 @@ module MetronomeSDK
2499
2336
  end
2500
2337
  end
2501
2338
 
2502
- class Discount < MetronomeSDK::Internal::Type::BaseModel
2503
- # @!attribute id
2504
- #
2505
- # @return [String]
2506
- required :id, String
2507
-
2508
- # @!attribute product
2509
- #
2510
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Product]
2511
- required :product, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Product }
2512
-
2513
- # @!attribute schedule
2514
- #
2515
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule]
2516
- required :schedule, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule }
2517
-
2518
- # @!attribute custom_fields
2519
- #
2520
- # @return [Hash{Symbol=>String}, nil]
2521
- optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
2522
-
2523
- # @!attribute name
2524
- #
2525
- # @return [String, nil]
2526
- optional :name, String
2527
-
2528
- # @!attribute netsuite_sales_order_id
2529
- # This field's availability is dependent on your client's configuration.
2530
- #
2531
- # @return [String, nil]
2532
- optional :netsuite_sales_order_id, String
2533
-
2534
- # @!method initialize(id:, product:, schedule:, custom_fields: nil, name: nil, netsuite_sales_order_id: nil)
2535
- # @param id [String]
2536
- #
2537
- # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Product]
2538
- #
2539
- # @param schedule [MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule]
2540
- #
2541
- # @param custom_fields [Hash{Symbol=>String}]
2542
- #
2543
- # @param name [String]
2544
- #
2545
- # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
2546
-
2547
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Discount#product
2548
- class Product < MetronomeSDK::Internal::Type::BaseModel
2549
- # @!attribute id
2550
- #
2551
- # @return [String]
2552
- required :id, String
2553
-
2554
- # @!attribute name
2555
- #
2556
- # @return [String]
2557
- required :name, String
2339
+ # Either a **parent** configuration with a list of children or a **child**
2340
+ # configuration with a single parent.
2341
+ #
2342
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data#hierarchy_configuration
2343
+ module HierarchyConfiguration
2344
+ extend MetronomeSDK::Internal::Type::Union
2558
2345
 
2559
- # @!method initialize(id:, name:)
2560
- # @param id [String]
2561
- # @param name [String]
2562
- end
2346
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration }
2563
2347
 
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 }
2348
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration }
2571
2349
 
2572
- # @!attribute schedule_items
2350
+ class ParentHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2351
+ # @!attribute children
2352
+ # List of contracts that belong to this parent.
2573
2353
  #
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] }
2354
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child>]
2355
+ required :children,
2356
+ -> do
2357
+ MetronomeSDK::Internal::Type::ArrayOf[
2358
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child
2359
+ ]
2360
+ end
2577
2361
 
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>]
2362
+ # @!method initialize(children:)
2363
+ # @param children [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child>] List of contracts that belong to this parent.
2581
2364
 
2582
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule#credit_type
2583
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
2584
- # @!attribute id
2365
+ class Child < MetronomeSDK::Internal::Type::BaseModel
2366
+ # @!attribute contract_id
2585
2367
  #
2586
2368
  # @return [String]
2587
- required :id, String
2369
+ required :contract_id, String
2588
2370
 
2589
- # @!attribute name
2371
+ # @!attribute customer_id
2590
2372
  #
2591
2373
  # @return [String]
2592
- required :name, String
2374
+ required :customer_id, String
2593
2375
 
2594
- # @!method initialize(id:, name:)
2595
- # @param id [String]
2596
- # @param name [String]
2376
+ # @!method initialize(contract_id:, customer_id:)
2377
+ # @param contract_id [String]
2378
+ # @param customer_id [String]
2597
2379
  end
2380
+ end
2598
2381
 
2599
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2600
- # @!attribute id
2601
- #
2602
- # @return [String]
2603
- required :id, String
2382
+ class ChildHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2383
+ # @!attribute parent
2384
+ # The single parent contract/customer for this child.
2385
+ #
2386
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent]
2387
+ required :parent,
2388
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent }
2604
2389
 
2605
- # @!attribute amount
2606
- #
2607
- # @return [Float]
2608
- required :amount, Float
2390
+ # @!method initialize(parent:)
2391
+ # @param parent [MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent] The single parent contract/customer for this child.
2609
2392
 
2610
- # @!attribute invoice_id
2393
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration#parent
2394
+ class Parent < MetronomeSDK::Internal::Type::BaseModel
2395
+ # @!attribute contract_id
2611
2396
  #
2612
2397
  # @return [String]
2613
- required :invoice_id, String
2614
-
2615
- # @!attribute quantity
2616
- #
2617
- # @return [Float]
2618
- required :quantity, Float
2398
+ required :contract_id, String
2619
2399
 
2620
- # @!attribute timestamp
2400
+ # @!attribute customer_id
2621
2401
  #
2622
- # @return [Time]
2623
- required :timestamp, Time
2402
+ # @return [String]
2403
+ required :customer_id, String
2624
2404
 
2625
- # @!attribute unit_price
2405
+ # @!method initialize(contract_id:, customer_id:)
2406
+ # The single parent contract/customer for this child.
2626
2407
  #
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]
2408
+ # @param contract_id [String]
2409
+ # @param customer_id [String]
2637
2410
  end
2638
2411
  end
2412
+
2413
+ # @!method self.variants
2414
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration)]
2639
2415
  end
2640
2416
 
2641
2417
  # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
@@ -2689,7 +2465,14 @@ module MetronomeSDK
2689
2465
  # @return [Float]
2690
2466
  required :threshold_amount, Float
2691
2467
 
2692
- # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:)
2468
+ # @!attribute custom_credit_type_id
2469
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
2470
+ # commit amount will be in terms of this credit type instead of the fiat currency.
2471
+ #
2472
+ # @return [String, nil]
2473
+ optional :custom_credit_type_id, String
2474
+
2475
+ # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:, custom_credit_type_id: nil)
2693
2476
  # Some parameter documentations has been truncated, see
2694
2477
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration}
2695
2478
  # for more details.
@@ -2703,6 +2486,8 @@ module MetronomeSDK
2703
2486
  # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
2704
2487
  #
2705
2488
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
2489
+ #
2490
+ # @param custom_credit_type_id [String] If provided, the threshold, recharge-to amount, and the resulting threshold comm
2706
2491
 
2707
2492
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration#commit
2708
2493
  class Commit < MetronomeSDK::Internal::Type::BaseModel
@@ -2714,16 +2499,17 @@ module MetronomeSDK
2714
2499
  required :product_id, String
2715
2500
 
2716
2501
  # @!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.
2502
+ # Which products the threshold commit applies to. If applicable_product_ids,
2503
+ # applicable_product_tags or specifiers are not provided, the commit applies to
2504
+ # all products.
2720
2505
  #
2721
2506
  # @return [Array<String>, nil]
2722
2507
  optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2723
2508
 
2724
2509
  # @!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.
2510
+ # Which tags the threshold commit applies to. If applicable_product_ids,
2511
+ # applicable_product_tags or specifiers are not provided, the commit applies to
2512
+ # all products.
2727
2513
  #
2728
2514
  # @return [Array<String>, nil]
2729
2515
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
@@ -2761,9 +2547,9 @@ module MetronomeSDK
2761
2547
  #
2762
2548
  # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
2763
2549
  #
2764
- # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
2550
+ # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If applicable_product_ids, appli
2765
2551
  #
2766
- # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
2552
+ # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If applicable_product_ids, applicabl
2767
2553
  #
2768
2554
  # @param description [String]
2769
2555
  #
@@ -2822,8 +2608,15 @@ module MetronomeSDK
2822
2608
  required :payment_gate_type,
2823
2609
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType }
2824
2610
 
2611
+ # @!attribute precalculated_tax_config
2612
+ # Only applicable if using PRECALCULATED as your tax type.
2613
+ #
2614
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
2615
+ optional :precalculated_tax_config,
2616
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig }
2617
+
2825
2618
  # @!attribute stripe_config
2826
- # Only applicable if using Stripe as your payment gateway through Metronome.
2619
+ # Only applicable if using STRIPE as your payment gateway type.
2827
2620
  #
2828
2621
  # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
2829
2622
  optional :stripe_config,
@@ -2838,14 +2631,16 @@ module MetronomeSDK
2838
2631
  optional :tax_type,
2839
2632
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType }
2840
2633
 
2841
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
2634
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
2842
2635
  # Some parameter documentations has been truncated, see
2843
2636
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig}
2844
2637
  # for more details.
2845
2638
  #
2846
2639
  # @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
2640
  #
2848
- # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
2641
+ # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
2642
+ #
2643
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
2849
2644
  #
2850
2645
  # @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
2646
 
@@ -2866,6 +2661,34 @@ module MetronomeSDK
2866
2661
  # @return [Array<Symbol>]
2867
2662
  end
2868
2663
 
2664
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
2665
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
2666
+ # @!attribute tax_amount
2667
+ # Amount of tax to be applied. This should be in the same currency and
2668
+ # denomination as the commit's invoice schedule
2669
+ #
2670
+ # @return [Float]
2671
+ required :tax_amount, Float
2672
+
2673
+ # @!attribute tax_name
2674
+ # Name of the tax to be applied. This may be used in an invoice line item
2675
+ # description.
2676
+ #
2677
+ # @return [String, nil]
2678
+ optional :tax_name, String
2679
+
2680
+ # @!method initialize(tax_amount:, tax_name: nil)
2681
+ # Some parameter documentations has been truncated, see
2682
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
2683
+ # for more details.
2684
+ #
2685
+ # Only applicable if using PRECALCULATED as your tax type.
2686
+ #
2687
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
2688
+ #
2689
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
2690
+ end
2691
+
2869
2692
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
2870
2693
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2871
2694
  # @!attribute payment_type
@@ -2875,10 +2698,23 @@ module MetronomeSDK
2875
2698
  required :payment_type,
2876
2699
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
2877
2700
 
2878
- # @!method initialize(payment_type:)
2879
- # Only applicable if using Stripe as your payment gateway through Metronome.
2701
+ # @!attribute invoice_metadata
2702
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2703
+ # your payment type.
2704
+ #
2705
+ # @return [Hash{Symbol=>String}, nil]
2706
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
2707
+
2708
+ # @!method initialize(payment_type:, invoice_metadata: nil)
2709
+ # Some parameter documentations has been truncated, see
2710
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig}
2711
+ # for more details.
2712
+ #
2713
+ # Only applicable if using STRIPE as your payment gateway type.
2880
2714
  #
2881
2715
  # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
2716
+ #
2717
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2882
2718
 
2883
2719
  # If left blank, will default to INVOICE
2884
2720
  #
@@ -2904,6 +2740,8 @@ module MetronomeSDK
2904
2740
 
2905
2741
  NONE = :NONE
2906
2742
  STRIPE = :STRIPE
2743
+ ANROK = :ANROK
2744
+ PRECALCULATED = :PRECALCULATED
2907
2745
 
2908
2746
  # @!method self.values
2909
2747
  # @return [Array<Symbol>]
@@ -2911,75 +2749,6 @@ module MetronomeSDK
2911
2749
  end
2912
2750
  end
2913
2751
 
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
2752
  class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
2984
2753
  # @!attribute id
2985
2754
  #
@@ -3075,6 +2844,7 @@ module MetronomeSDK
3075
2844
  # @!attribute proration
3076
2845
  # Determines whether the first and last commit will be prorated. If not provided,
3077
2846
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2847
+ # subscription_config:
3078
2848
  #
3079
2849
  # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration, nil]
3080
2850
  optional :proration,
@@ -3158,22 +2928,22 @@ module MetronomeSDK
3158
2928
  # @return [String]
3159
2929
  required :credit_type_id, String
3160
2930
 
3161
- # @!attribute quantity
3162
- #
3163
- # @return [Float]
3164
- required :quantity, Float
3165
-
3166
2931
  # @!attribute unit_price
3167
2932
  #
3168
2933
  # @return [Float]
3169
2934
  required :unit_price, Float
3170
2935
 
3171
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
2936
+ # @!attribute quantity
2937
+ #
2938
+ # @return [Float, nil]
2939
+ optional :quantity, Float
2940
+
2941
+ # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
3172
2942
  # The amount of commit to grant.
3173
2943
  #
3174
2944
  # @param credit_type_id [String]
3175
- # @param quantity [Float]
3176
2945
  # @param unit_price [Float]
2946
+ # @param quantity [Float]
3177
2947
  end
3178
2948
 
3179
2949
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#commit_duration
@@ -3274,6 +3044,7 @@ module MetronomeSDK
3274
3044
 
3275
3045
  # Determines whether the first and last commit will be prorated. If not provided,
3276
3046
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3047
+ # subscription_config:
3277
3048
  #
3278
3049
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#proration
3279
3050
  module Proration
@@ -3434,6 +3205,7 @@ module MetronomeSDK
3434
3205
  # @!attribute proration
3435
3206
  # Determines whether the first and last commit will be prorated. If not provided,
3436
3207
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3208
+ # subscription_config:
3437
3209
  #
3438
3210
  # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Proration, nil]
3439
3211
  optional :proration,
@@ -3515,22 +3287,22 @@ module MetronomeSDK
3515
3287
  # @return [String]
3516
3288
  required :credit_type_id, String
3517
3289
 
3518
- # @!attribute quantity
3519
- #
3520
- # @return [Float]
3521
- required :quantity, Float
3522
-
3523
3290
  # @!attribute unit_price
3524
3291
  #
3525
3292
  # @return [Float]
3526
3293
  required :unit_price, Float
3527
3294
 
3528
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
3295
+ # @!attribute quantity
3296
+ #
3297
+ # @return [Float, nil]
3298
+ optional :quantity, Float
3299
+
3300
+ # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
3529
3301
  # The amount of commit to grant.
3530
3302
  #
3531
3303
  # @param credit_type_id [String]
3532
- # @param quantity [Float]
3533
3304
  # @param unit_price [Float]
3305
+ # @param quantity [Float]
3534
3306
  end
3535
3307
 
3536
3308
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#commit_duration
@@ -3606,6 +3378,7 @@ module MetronomeSDK
3606
3378
 
3607
3379
  # Determines whether the first and last commit will be prorated. If not provided,
3608
3380
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3381
+ # subscription_config:
3609
3382
  #
3610
3383
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#proration
3611
3384
  module Proration
@@ -3908,8 +3681,15 @@ module MetronomeSDK
3908
3681
  required :payment_gate_type,
3909
3682
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType }
3910
3683
 
3684
+ # @!attribute precalculated_tax_config
3685
+ # Only applicable if using PRECALCULATED as your tax type.
3686
+ #
3687
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
3688
+ optional :precalculated_tax_config,
3689
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig }
3690
+
3911
3691
  # @!attribute stripe_config
3912
- # Only applicable if using Stripe as your payment gateway through Metronome.
3692
+ # Only applicable if using STRIPE as your payment gateway type.
3913
3693
  #
3914
3694
  # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
3915
3695
  optional :stripe_config,
@@ -3924,14 +3704,16 @@ module MetronomeSDK
3924
3704
  optional :tax_type,
3925
3705
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType }
3926
3706
 
3927
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
3707
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
3928
3708
  # Some parameter documentations has been truncated, see
3929
3709
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig}
3930
3710
  # for more details.
3931
3711
  #
3932
3712
  # @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
3713
  #
3934
- # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
3714
+ # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
3715
+ #
3716
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
3935
3717
  #
3936
3718
  # @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
3719
 
@@ -3952,6 +3734,34 @@ module MetronomeSDK
3952
3734
  # @return [Array<Symbol>]
3953
3735
  end
3954
3736
 
3737
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
3738
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
3739
+ # @!attribute tax_amount
3740
+ # Amount of tax to be applied. This should be in the same currency and
3741
+ # denomination as the commit's invoice schedule
3742
+ #
3743
+ # @return [Float]
3744
+ required :tax_amount, Float
3745
+
3746
+ # @!attribute tax_name
3747
+ # Name of the tax to be applied. This may be used in an invoice line item
3748
+ # description.
3749
+ #
3750
+ # @return [String, nil]
3751
+ optional :tax_name, String
3752
+
3753
+ # @!method initialize(tax_amount:, tax_name: nil)
3754
+ # Some parameter documentations has been truncated, see
3755
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
3756
+ # for more details.
3757
+ #
3758
+ # Only applicable if using PRECALCULATED as your tax type.
3759
+ #
3760
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
3761
+ #
3762
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
3763
+ end
3764
+
3955
3765
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#stripe_config
3956
3766
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
3957
3767
  # @!attribute payment_type
@@ -3961,10 +3771,23 @@ module MetronomeSDK
3961
3771
  required :payment_type,
3962
3772
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
3963
3773
 
3964
- # @!method initialize(payment_type:)
3965
- # Only applicable if using Stripe as your payment gateway through Metronome.
3774
+ # @!attribute invoice_metadata
3775
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
3776
+ # your payment type.
3777
+ #
3778
+ # @return [Hash{Symbol=>String}, nil]
3779
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
3780
+
3781
+ # @!method initialize(payment_type:, invoice_metadata: nil)
3782
+ # Some parameter documentations has been truncated, see
3783
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig}
3784
+ # for more details.
3785
+ #
3786
+ # Only applicable if using STRIPE as your payment gateway type.
3966
3787
  #
3967
3788
  # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
3789
+ #
3790
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
3968
3791
 
3969
3792
  # If left blank, will default to INVOICE
3970
3793
  #
@@ -3990,6 +3813,8 @@ module MetronomeSDK
3990
3813
 
3991
3814
  NONE = :NONE
3992
3815
  STRIPE = :STRIPE
3816
+ ANROK = :ANROK
3817
+ PRECALCULATED = :PRECALCULATED
3993
3818
 
3994
3819
  # @!method self.values
3995
3820
  # @return [Array<Symbol>]
@@ -4010,6 +3835,8 @@ module MetronomeSDK
4010
3835
  required :proration, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration }
4011
3836
 
4012
3837
  # @!attribute quantity_schedule
3838
+ # List of quantity schedule items for the subscription. Only includes the current
3839
+ # quantity and future quantity changes.
4013
3840
  #
4014
3841
  # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::QuantitySchedule>]
4015
3842
  required :quantity_schedule,
@@ -4057,16 +3884,30 @@ module MetronomeSDK
4057
3884
  optional :name, String
4058
3885
 
4059
3886
  # @!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)
3887
+ # Some parameter documentations has been truncated, see
3888
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription} for more
3889
+ # details.
3890
+ #
4060
3891
  # @param collection_schedule [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::CollectionSchedule]
3892
+ #
4061
3893
  # @param proration [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration]
4062
- # @param quantity_schedule [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::QuantitySchedule>]
3894
+ #
3895
+ # @param quantity_schedule [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::QuantitySchedule>] List of quantity schedule items for the subscription. Only includes the current
3896
+ #
4063
3897
  # @param starting_at [Time]
3898
+ #
4064
3899
  # @param subscription_rate [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate]
3900
+ #
4065
3901
  # @param id [String]
3902
+ #
4066
3903
  # @param custom_fields [Hash{Symbol=>String}]
3904
+ #
4067
3905
  # @param description [String]
3906
+ #
4068
3907
  # @param ending_before [Time]
3908
+ #
4069
3909
  # @param fiat_credit_type_id [String]
3910
+ #
4070
3911
  # @param name [String]
4071
3912
 
4072
3913
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription#collection_schedule