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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  6. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  7. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  8. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  9. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  10. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  11. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  12. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  14. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  15. data/lib/metronome_sdk/internal/util.rb +8 -9
  16. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  17. data/lib/metronome_sdk/models/commit.rb +1010 -0
  18. data/lib/metronome_sdk/models/contract_without_amendments.rb +1803 -0
  19. data/lib/metronome_sdk/models/credit.rb +634 -0
  20. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  21. data/lib/metronome_sdk/models/discount.rb +68 -0
  22. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  23. data/lib/metronome_sdk/models/id.rb +15 -0
  24. data/lib/metronome_sdk/models/override.rb +381 -0
  25. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  26. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  27. data/lib/metronome_sdk/models/rate.rb +101 -0
  28. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  29. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  30. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  31. data/lib/metronome_sdk/models/tier.rb +21 -0
  32. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  33. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  34. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  35. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  37. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  42. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  45. data/lib/metronome_sdk/models/v1/contract_create_params.rb +550 -102
  46. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  47. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  48. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  51. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  52. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  53. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  55. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  57. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  58. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  59. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  60. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  61. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  62. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  63. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  64. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  65. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  73. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  79. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  80. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  81. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  82. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  83. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  85. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  86. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  87. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  88. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  89. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  90. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  91. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  92. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  93. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  94. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  95. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  96. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  97. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  98. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  99. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  100. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  101. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  102. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  103. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  105. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  106. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  108. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  109. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  110. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  111. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  112. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  113. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  114. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  115. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  116. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  117. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  118. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  119. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  120. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  121. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  122. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  123. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  124. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  125. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  126. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +885 -103
  127. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +351 -625
  129. data/lib/metronome_sdk/models/v2/contract_list_response.rb +590 -749
  130. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +590 -751
  131. data/lib/metronome_sdk/models.rb +36 -4
  132. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  133. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  134. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  135. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  136. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -4
  137. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  138. data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -2
  139. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  140. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  141. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  142. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  143. data/lib/metronome_sdk/version.rb +1 -1
  144. data/lib/metronome_sdk.rb +31 -2
  145. data/rbi/metronome_sdk/errors.rbi +16 -0
  146. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  147. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  148. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  149. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  150. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  151. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  152. data/rbi/metronome_sdk/models/commit.rbi +1962 -0
  153. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +3676 -0
  154. data/rbi/metronome_sdk/models/credit.rbi +1230 -0
  155. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  156. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  157. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  158. data/rbi/metronome_sdk/models/id.rbi +23 -0
  159. data/rbi/metronome_sdk/models/override.rbi +675 -0
  160. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  161. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  162. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  163. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  164. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  165. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  166. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  167. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  168. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  169. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  170. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  171. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  172. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  173. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  174. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  175. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  176. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  177. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  178. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  179. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  180. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1100 -172
  181. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  182. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  183. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  184. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  185. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  186. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  187. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  188. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  189. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  190. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  191. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  192. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  193. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  194. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  195. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  199. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  203. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  204. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  214. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  215. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  216. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  217. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  218. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  219. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  220. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  221. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  222. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  223. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  224. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  225. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  226. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  227. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  228. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  229. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  230. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  231. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  232. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  233. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  234. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  235. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  236. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  237. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  238. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  239. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  240. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  241. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  242. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  243. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  244. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  245. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  246. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  247. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  248. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  249. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  250. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  251. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  252. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  253. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  254. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  255. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  256. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  257. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  258. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  259. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  260. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  261. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1859 -202
  262. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  263. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +700 -1447
  264. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +1204 -1472
  265. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +1204 -1472
  266. data/rbi/metronome_sdk/models.rbi +32 -0
  267. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  268. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  269. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  270. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  271. data/rbi/metronome_sdk/resources/v1/contracts.rbi +10 -4
  272. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  273. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +6 -4
  274. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  275. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  276. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  277. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  278. data/sig/metronome_sdk/errors.rbs +9 -0
  279. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  280. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  281. data/sig/metronome_sdk/models/commit.rbs +1020 -0
  282. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1582 -0
  283. data/sig/metronome_sdk/models/credit.rbs +643 -0
  284. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  285. data/sig/metronome_sdk/models/discount.rbs +63 -0
  286. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  287. data/sig/metronome_sdk/models/id.rbs +13 -0
  288. data/sig/metronome_sdk/models/override.rbs +399 -0
  289. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  290. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  291. data/sig/metronome_sdk/models/rate.rbs +94 -0
  292. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  293. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  294. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  295. data/sig/metronome_sdk/models/tier.rbs +17 -0
  296. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  297. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  298. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  299. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  300. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  301. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  302. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  303. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  304. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  305. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  308. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +448 -84
  309. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  310. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  311. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  312. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  313. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  314. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  315. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  317. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  318. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  319. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  321. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  322. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  323. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  324. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  325. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  326. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  327. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  328. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  336. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  337. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  338. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  340. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  341. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  342. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  343. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  344. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  345. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  346. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  347. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  348. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  349. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  350. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  351. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  352. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  353. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  354. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  355. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  356. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  357. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  358. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  359. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  360. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  361. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  362. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  363. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  364. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  365. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  366. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  367. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  368. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  369. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  370. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  371. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  372. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  373. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  374. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  375. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  376. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  377. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  378. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  379. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  380. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  381. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  382. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  383. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  384. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  385. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  387. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  388. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +743 -77
  389. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  390. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +274 -665
  391. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +567 -759
  392. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +567 -759
  393. data/sig/metronome_sdk/models.rbs +32 -0
  394. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  395. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  396. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  397. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -1
  398. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  399. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  400. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  401. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  402. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  403. metadata +95 -8
@@ -49,9 +49,11 @@ module MetronomeSDK
49
49
 
50
50
  # @!attribute scheduled_charges
51
51
  #
52
- # @return [Array<MetronomeSDK::Models::V2::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,22 @@ module MetronomeSDK
102
104
  # @!attribute discounts
103
105
  # This field's availability is dependent on your client's configuration.
104
106
  #
105
- # @return [Array<MetronomeSDK::Models::V2::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 hierarchy_configuration
116
+ # Either a **parent** configuration with a list of children or a **child**
117
+ # configuration with a single parent.
118
+ #
119
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration, nil]
120
+ optional :hierarchy_configuration,
121
+ union: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration }
122
+
114
123
  # @!attribute multiplier_override_prioritization
115
124
  # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
116
125
  # prices automatically. EXPLICIT prioritization requires specifying priorities for
@@ -143,12 +152,20 @@ module MetronomeSDK
143
152
  optional :prepaid_balance_threshold_configuration,
144
153
  -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration }
145
154
 
155
+ # @!attribute priority
156
+ # Priority of the contract.
157
+ #
158
+ # @return [Float, nil]
159
+ optional :priority, Float
160
+
146
161
  # @!attribute professional_services
147
162
  # This field's availability is dependent on your client's configuration.
148
163
  #
149
- # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ProfessionalService>, nil]
164
+ # @return [Array<MetronomeSDK::Models::ProService>, nil]
150
165
  optional :professional_services,
151
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ProfessionalService] }
166
+ -> {
167
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ProService]
168
+ }
152
169
 
153
170
  # @!attribute rate_card_id
154
171
  #
@@ -198,7 +215,7 @@ module MetronomeSDK
198
215
  -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration }
199
216
 
200
217
  # @!attribute subscriptions
201
- # (beta) List of subscriptions on the contract.
218
+ # List of subscriptions on the contract.
202
219
  #
203
220
  # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription>, nil]
204
221
  optional :subscriptions,
@@ -217,7 +234,7 @@ module MetronomeSDK
217
234
  # @return [String, nil]
218
235
  optional :uniqueness_key, String
219
236
 
220
- # @!method initialize(id:, commits:, created_at:, created_by:, customer_id:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_filter:, usage_statement_schedule:, archived_at: nil, credits: nil, custom_fields: nil, customer_billing_provider_configuration: nil, discounts: nil, ending_before: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, prepaid_balance_threshold_configuration: nil, professional_services: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, total_contract_value: nil, uniqueness_key: nil)
237
+ # @!method initialize(id:, commits:, created_at:, created_by:, customer_id:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_filter:, usage_statement_schedule:, archived_at: nil, credits: nil, custom_fields: nil, customer_billing_provider_configuration: nil, discounts: nil, ending_before: nil, hierarchy_configuration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, prepaid_balance_threshold_configuration: nil, priority: nil, professional_services: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, total_contract_value: nil, uniqueness_key: nil)
221
238
  # Some parameter documentations has been truncated, see
