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

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