222
239
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data} for more details.
223
240
  #
@@ -233,7 +250,7 @@ module MetronomeSDK
233
250
  #
234
251
  # @param overrides [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override>]
235
252
  #
236
- # @param scheduled_charges [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge>]
253
+ # @param scheduled_charges [Array<MetronomeSDK::Models::ScheduledCharge>]
237
254
  #
238
255
  # @param starting_at [Time]
239
256
  #
@@ -251,10 +268,12 @@ module MetronomeSDK
251
268
  #
252
269
  # @param customer_billing_provider_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration] This field's availability is dependent on your client's configuration.
253
270
  #
254
- # @param discounts [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount>] This field's availability is dependent on your client's configuration.
271
+ # @param discounts [Array<MetronomeSDK::Models::Discount>] This field's availability is dependent on your client's configuration.
255
272
  #
256
273
  # @param ending_before [Time]
257
274
  #
275
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration] Either a **parent** configuration with a list of children or a **child** configu
276
+ #
258
277
  # @param multiplier_override_prioritization [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::MultiplierOverridePrioritization] Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list price
259
278
  #
260
279
  # @param name [String]
@@ -265,7 +284,9 @@ module MetronomeSDK
265
284
  #
266
285
  # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration]
267
286
  #
268
- # @param professional_services [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ProfessionalService>] This field's availability is dependent on your client's configuration.
287
+ # @param priority [Float] Priority of the contract.
288
+ #
289
+ # @param professional_services [Array<MetronomeSDK::Models::ProService>] This field's availability is dependent on your client's configuration.
269
290
  #
270
291
  # @param rate_card_id [String]
271
292
  #
@@ -281,7 +302,7 @@ module MetronomeSDK
281
302
  #
282
303
  # @param spend_threshold_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration]
283
304
  #
284
- # @param subscriptions [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription>] (beta) List of subscriptions on the contract.
305
+ # @param subscriptions [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription>] List of subscriptions on the contract.
285
306
  #
286
307
  # @param total_contract_value [Float]
287
308
  #
@@ -307,9 +328,8 @@ module MetronomeSDK
307
328
  # The schedule that the customer will gain access to the credits purposed with
308
329
  # this commit.
309
330
  #
310
- # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule, nil]
311
- optional :access_schedule,
312
- -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule }
331
+ # @return [MetronomeSDK::Models::ScheduleDuration, nil]
332
+ optional :access_schedule, -> { MetronomeSDK::ScheduleDuration }
313
333
 
314
334
  # @!attribute applicable_contract_ids
315
335
  #
@@ -359,6 +379,13 @@ module MetronomeSDK
359
379
  # @return [String, nil]
360
380
  optional :description, String
361
381
 
382
+ # @!attribute hierarchy_configuration
383
+ # Optional configuration for commit hierarchy access control
384
+ #
385
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration, nil]
386
+ optional :hierarchy_configuration,
387
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration }
388
+
362
389
  # @!attribute invoice_contract
363
390
  # The contract that this commit will be billed on.
364
391
  #
@@ -369,15 +396,14 @@ module MetronomeSDK
369
396
  # @!attribute invoice_schedule
370
397
  # The schedule that the customer will be invoiced for this commit.
371
398
  #
372
- # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule, nil]
373
- optional :invoice_schedule,
374
- -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule }
399
+ # @return [MetronomeSDK::Models::SchedulePointInTime, nil]
400
+ optional :invoice_schedule, -> { MetronomeSDK::SchedulePointInTime }
375
401
 
376
402
  # @!attribute ledger
377
403
  # A list of ordered events that impact the balance of a commit. For example, an
378
404
  # invoice deduction or a rollover.
379
405
  #
380
- # @return [Array<MetronomeSDK::Models::V2::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]
406
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>, nil]
381
407
  optional :ledger,
382
408
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger] }
383
409
 
@@ -431,7 +457,7 @@ module MetronomeSDK
431
457
  optional :specifiers,
432
458
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Specifier] }
433
459
 
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)
460
+ # @!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
461
  # Some parameter documentations has been truncated, see
436
462
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit} for more
437
463
  # details.
@@ -442,7 +468,7 @@ module MetronomeSDK
442
468
  #
443
469
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Type]
444
470
  #
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
471
+ # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits purposed with thi
446
472
  #
447
473
  # @param applicable_contract_ids [Array<String>]
448
474
  #
@@ -460,11 +486,13 @@ module MetronomeSDK
460
486
  #
461
487
  # @param description [String]
462
488
  #
489
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration] Optional configuration for commit hierarchy access control
490
+ #
463
491
  # @param invoice_contract [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceContract] The contract that this commit will be billed on.
464
492
  #
465
- # @param invoice_schedule [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule] The schedule that the customer will be invoiced for this commit.
493
+ # @param invoice_schedule [MetronomeSDK::Models::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
466
494
  #
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
495
+ # @param ledger [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>] A list of ordered events that impact the balance of a commit. For example, an in
468
496
  #
469
497
  # @param name [String]
470
498
  #
@@ -510,73 +538,6 @@ module MetronomeSDK
510
538
  # @return [Array<Symbol>]
511
539
  end
512
540
 
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
541
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit#contract
581
542
  class Contract < MetronomeSDK::Internal::Type::BaseModel
582
543
  # @!attribute id
@@ -588,127 +549,146 @@ module MetronomeSDK
588
549
  # @param id [String]
589
550
  end
590
551
 
591
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit#invoice_contract
592
- class InvoiceContract < MetronomeSDK::Internal::Type::BaseModel
593
- # @!attribute id
552
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit#hierarchy_configuration
553
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
554
+ # @!attribute child_access
594
555
  #
595
- # @return [String]
596
- required :id, String
556
+ # @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]
557
+ required :child_access,
558
+ union: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess }
597
559
 
598
- # @!method initialize(id:)
599
- # The contract that this commit will be billed on.
560
+ # @!method initialize(child_access:)
561
+ # Optional configuration for commit hierarchy access control
600
562
  #
601
- # @param id [String]
602
- end
563
+ # @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
564
 
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 }
565
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration#child_access
566
+ module ChildAccess
567
+ extend MetronomeSDK::Internal::Type::Union
611
568
 
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] }
569
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
617
570
 
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>]
571
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
623
572
 
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
573
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
630
574
 
631
- # @!attribute name
632
- #
633
- # @return [String]
634
- required :name, String
575
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
576
+ # @!attribute type
577
+ #
578
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
579
+ required :type,
580
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
635
581
 
636
- # @!method initialize(id:, name:)
637
- # @param id [String]
638
- # @param name [String]
639
- end
582
+ # @!method initialize(type:)
583
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
640
584
 
641
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
642
- # @!attribute id
643
- #
644
- # @return [String]
645
- required :id, String
585
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
586
+ module Type
587
+ extend MetronomeSDK::Internal::Type::Enum
646
588
 
647
- # @!attribute amount
648
- #
649
- # @return [Float]
650
- required :amount, Float
589
+ ALL = :ALL
651
590
 
652
- # @!attribute invoice_id
653
- #
654
- # @return [String]
655
- required :invoice_id, String
591
+ # @!method self.values
592
+ # @return [Array<Symbol>]
593
+ end
594
+ end
656
595
 
657
- # @!attribute quantity
658
- #
659
- # @return [Float]
660
- required :quantity, Float
596
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
597
+ # @!attribute type
598
+ #
599
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
600
+ required :type,
601
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
661
602
 
662
- # @!attribute timestamp
663
- #
664
- # @return [Time]
665
- required :timestamp, Time
603
+ # @!method initialize(type:)
604
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
666
605
 
667
- # @!attribute unit_price
668
- #
669
- # @return [Float]
670
- required :unit_price, Float
606
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
607
+ module Type
608
+ extend MetronomeSDK::Internal::Type::Enum
671
609
 
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]
610
+ NONE = :NONE
611
+
612
+ # @!method self.values
613
+ # @return [Array<Symbol>]
614
+ end
615
+ end
616
+
617
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
618
+ # @!attribute contract_ids
619
+ #
620
+ # @return [Array<String>]
621
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
622
+
623
+ # @!attribute type
624
+ #
625
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
626
+ required :type,
627
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
628
+
629
+ # @!method initialize(contract_ids:, type:)
630
+ # @param contract_ids [Array<String>]
631
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
632
+
633
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
634
+ module Type
635
+ extend MetronomeSDK::Internal::Type::Enum
636
+
637
+ CONTRACT_IDS = :CONTRACT_IDS
638
+
639
+ # @!method self.values
640
+ # @return [Array<Symbol>]
641
+ end
642
+ end
643
+
644
+ # @!method self.variants
645
+ # @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
646
  end
680
647
  end
681
648
 
649
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit#invoice_contract
650
+ class InvoiceContract < MetronomeSDK::Internal::Type::BaseModel
651
+ # @!attribute id
652
+ #
653
+ # @return [String]
654
+ required :id, String
655
+
656
+ # @!method initialize(id:)
657
+ # The contract that this commit will be billed on.
658
+ #
659
+ # @param id [String]
660
+ end
661
+
682
662
  module Ledger
683
663
  extend MetronomeSDK::Internal::Type::Union
684
664
 
685
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0 }
665
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry }
686
666
 
687
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1 }
667
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry }
688
668
 
689
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2 }
669
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry }
690
670
 
691
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3 }
671
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry }
692
672
 
693
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4 }
673
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry }
694
674
 
695
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5 }
675
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry }
696
676
 
697
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6 }
677
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry }
698
678
 
699
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7 }
679
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry }
700
680
 
701
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8 }
681
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry }
702
682
 
703
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9 }
683
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry }
704
684
 
705
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10 }
685
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry }
706
686
 
707
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11 }
687
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry }
708
688
 
709
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12 }
689
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry }
710
690
 
711
- class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
691
+ class PrepaidCommitSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
712
692
  # @!attribute amount
713
693
  #
714
694
  # @return [Float]
@@ -726,17 +706,17 @@ module MetronomeSDK
726
706
 
727
707
  # @!attribute type
728
708
  #
729
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0::Type]
709
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
730
710
  required :type,
731
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0::Type }
711
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type }
732
712
 
733
713
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
734
714
  # @param amount [Float]
735
715
  # @param segment_id [String]
736
716
  # @param timestamp [Time]
737
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0::Type]
717
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
738
718
 
739
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0#type
719
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry#type
740
720
  module Type
741
721
  extend MetronomeSDK::Internal::Type::Enum
742
722
 
@@ -747,7 +727,7 @@ module MetronomeSDK
747
727
  end
748
728
  end
749
729
 
750
- class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
730
+ class PrepaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
751
731
  # @!attribute amount
752
732
  #
753
733
  # @return [Float]
@@ -770,18 +750,18 @@ module MetronomeSDK
770
750
 
771
751
  # @!attribute type
772
752
  #
773
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1::Type]
753
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
774
754
  required :type,
775
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1::Type }
755
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
776
756
 
777
757
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
778
758
  # @param amount [Float]
779
759
  # @param invoice_id [String]
780
760
  # @param segment_id [String]
781
761
  # @param timestamp [Time]
782
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1::Type]
762
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
783
763
 
784
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1#type
764
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry#type
785
765
  module Type
786
766
  extend MetronomeSDK::Internal::Type::Enum
787
767
 
@@ -792,7 +772,7 @@ module MetronomeSDK
792
772
  end
793
773
  end
794
774
 
795
- class UnionMember2 < MetronomeSDK::Internal::Type::BaseModel
775
+ class PrepaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
796
776
  # @!attribute amount
797
777
  #
798
778
  # @return [Float]
@@ -815,18 +795,18 @@ module MetronomeSDK
815
795
 
816
796
  # @!attribute type
817
797
  #
818
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2::Type]
798
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
819
799
  required :type,
820
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2::Type }
800
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type }
821
801
 
822
802
  # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
823
803
  # @param amount [Float]
824
804
  # @param new_contract_id [String]
825
805
  # @param segment_id [String]
826
806
  # @param timestamp [Time]
827
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2::Type]
807
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
828
808
 
829
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2#type
809
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry#type
830
810
  module Type
831
811
  extend MetronomeSDK::Internal::Type::Enum
832
812
 
@@ -837,7 +817,7 @@ module MetronomeSDK
837
817
  end
838
818
  end
839
819
 
840
- class UnionMember3 < MetronomeSDK::Internal::Type::BaseModel
820
+ class PrepaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
841
821
  # @!attribute amount
842
822
  #
843
823
  # @return [Float]
@@ -855,17 +835,17 @@ module MetronomeSDK
855
835
 
856
836
  # @!attribute type
857
837
  #
858
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3::Type]
838
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
859
839
  required :type,
860
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3::Type }
840
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type }
861
841
 
862
842
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
863
843
  # @param amount [Float]
864
844
  # @param segment_id [String]
865
845
  # @param timestamp [Time]
866
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3::Type]
846
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
867
847
 
868
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3#type
848
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry#type
869
849
  module Type
870
850
  extend MetronomeSDK::Internal::Type::Enum
871
851
 
@@ -876,7 +856,7 @@ module MetronomeSDK
876
856
  end
877
857
  end
878
858
 
879
- class UnionMember4 < MetronomeSDK::Internal::Type::BaseModel
859
+ class PrepaidCommitCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
880
860
  # @!attribute amount
881
861
  #
882
862
  # @return [Float]
@@ -899,18 +879,18 @@ module MetronomeSDK
899
879
 
900
880
  # @!attribute type
901
881
  #
902
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4::Type]
882
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
903
883
  required :type,
904
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4::Type }
884
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type }
905
885
 
906
886
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
907
887
  # @param amount [Float]
908
888
  # @param invoice_id [String]
909
889
  # @param segment_id [String]
910
890
  # @param timestamp [Time]
911
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4::Type]
891
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
912
892
 
913
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4#type
893
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry#type
914
894
  module Type
915
895
  extend MetronomeSDK::Internal::Type::Enum
916
896
 
@@ -921,7 +901,7 @@ module MetronomeSDK
921
901
  end
922
902
  end
923
903
 
924
- class UnionMember5 < MetronomeSDK::Internal::Type::BaseModel
904
+ class PrepaidCommitCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
925
905
  # @!attribute amount
926
906
  #
927
907
  # @return [Float]
@@ -944,18 +924,18 @@ module MetronomeSDK
944
924
 
945
925
  # @!attribute type
946
926
  #
947
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5::Type]
927
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
948
928
  required :type,
949
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5::Type }
929
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type }
950
930
 
951
931
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
952
932
  # @param amount [Float]
953
933
  # @param invoice_id [String]
954
934
  # @param segment_id [String]
955
935
  # @param timestamp [Time]
956
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5::Type]
936
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
957
937
 
958
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5#type
938
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry#type
959
939
  module Type
960
940
  extend MetronomeSDK::Internal::Type::Enum
961
941
 
@@ -966,7 +946,7 @@ module MetronomeSDK
966
946
  end
967
947
  end
968
948
 
969
- class UnionMember6 < MetronomeSDK::Internal::Type::BaseModel
949
+ class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
970
950
  # @!attribute amount
971
951
  #
972
952
  # @return [Float]
@@ -979,16 +959,16 @@ module MetronomeSDK
979
959
 
980
960
  # @!attribute type
981
961
  #
982
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6::Type]
962
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
983
963
  required :type,
984
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6::Type }
964
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type }
985
965
 
986
966
  # @!method initialize(amount:, timestamp:, type:)
987
967
  # @param amount [Float]
988
968
  # @param timestamp [Time]
989
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6::Type]
969
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
990
970
 
991
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6#type
971
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry#type
992
972
  module Type
993
973
  extend MetronomeSDK::Internal::Type::Enum
994
974
 
@@ -999,7 +979,7 @@ module MetronomeSDK
999
979
  end
1000
980
  end
1001
981
 
1002
- class UnionMember7 < MetronomeSDK::Internal::Type::BaseModel
982
+ class PostpaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1003
983
  # @!attribute amount
1004
984
  #
1005
985
  # @return [Float]
@@ -1022,18 +1002,18 @@ module MetronomeSDK
1022
1002
 
1023
1003
  # @!attribute type
1024
1004
  #
1025
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7::Type]
1005
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1026
1006
  required :type,
1027
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7::Type }
1007
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
1028
1008
 
1029
1009
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1030
1010
  # @param amount [Float]
1031
1011
  # @param invoice_id [String]
1032
1012
  # @param segment_id [String]
1033
1013
  # @param timestamp [Time]
1034
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7::Type]
1014
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1035
1015
 
1036
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7#type
1016
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry#type
1037
1017
  module Type
1038
1018
  extend MetronomeSDK::Internal::Type::Enum
1039
1019
 
@@ -1044,7 +1024,7 @@ module MetronomeSDK
1044
1024
  end
1045
1025
  end
1046
1026
 
1047
- class UnionMember8 < MetronomeSDK::Internal::Type::BaseModel
1027
+ class PostpaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1048
1028
  # @!attribute amount
1049
1029
  #
1050
1030
  # @return [Float]
@@ -1067,18 +1047,18 @@ module MetronomeSDK
1067
1047
 
1068
1048
  # @!attribute type
1069
1049
  #
1070
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8::Type]
1050
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
1071
1051
  required :type,
1072
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8::Type }
1052
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type }
1073
1053
 
1074
1054
  # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
1075
1055
  # @param amount [Float]
1076
1056
  # @param new_contract_id [String]
1077
1057
  # @param segment_id [String]
1078
1058
  # @param timestamp [Time]
1079
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8::Type]
1059
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
1080
1060
 
1081
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8#type
1061
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry#type
1082
1062
  module Type
1083
1063
  extend MetronomeSDK::Internal::Type::Enum
1084
1064
 
@@ -1089,7 +1069,7 @@ module MetronomeSDK
1089
1069
  end
1090
1070
  end
1091
1071
 
1092
- class UnionMember9 < MetronomeSDK::Internal::Type::BaseModel
1072
+ class PostpaidCommitTrueupLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1093
1073
  # @!attribute amount
1094
1074
  #
1095
1075
  # @return [Float]
@@ -1107,17 +1087,17 @@ module MetronomeSDK
1107
1087
 
1108
1088
  # @!attribute type
1109
1089
  #
1110
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9::Type]
1090
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1111
1091
  required :type,
1112
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9::Type }
1092
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type }
1113
1093
 
1114
1094
  # @!method initialize(amount:, invoice_id:, timestamp:, type:)
1115
1095
  # @param amount [Float]
1116
1096
  # @param invoice_id [String]
1117
1097
  # @param timestamp [Time]
1118
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9::Type]
1098
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1119
1099
 
1120
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9#type
1100
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry#type
1121
1101
  module Type
1122
1102
  extend MetronomeSDK::Internal::Type::Enum
1123
1103
 
@@ -1128,7 +1108,7 @@ module MetronomeSDK
1128
1108
  end
1129
1109
  end
1130
1110
 
1131
- class UnionMember10 < MetronomeSDK::Internal::Type::BaseModel
1111
+ class PrepaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1132
1112
  # @!attribute amount
1133
1113
  #
1134
1114
  # @return [Float]
@@ -1146,17 +1126,17 @@ module MetronomeSDK
1146
1126
 
1147
1127
  # @!attribute type
1148
1128
  #
1149
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10::Type]
1129
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
1150
1130
  required :type,
1151
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10::Type }
1131
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type }
1152
1132
 
1153
1133
  # @!method initialize(amount:, reason:, timestamp:, type:)
1154
1134
  # @param amount [Float]
1155
1135
  # @param reason [String]
1156
1136
  # @param timestamp [Time]
1157
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10::Type]
1137
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
1158
1138
 
1159
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10#type
1139
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry#type
1160
1140
  module Type
1161
1141
  extend MetronomeSDK::Internal::Type::Enum
1162
1142
 
@@ -1167,7 +1147,7 @@ module MetronomeSDK
1167
1147
  end
1168
1148
  end
1169
1149
 
1170
- class UnionMember11 < MetronomeSDK::Internal::Type::BaseModel
1150
+ class PostpaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1171
1151
  # @!attribute amount
1172
1152
  #
1173
1153
  # @return [Float]
@@ -1185,17 +1165,17 @@ module MetronomeSDK
1185
1165
 
1186
1166
  # @!attribute type
1187
1167
  #
1188
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11::Type]
1168
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
1189
1169
  required :type,
1190
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11::Type }
1170
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type }
1191
1171
 
1192
1172
  # @!method initialize(amount:, reason:, timestamp:, type:)
1193
1173
  # @param amount [Float]
1194
1174
  # @param reason [String]
1195
1175
  # @param timestamp [Time]
1196
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11::Type]
1176
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
1197
1177
 
1198
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11#type
1178
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry#type
1199
1179
  module Type
1200
1180
  extend MetronomeSDK::Internal::Type::Enum
1201
1181
 
@@ -1206,7 +1186,7 @@ module MetronomeSDK
1206
1186
  end
1207
1187
  end
1208
1188
 
1209
- class UnionMember12 < MetronomeSDK::Internal::Type::BaseModel
1189
+ class PostpaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1210
1190
  # @!attribute amount
1211
1191
  #
1212
1192
  # @return [Float]
@@ -1219,16 +1199,16 @@ module MetronomeSDK
1219
1199
 
1220
1200
  # @!attribute type
1221
1201
  #
1222
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12::Type]
1202
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
1223
1203
  required :type,
1224
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12::Type }
1204
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type }
1225
1205
 
1226
1206
  # @!method initialize(amount:, timestamp:, type:)
1227
1207
  # @param amount [Float]
1228
1208
  # @param timestamp [Time]
1229
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12::Type]
1209
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
1230
1210
 
1231
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12#type
1211
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry#type
1232
1212
  module Type
1233
1213
  extend MetronomeSDK::Internal::Type::Enum
1234
1214
 
@@ -1240,7 +1220,7 @@ module MetronomeSDK
1240
1220
  end
1241
1221
 
1242
1222
  # @!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)]
1223
+ # @return [Array(MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry)]
1244
1224
  end
1245
1225
 
1246
1226
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit#rate_type
@@ -1492,9 +1472,8 @@ module MetronomeSDK
1492
1472
 
1493
1473
  # @!attribute credit_type
1494
1474
  #
1495
- # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::CreditType, nil]
1496
- optional :credit_type,
1497
- -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::CreditType }
1475
+ # @return [MetronomeSDK::Models::CreditTypeData, nil]
1476
+ optional :credit_type, -> { MetronomeSDK::CreditTypeData }
1498
1477
 
1499
1478
  # @!attribute custom_rate
1500
1479
  # Only set for CUSTOM rate_type. This field is interpreted by custom rate
@@ -1527,9 +1506,8 @@ module MetronomeSDK
1527
1506
  # @!attribute tiers
1528
1507
  # Only set for TIERED rate_type.
1529
1508
  #
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] }
1509
+ # @return [Array<MetronomeSDK::Models::Tier>, nil]
1510
+ optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
1533
1511
 
1534
1512
  # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1535
1513
  # Some parameter documentations has been truncated, see
@@ -1538,7 +1516,7 @@ module MetronomeSDK
1538
1516
  #
1539
1517
  # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::RateType]
1540
1518
  #
1541
- # @param credit_type [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::CreditType]
1519
+ # @param credit_type [MetronomeSDK::Models::CreditTypeData]
1542
1520
  #
1543
1521
  # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
1544
1522
  #
@@ -1548,7 +1526,7 @@ module MetronomeSDK
1548
1526
  #
1549
1527
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1550
1528
  #
1551
- # @param tiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::Tier>] Only set for TIERED rate_type.
1529
+ # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
1552
1530
 
1553
1531
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate#rate_type
1554
1532
  module RateType
@@ -1563,39 +1541,6 @@ module MetronomeSDK
1563
1541
  # @!method self.values
1564
1542
  # @return [Array<Symbol>]
1565
1543
  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
1544
  end
1600
1545
 
1601
1546
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override#product
@@ -1639,155 +1584,6 @@ module MetronomeSDK
1639
1584
  end
1640
1585
  end
1641
1586
 
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
1587
  class Transition < MetronomeSDK::Internal::Type::BaseModel
1792
1588
  # @!attribute from_contract_id
1793
1589
  #
@@ -1912,9 +1708,8 @@ module MetronomeSDK
1912
1708
  # @!attribute access_schedule
1913
1709
  # The schedule that the customer will gain access to the credits.
1914
1710
  #
1915
- # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule, nil]
1916
- optional :access_schedule,
1917
- -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule }
1711
+ # @return [MetronomeSDK::Models::ScheduleDuration, nil]
1712
+ optional :access_schedule, -> { MetronomeSDK::ScheduleDuration }
1918
1713
 
1919
1714
  # @!attribute applicable_contract_ids
1920
1715
  #
@@ -1959,11 +1754,18 @@ module MetronomeSDK
1959
1754
  # @return [String, nil]
1960
1755
  optional :description, String
1961
1756
 
1757
+ # @!attribute hierarchy_configuration
1758
+ # Optional configuration for credit hierarchy access control
1759
+ #
1760
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration, nil]
1761
+ optional :hierarchy_configuration,
1762
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration }
1763
+
1962
1764
  # @!attribute ledger
1963
1765
  # A list of ordered events that impact the balance of a credit. For example, an
1964
1766
  # invoice deduction or an expiration.
1965
1767
  #
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]
1768
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry>, nil]
1967
1769
  optional :ledger,
1968
1770
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger] }
1969
1771
 
@@ -2000,7 +1802,7 @@ module MetronomeSDK
2000
1802
  optional :specifiers,
2001
1803
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Specifier] }
2002
1804
 
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)
1805
+ # @!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
1806
  # Some parameter documentations has been truncated, see
2005
1807
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit} for more
2006
1808
  # details.
@@ -2011,7 +1813,7 @@ module MetronomeSDK
2011
1813
  #
2012
1814
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Type]
2013
1815
  #
2014
- # @param access_schedule [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule] The schedule that the customer will gain access to the credits.
1816
+ # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits.
2015
1817
  #
2016
1818
  # @param applicable_contract_ids [Array<String>]
2017
1819
  #
@@ -2027,7 +1829,9 @@ module MetronomeSDK
2027
1829
  #
2028
1830
  # @param description [String]
2029
1831
  #
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
1832
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration] Optional configuration for credit hierarchy access control
1833
+ #
1834
+ # @param ledger [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry>] A list of ordered events that impact the balance of a credit. For example, an in
2031
1835
  #
2032
1836
  # @param name [String]
2033
1837
  #
@@ -2066,99 +1870,130 @@ module MetronomeSDK
2066
1870
  # @return [Array<Symbol>]
2067
1871
  end
2068
1872
 
2069
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit#access_schedule
2070
- class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
2071
- # @!attribute schedule_items
1873
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit#contract
1874
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
1875
+ # @!attribute id
2072
1876
  #
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] }
1877
+ # @return [String]
1878
+ required :id, String
2076
1879
 
2077
- # @!attribute credit_type
1880
+ # @!method initialize(id:)
1881
+ # @param id [String]
1882
+ end
1883
+
1884
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit#hierarchy_configuration
1885
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1886
+ # @!attribute child_access
2078
1887
  #
2079
- # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule::CreditType, nil]
2080
- optional :credit_type,
2081
- -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule::CreditType }
1888
+ # @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]
1889
+ required :child_access,
1890
+ union: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess }
2082
1891
 
2083
- # @!method initialize(schedule_items:, credit_type: nil)
2084
- # The schedule that the customer will gain access to the credits.
1892
+ # @!method initialize(child_access:)
1893
+ # Optional configuration for credit hierarchy access control
2085
1894
  #
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]
1895
+ # @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
1896
 
2089
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2090
- # @!attribute id
2091
- #
2092
- # @return [String]
2093
- required :id, String
1897
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration#child_access
1898
+ module ChildAccess
1899
+ extend MetronomeSDK::Internal::Type::Union
2094
1900
 
2095
- # @!attribute amount
2096
- #
2097
- # @return [Float]
2098
- required :amount, Float
1901
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
2099
1902
 
2100
- # @!attribute ending_before
2101
- #
2102
- # @return [Time]
2103
- required :ending_before, Time
1903
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
1904
+
1905
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
1906
+
1907
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1908
+ # @!attribute type
1909
+ #
1910
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1911
+ required :type,
1912
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
1913
+
1914
+ # @!method initialize(type:)
1915
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1916
+
1917
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
1918
+ module Type
1919
+ extend MetronomeSDK::Internal::Type::Enum
1920
+
1921
+ ALL = :ALL
1922
+
1923
+ # @!method self.values
1924
+ # @return [Array<Symbol>]
1925
+ end
1926
+ end
1927
+
1928
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1929
+ # @!attribute type
1930
+ #
1931
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1932
+ required :type,
1933
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
1934
+
1935
+ # @!method initialize(type:)
1936
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1937
+
1938
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
1939
+ module Type
1940
+ extend MetronomeSDK::Internal::Type::Enum
1941
+
1942
+ NONE = :NONE
1943
+
1944
+ # @!method self.values
1945
+ # @return [Array<Symbol>]
1946
+ end
1947
+ end
2104
1948
 
2105
- # @!attribute starting_at
2106
- #
2107
- # @return [Time]
2108
- required :starting_at, Time
1949
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1950
+ # @!attribute contract_ids
1951
+ #
1952
+ # @return [Array<String>]
1953
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2109
1954
 
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
1955
+ # @!attribute type
1956
+ #
1957
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1958
+ required :type,
1959
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
2116
1960
 
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
1961
+ # @!method initialize(contract_ids:, type:)
1962
+ # @param contract_ids [Array<String>]
1963
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
2123
1964
 
2124
- # @!attribute name
2125
- #
2126
- # @return [String]
2127
- required :name, String
1965
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
1966
+ module Type
1967
+ extend MetronomeSDK::Internal::Type::Enum
2128
1968
 
2129
- # @!method initialize(id:, name:)
2130
- # @param id [String]
2131
- # @param name [String]
2132
- end
2133
- end
1969
+ CONTRACT_IDS = :CONTRACT_IDS
2134
1970
 
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
1971
+ # @!method self.values
1972
+ # @return [Array<Symbol>]
1973
+ end
1974
+ end
2141
1975
 
2142
- # @!method initialize(id:)
2143
- # @param id [String]
1976
+ # @!method self.variants
1977
+ # @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)]
1978
+ end
2144
1979
  end
2145
1980
 
2146
1981
  module Ledger
2147
1982
  extend MetronomeSDK::Internal::Type::Union
2148
1983
 
2149
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0 }
1984
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry }
2150
1985
 
2151
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1 }
1986
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry }
2152
1987
 
2153
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2 }
1988
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry }
2154
1989
 
2155
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3 }
1990
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry }
2156
1991
 
2157
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4 }
1992
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry }
2158
1993
 
2159
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5 }
1994
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry }
2160
1995
 
2161
- class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
1996
+ class CreditSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2162
1997
  # @!attribute amount
2163
1998
  #
2164
1999
  # @return [Float]
@@ -2176,17 +2011,17 @@ module MetronomeSDK
2176
2011
 
2177
2012
  # @!attribute type
2178
2013
  #
2179
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0::Type]
2014
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
2180
2015
  required :type,
2181
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0::Type }
2016
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type }
2182
2017
 
2183
2018
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
2184
2019
  # @param amount [Float]
2185
2020
  # @param segment_id [String]
2186
2021
  # @param timestamp [Time]
2187
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0::Type]
2022
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
2188
2023
 
2189
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0#type
2024
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry#type
2190
2025
  module Type
2191
2026
  extend MetronomeSDK::Internal::Type::Enum
2192
2027
 
@@ -2197,7 +2032,7 @@ module MetronomeSDK
2197
2032
  end
2198
2033
  end
2199
2034
 
2200
- class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
2035
+ class CreditAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2201
2036
  # @!attribute amount
2202
2037
  #
2203
2038
  # @return [Float]
@@ -2220,18 +2055,18 @@ module MetronomeSDK
2220
2055
 
2221
2056
  # @!attribute type
2222
2057
  #
2223
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1::Type]
2058
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2224
2059
  required :type,
2225
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1::Type }
2060
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type }
2226
2061
 
2227
2062
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2228
2063
  # @param amount [Float]
2229
2064
  # @param invoice_id [String]
2230
2065
  # @param segment_id [String]
2231
2066
  # @param timestamp [Time]
2232
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1::Type]
2067
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2233
2068
 
2234
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1#type
2069
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry#type
2235
2070
  module Type
2236
2071
  extend MetronomeSDK::Internal::Type::Enum
2237
2072
 
@@ -2242,7 +2077,7 @@ module MetronomeSDK
2242
2077
  end
2243
2078
  end
2244
2079
 
2245
- class UnionMember2 < MetronomeSDK::Internal::Type::BaseModel
2080
+ class CreditExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2246
2081
  # @!attribute amount
2247
2082
  #
2248
2083
  # @return [Float]
@@ -2260,17 +2095,17 @@ module MetronomeSDK
2260
2095
 
2261
2096
  # @!attribute type
2262
2097
  #
2263
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2::Type]
2098
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type]
2264
2099
  required :type,
2265
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2::Type }
2100
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type }
2266
2101
 
2267
2102
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
2268
2103
  # @param amount [Float]
2269
2104
  # @param segment_id [String]
2270
2105
  # @param timestamp [Time]
2271
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2::Type]
2106
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type]
2272
2107
 
2273
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2#type
2108
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry#type
2274
2109
  module Type
2275
2110
  extend MetronomeSDK::Internal::Type::Enum
2276
2111
 
@@ -2281,7 +2116,7 @@ module MetronomeSDK
2281
2116
  end
2282
2117
  end
2283
2118
 
2284
- class UnionMember3 < MetronomeSDK::Internal::Type::BaseModel
2119
+ class CreditCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2285
2120
  # @!attribute amount
2286
2121
  #
2287
2122
  # @return [Float]
@@ -2304,18 +2139,18 @@ module MetronomeSDK
2304
2139
 
2305
2140
  # @!attribute type
2306
2141
  #
2307
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3::Type]
2142
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2308
2143
  required :type,
2309
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3::Type }
2144
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type }
2310
2145
 
2311
2146
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2312
2147
  # @param amount [Float]
2313
2148
  # @param invoice_id [String]
2314
2149
  # @param segment_id [String]
2315
2150
  # @param timestamp [Time]
2316
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3::Type]
2151
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2317
2152
 
2318
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3#type
2153
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry#type
2319
2154
  module Type
2320
2155
  extend MetronomeSDK::Internal::Type::Enum
2321
2156
 
@@ -2326,7 +2161,7 @@ module MetronomeSDK
2326
2161
  end
2327
2162
  end
2328
2163
 
2329
- class UnionMember4 < MetronomeSDK::Internal::Type::BaseModel
2164
+ class CreditCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2330
2165
  # @!attribute amount
2331
2166
  #
2332
2167
  # @return [Float]
@@ -2349,18 +2184,18 @@ module MetronomeSDK
2349
2184
 
2350
2185
  # @!attribute type
2351
2186
  #
2352
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4::Type]
2187
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2353
2188
  required :type,
2354
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4::Type }
2189
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type }
2355
2190
 
2356
2191
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2357
2192
  # @param amount [Float]
2358
2193
  # @param invoice_id [String]
2359
2194
  # @param segment_id [String]
2360
2195
  # @param timestamp [Time]
2361
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4::Type]
2196
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2362
2197
 
2363
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4#type
2198
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry#type
2364
2199
  module Type
2365
2200
  extend MetronomeSDK::Internal::Type::Enum
2366
2201
 
@@ -2371,7 +2206,7 @@ module MetronomeSDK
2371
2206
  end
2372
2207
  end
2373
2208
 
2374
- class UnionMember5 < MetronomeSDK::Internal::Type::BaseModel
2209
+ class CreditManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2375
2210
  # @!attribute amount
2376
2211
  #
2377
2212
  # @return [Float]
@@ -2389,17 +2224,17 @@ module MetronomeSDK
2389
2224
 
2390
2225
  # @!attribute type
2391
2226
  #
2392
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5::Type]
2227
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type]
2393
2228
  required :type,
2394
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5::Type }
2229
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type }
2395
2230
 
2396
2231
  # @!method initialize(amount:, reason:, timestamp:, type:)
2397
2232
  # @param amount [Float]
2398
2233
  # @param reason [String]
2399
2234
  # @param timestamp [Time]
2400
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5::Type]
2235
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type]
2401
2236
 
2402
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5#type
2237
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry#type
2403
2238
  module Type
2404
2239
  extend MetronomeSDK::Internal::Type::Enum
2405
2240
 
@@ -2411,7 +2246,7 @@ module MetronomeSDK
2411
2246
  end
2412
2247
 
2413
2248
  # @!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)]
2249
+ # @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)]
2415
2250
  end
2416
2251
 
2417
2252
  class Specifier < MetronomeSDK::Internal::Type::BaseModel
@@ -2504,143 +2339,82 @@ module MetronomeSDK
2504
2339
  end
2505
2340
  end
2506
2341
 
2507
- class Discount < MetronomeSDK::Internal::Type::BaseModel
2508
- # @!attribute id
2509
- #
2510
- # @return [String]
2511
- required :id, String
2512
-
2513
- # @!attribute product
2514
- #
2515
- # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Product]
2516
- required :product, -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Product }
2517
-
2518
- # @!attribute schedule
2519
- #
2520
- # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule]
2521
- required :schedule, -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule }
2522
-
2523
- # @!attribute custom_fields
2524
- #
2525
- # @return [Hash{Symbol=>String}, nil]
2526
- optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
2527
-
2528
- # @!attribute name
2529
- #
2530
- # @return [String, nil]
2531
- optional :name, String
2532
-
2533
- # @!attribute netsuite_sales_order_id
2534
- # This field's availability is dependent on your client's configuration.
2535
- #
2536
- # @return [String, nil]
2537
- optional :netsuite_sales_order_id, String
2538
-
2539
- # @!method initialize(id:, product:, schedule:, custom_fields: nil, name: nil, netsuite_sales_order_id: nil)
2540
- # @param id [String]
2541
- #
2542
- # @param product [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Product]
2543
- #
2544
- # @param schedule [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule]
2545
- #
2546
- # @param custom_fields [Hash{Symbol=>String}]
2547
- #
2548
- # @param name [String]
2549
- #
2550
- # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
2551
-
2552
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount#product
2553
- class Product < MetronomeSDK::Internal::Type::BaseModel
2554
- # @!attribute id
2555
- #
2556
- # @return [String]
2557
- required :id, String
2558
-
2559
- # @!attribute name
2560
- #
2561
- # @return [String]
2562
- required :name, String
2342
+ # Either a **parent** configuration with a list of children or a **child**
2343
+ # configuration with a single parent.
2344
+ #
2345
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data#hierarchy_configuration
2346
+ module HierarchyConfiguration
2347
+ extend MetronomeSDK::Internal::Type::Union
2563
2348
 
2564
- # @!method initialize(id:, name:)
2565
- # @param id [String]
2566
- # @param name [String]
2567
- end
2349
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration }
2568
2350
 
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 }
2351
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration }
2576
2352
 
2577
- # @!attribute schedule_items
2353
+ class ParentHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2354
+ # @!attribute children
2355
+ # List of contracts that belong to this parent.
2578
2356
  #
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] }
2357
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child>]
2358
+ required :children,
2359
+ -> do
2360
+ MetronomeSDK::Internal::Type::ArrayOf[
2361
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child
2362
+ ]
2363
+ end
2582
2364
 
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>]
2365
+ # @!method initialize(children:)
2366
+ # @param children [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child>] List of contracts that belong to this parent.
2586
2367
 
2587
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule#credit_type
2588
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
2589
- # @!attribute id
2368
+ class Child < MetronomeSDK::Internal::Type::BaseModel
2369
+ # @!attribute contract_id
2590
2370
  #
2591
2371
  # @return [String]
2592
- required :id, String
2372
+ required :contract_id, String
2593
2373
 
2594
- # @!attribute name
2374
+ # @!attribute customer_id
2595
2375
  #
2596
2376
  # @return [String]
2597
- required :name, String
2377
+ required :customer_id, String
2598
2378
 
2599
- # @!method initialize(id:, name:)
2600
- # @param id [String]
2601
- # @param name [String]
2379
+ # @!method initialize(contract_id:, customer_id:)
2380
+ # @param contract_id [String]
2381
+ # @param customer_id [String]
2602
2382
  end
2383
+ end
2603
2384
 
2604
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2605
- # @!attribute id
2606
- #
2607
- # @return [String]
2608
- required :id, String
2385
+ class ChildHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2386
+ # @!attribute parent
2387
+ # The single parent contract/customer for this child.
2388
+ #
2389
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent]
2390
+ required :parent,
2391
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent }
2609
2392
 
2610
- # @!attribute amount
2611
- #
2612
- # @return [Float]
2613
- required :amount, Float
2393
+ # @!method initialize(parent:)
2394
+ # @param parent [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent] The single parent contract/customer for this child.
2614
2395
 
2615
- # @!attribute invoice_id
2396
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration#parent
2397
+ class Parent < MetronomeSDK::Internal::Type::BaseModel
2398
+ # @!attribute contract_id
2616
2399
  #
2617
2400
  # @return [String]
2618
- required :invoice_id, String
2401
+ required :contract_id, String
2619
2402
 
2620
- # @!attribute quantity
2403
+ # @!attribute customer_id
2621
2404
  #
2622
- # @return [Float]
2623
- required :quantity, Float
2624
-
2625
- # @!attribute timestamp
2626
- #
2627
- # @return [Time]
2628
- required :timestamp, Time
2405
+ # @return [String]
2406
+ required :customer_id, String
2629
2407
 
2630
- # @!attribute unit_price
2408
+ # @!method initialize(contract_id:, customer_id:)
2409
+ # The single parent contract/customer for this child.
2631
2410
  #
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]
2411
+ # @param contract_id [String]
2412
+ # @param customer_id [String]
2642
2413
  end
2643
2414
  end
2415
+
2416
+ # @!method self.variants
2417
+ # @return [Array(MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration)]
2644
2418
  end
2645
2419
 
2646
2420
  # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
@@ -2694,7 +2468,14 @@ module MetronomeSDK
2694
2468
  # @return [Float]
2695
2469
  required :threshold_amount, Float
2696
2470
 
2697
- # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:)
2471
+ # @!attribute custom_credit_type_id
2472
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
2473
+ # commit amount will be in terms of this credit type instead of the fiat currency.
2474
+ #
2475
+ # @return [String, nil]
2476
+ optional :custom_credit_type_id, String
2477
+
2478
+ # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:, custom_credit_type_id: nil)
2698
2479
  # Some parameter documentations has been truncated, see
2699
2480
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration}
2700
2481
  # for more details.
@@ -2708,6 +2489,8 @@ module MetronomeSDK
2708
2489
  # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
2709
2490
  #
2710
2491
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
2492
+ #
2493
+ # @param custom_credit_type_id [String] If provided, the threshold, recharge-to amount, and the resulting threshold comm
2711
2494
 
2712
2495
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration#commit
2713
2496
  class Commit < MetronomeSDK::Internal::Type::BaseModel
@@ -2719,16 +2502,17 @@ module MetronomeSDK
2719
2502
  required :product_id, String
2720
2503
 
2721
2504
  # @!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.
2505
+ # Which products the threshold commit applies to. If applicable_product_ids,
2506
+ # applicable_product_tags or specifiers are not provided, the commit applies to
2507
+ # all products.
2725
2508
  #
2726
2509
  # @return [Array<String>, nil]
2727
2510
  optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2728
2511
 
2729
2512
  # @!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.
2513
+ # Which tags the threshold commit applies to. If applicable_product_ids,
2514
+ # applicable_product_tags or specifiers are not provided, the commit applies to
2515
+ # all products.
2732
2516
  #
2733
2517
  # @return [Array<String>, nil]
2734
2518
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
@@ -2766,9 +2550,9 @@ module MetronomeSDK
2766
2550
  #
2767
2551
  # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
2768
2552
  #
2769
- # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
2553
+ # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If applicable_product_ids, appli
2770
2554
  #
2771
- # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
2555
+ # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If applicable_product_ids, applicabl
2772
2556
  #
2773
2557
  # @param description [String]
2774
2558
  #
@@ -2827,8 +2611,15 @@ module MetronomeSDK
2827
2611
  required :payment_gate_type,
2828
2612
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType }
2829
2613
 
2614
+ # @!attribute precalculated_tax_config
2615
+ # Only applicable if using PRECALCULATED as your tax type.
2616
+ #
2617
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
2618
+ optional :precalculated_tax_config,
2619
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig }
2620
+
2830
2621
  # @!attribute stripe_config
2831
- # Only applicable if using Stripe as your payment gateway through Metronome.
2622
+ # Only applicable if using STRIPE as your payment gateway type.
2832
2623
  #
2833
2624
  # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
2834
2625
  optional :stripe_config,
@@ -2843,14 +2634,16 @@ module MetronomeSDK
2843
2634
  optional :tax_type,
2844
2635
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType }
2845
2636
 
2846
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
2637
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
2847
2638
  # Some parameter documentations has been truncated, see
2848
2639
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig}
2849
2640
  # for more details.
2850
2641
  #
2851
2642
  # @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
2643
  #
2853
- # @param stripe_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
2644
+ # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
2645
+ #
2646
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
2854
2647
  #
2855
2648
  # @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
2649
 
@@ -2871,6 +2664,34 @@ module MetronomeSDK
2871
2664
  # @return [Array<Symbol>]
2872
2665
  end
2873
2666
 
2667
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
2668
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
2669
+ # @!attribute tax_amount
2670
+ # Amount of tax to be applied. This should be in the same currency and
2671
+ # denomination as the commit's invoice schedule
2672
+ #
2673
+ # @return [Float]
2674
+ required :tax_amount, Float
2675
+
2676
+ # @!attribute tax_name
2677
+ # Name of the tax to be applied. This may be used in an invoice line item
2678
+ # description.
2679
+ #
2680
+ # @return [String, nil]
2681
+ optional :tax_name, String
2682
+
2683
+ # @!method initialize(tax_amount:, tax_name: nil)
2684
+ # Some parameter documentations has been truncated, see
2685
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
2686
+ # for more details.
2687
+ #
2688
+ # Only applicable if using PRECALCULATED as your tax type.
2689
+ #
2690
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
2691
+ #
2692
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
2693
+ end
2694
+
2874
2695
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
2875
2696
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2876
2697
  # @!attribute payment_type
@@ -2880,10 +2701,23 @@ module MetronomeSDK
2880
2701
  required :payment_type,
2881
2702
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
2882
2703
 
2883
- # @!method initialize(payment_type:)
2884
- # Only applicable if using Stripe as your payment gateway through Metronome.
2704
+ # @!attribute invoice_metadata
2705
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2706
+ # your payment type.
2707
+ #
2708
+ # @return [Hash{Symbol=>String}, nil]
2709
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
2710
+
2711
+ # @!method initialize(payment_type:, invoice_metadata: nil)
2712
+ # Some parameter documentations has been truncated, see
2713
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig}
2714
+ # for more details.
2715
+ #
2716
+ # Only applicable if using STRIPE as your payment gateway type.
2885
2717
  #
2886
2718
  # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
2719
+ #
2720
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2887
2721
 
2888
2722
  # If left blank, will default to INVOICE
2889
2723
  #
@@ -2909,6 +2743,8 @@ module MetronomeSDK
2909
2743
 
2910
2744
  NONE = :NONE
2911
2745
  STRIPE = :STRIPE
2746
+ ANROK = :ANROK
2747
+ PRECALCULATED = :PRECALCULATED
2912
2748
 
2913
2749
  # @!method self.values
2914
2750
  # @return [Array<Symbol>]
@@ -2916,75 +2752,6 @@ module MetronomeSDK
2916
2752
  end
2917
2753
  end
2918
2754
 
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
2755
  class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
2989
2756
  # @!attribute id
2990
2757
  #
@@ -3082,6 +2849,7 @@ module MetronomeSDK
3082
2849
  # @!attribute proration
3083
2850
  # Determines whether the first and last commit will be prorated. If not provided,
3084
2851
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2852
+ # subscription_config:
3085
2853
  #
3086
2854
  # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Proration, nil]
3087
2855
  optional :proration,
@@ -3165,22 +2933,22 @@ module MetronomeSDK
3165
2933
  # @return [String]
3166
2934
  required :credit_type_id, String
3167
2935
 
3168
- # @!attribute quantity
3169
- #
3170
- # @return [Float]
3171
- required :quantity, Float
3172
-
3173
2936
  # @!attribute unit_price
3174
2937
  #
3175
2938
  # @return [Float]
3176
2939
  required :unit_price, Float
3177
2940
 
3178
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
2941
+ # @!attribute quantity
2942
+ #
2943
+ # @return [Float, nil]
2944
+ optional :quantity, Float
2945
+
2946
+ # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
3179
2947
  # The amount of commit to grant.
3180
2948
  #
3181
2949
  # @param credit_type_id [String]
3182
- # @param quantity [Float]
3183
2950
  # @param unit_price [Float]
2951
+ # @param quantity [Float]
3184
2952
  end
3185
2953
 
3186
2954
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit#commit_duration
@@ -3281,6 +3049,7 @@ module MetronomeSDK
3281
3049
 
3282
3050
  # Determines whether the first and last commit will be prorated. If not provided,
3283
3051
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3052
+ # subscription_config:
3284
3053
  #
3285
3054
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit#proration
3286
3055
  module Proration
@@ -3443,6 +3212,7 @@ module MetronomeSDK
3443
3212
  # @!attribute proration
3444
3213
  # Determines whether the first and last commit will be prorated. If not provided,
3445
3214
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3215
+ # subscription_config:
3446
3216
  #
3447
3217
  # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Proration, nil]
3448
3218
  optional :proration,
@@ -3524,22 +3294,22 @@ module MetronomeSDK
3524
3294
  # @return [String]
3525
3295
  required :credit_type_id, String
3526
3296
 
3527
- # @!attribute quantity
3528
- #
3529
- # @return [Float]
3530
- required :quantity, Float
3531
-
3532
3297
  # @!attribute unit_price
3533
3298
  #
3534
3299
  # @return [Float]
3535
3300
  required :unit_price, Float
3536
3301
 
3537
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
3302
+ # @!attribute quantity
3303
+ #
3304
+ # @return [Float, nil]
3305
+ optional :quantity, Float
3306
+
3307
+ # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
3538
3308
  # The amount of commit to grant.
3539
3309
  #
3540
3310
  # @param credit_type_id [String]
3541
- # @param quantity [Float]
3542
3311
  # @param unit_price [Float]
3312
+ # @param quantity [Float]
3543
3313
  end
3544
3314
 
3545
3315
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit#commit_duration
@@ -3615,6 +3385,7 @@ module MetronomeSDK
3615
3385
 
3616
3386
  # Determines whether the first and last commit will be prorated. If not provided,
3617
3387
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3388
+ # subscription_config:
3618
3389
  #
3619
3390
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit#proration
3620
3391
  module Proration
@@ -3917,8 +3688,15 @@ module MetronomeSDK
3917
3688
  required :payment_gate_type,
3918
3689
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType }
3919
3690
 
3691
+ # @!attribute precalculated_tax_config
3692
+ # Only applicable if using PRECALCULATED as your tax type.
3693
+ #
3694
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
3695
+ optional :precalculated_tax_config,
3696
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig }
3697
+
3920
3698
  # @!attribute stripe_config
3921
- # Only applicable if using Stripe as your payment gateway through Metronome.
3699
+ # Only applicable if using STRIPE as your payment gateway type.
3922
3700
  #
3923
3701
  # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
3924
3702
  optional :stripe_config,
@@ -3933,14 +3711,16 @@ module MetronomeSDK
3933
3711
  optional :tax_type,
3934
3712
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType }
3935
3713
 
3936
- # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
3714
+ # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
3937
3715
  # Some parameter documentations has been truncated, see
3938
3716
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig}
3939
3717
  # for more details.
3940
3718
  #
3941
3719
  # @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
3720
  #
3943
- # @param stripe_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
3721
+ # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
3722
+ #
3723
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
3944
3724
  #
3945
3725
  # @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
3726
 
@@ -3961,6 +3741,34 @@ module MetronomeSDK
3961
3741
  # @return [Array<Symbol>]
3962
3742
  end
3963
3743
 
3744
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
3745
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
3746
+ # @!attribute tax_amount
3747
+ # Amount of tax to be applied. This should be in the same currency and
3748
+ # denomination as the commit's invoice schedule
3749
+ #
3750
+ # @return [Float]
3751
+ required :tax_amount, Float
3752
+
3753
+ # @!attribute tax_name
3754
+ # Name of the tax to be applied. This may be used in an invoice line item
3755
+ # description.
3756
+ #
3757
+ # @return [String, nil]
3758
+ optional :tax_name, String
3759
+
3760
+ # @!method initialize(tax_amount:, tax_name: nil)
3761
+ # Some parameter documentations has been truncated, see
3762
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
3763
+ # for more details.
3764
+ #
3765
+ # Only applicable if using PRECALCULATED as your tax type.
3766
+ #
3767
+ # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
3768
+ #
3769
+ # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
3770
+ end
3771
+
3964
3772
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#stripe_config
3965
3773
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
3966
3774
  # @!attribute payment_type
@@ -3970,10 +3778,23 @@ module MetronomeSDK
3970
3778
  required :payment_type,
3971
3779
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
3972
3780
 
3973
- # @!method initialize(payment_type:)
3974
- # Only applicable if using Stripe as your payment gateway through Metronome.
3781
+ # @!attribute invoice_metadata
3782
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
3783
+ # your payment type.
3784
+ #
3785
+ # @return [Hash{Symbol=>String}, nil]
3786
+ optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
3787
+
3788
+ # @!method initialize(payment_type:, invoice_metadata: nil)
3789
+ # Some parameter documentations has been truncated, see
3790
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig}
3791
+ # for more details.
3792
+ #
3793
+ # Only applicable if using STRIPE as your payment gateway type.
3975
3794
  #
3976
3795
  # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
3796
+ #
3797
+ # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
3977
3798
 
3978
3799
  # If left blank, will default to INVOICE
3979
3800
  #
@@ -3999,6 +3820,8 @@ module MetronomeSDK
3999
3820
 
4000
3821
  NONE = :NONE
4001
3822
  STRIPE = :STRIPE
3823
+ ANROK = :ANROK
3824
+ PRECALCULATED = :PRECALCULATED
4002
3825
 
4003
3826
  # @!method self.values
4004
3827
  # @return [Array<Symbol>]
@@ -4020,6 +3843,8 @@ module MetronomeSDK
4020
3843
  -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration }
4021
3844
 
4022
3845
  # @!attribute quantity_schedule
3846
+ # List of quantity schedule items for the subscription. Only includes the current
3847
+ # quantity and future quantity changes.
4023
3848
  #
4024
3849
  # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::QuantitySchedule>]
4025
3850
  required :quantity_schedule,
@@ -4067,16 +3892,30 @@ module MetronomeSDK
4067
3892
  optional :name, String
4068
3893
 
4069
3894
  # @!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)
3895
+ # Some parameter documentations has been truncated, see
3896
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription} for
3897
+ # more details.
3898
+ #
4070
3899
  # @param collection_schedule [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::CollectionSchedule]
3900
+ #
4071
3901
  # @param proration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration]
4072
- # @param quantity_schedule [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::QuantitySchedule>]
3902
+ #
3903
+ # @param quantity_schedule [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::QuantitySchedule>] List of quantity schedule items for the subscription. Only includes the current
3904
+ #
4073
3905
  # @param starting_at [Time]
3906
+ #
4074
3907
  # @param subscription_rate [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate]
3908
+ #
4075
3909
  # @param id [String]
3910
+ #
4076
3911
  # @param custom_fields [Hash{Symbol=>String}]
3912
+ #
4077
3913
  # @param description [String]
3914
+ #
4078
3915
  # @param ending_before [Time]
3916
+ #
4079
3917
  # @param fiat_credit_type_id [String]
3918
+ #
4080
3919
  # @param name [String]
4081
3920
 
4082
3921
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription#collection_schedule