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
@@ -99,24 +99,11 @@ module MetronomeSDK
99
99
  end
100
100
  attr_writer :add_credits
101
101
 
102
- sig do
103
- returns(
104
- T.nilable(
105
- T::Array[
106
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount
107
- ]
108
- )
109
- )
110
- end
102
+ sig { returns(T.nilable(T::Array[MetronomeSDK::Discount])) }
111
103
  attr_reader :add_discounts
112
104
 
113
105
  sig do
114
- params(
115
- add_discounts:
116
- T::Array[
117
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::OrHash
118
- ]
119
- ).void
106
+ params(add_discounts: T::Array[MetronomeSDK::Discount::OrHash]).void
120
107
  end
121
108
  attr_writer :add_discounts
122
109
 
@@ -158,23 +145,12 @@ module MetronomeSDK
158
145
  end
159
146
  attr_writer :add_prepaid_balance_threshold_configuration
160
147
 
161
- sig do
162
- returns(
163
- T.nilable(
164
- T::Array[
165
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddProService
166
- ]
167
- )
168
- )
169
- end
148
+ sig { returns(T.nilable(T::Array[MetronomeSDK::ProService])) }
170
149
  attr_reader :add_pro_services
171
150
 
172
151
  sig do
173
152
  params(
174
- add_pro_services:
175
- T::Array[
176
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddProService::OrHash
177
- ]
153
+ add_pro_services: T::Array[MetronomeSDK::ProService::OrHash]
178
154
  ).void
179
155
  end
180
156
  attr_writer :add_pro_services
@@ -280,7 +256,7 @@ module MetronomeSDK
280
256
  end
281
257
  attr_writer :add_spend_threshold_configuration
282
258
 
283
- # (beta) List of subscriptions on the contract.
259
+ # List of subscriptions on the contract.
284
260
  sig do
285
261
  returns(
286
262
  T.nilable(
@@ -440,6 +416,11 @@ module MetronomeSDK
440
416
  sig { params(update_contract_end_date: Time).void }
441
417
  attr_writer :update_contract_end_date
442
418
 
419
+ # Value to update the contract name to. If not provided, the contract name will
420
+ # remain unchanged.
421
+ sig { returns(T.nilable(String)) }
422
+ attr_accessor :update_contract_name
423
+
443
424
  sig do
444
425
  returns(
445
426
  T.nilable(
@@ -600,7 +581,7 @@ module MetronomeSDK
600
581
  end
601
582
  attr_writer :update_spend_threshold_configuration
602
583
 
603
- # (beta) Optional list of subscriptions to update.
584
+ # Optional list of subscriptions to update.
604
585
  sig do
605
586
  returns(
606
587
  T.nilable(
@@ -633,20 +614,14 @@ module MetronomeSDK
633
614
  T::Array[
634
615
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::OrHash
635
616
  ],
636
- add_discounts:
637
- T::Array[
638
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::OrHash
639
- ],
617
+ add_discounts: T::Array[MetronomeSDK::Discount::OrHash],
640
618
  add_overrides:
641
619
  T::Array[
642
620
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OrHash
643
621
  ],
644
622
  add_prepaid_balance_threshold_configuration:
645
623
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::OrHash,
646
- add_pro_services:
647
- T::Array[
648
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddProService::OrHash
649
- ],
624
+ add_pro_services: T::Array[MetronomeSDK::ProService::OrHash],
650
625
  add_recurring_commits:
651
626
  T::Array[
652
627
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::OrHash
@@ -695,6 +670,7 @@ module MetronomeSDK
695
670
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::OrHash
696
671
  ],
697
672
  update_contract_end_date: Time,
673
+ update_contract_name: T.nilable(String),
698
674
  update_credits:
699
675
  T::Array[
700
676
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::OrHash
@@ -742,7 +718,7 @@ module MetronomeSDK
742
718
  add_reseller_royalties: nil,
743
719
  add_scheduled_charges: nil,
744
720
  add_spend_threshold_configuration: nil,
745
- # (beta) List of subscriptions on the contract.
721
+ # List of subscriptions on the contract.
746
722
  add_subscriptions: nil,
747
723
  add_usage_filters: nil,
748
724
  archive_commits: nil,
@@ -752,6 +728,9 @@ module MetronomeSDK
752
728
  timestamp: nil,
753
729
  update_commits: nil,
754
730
  update_contract_end_date: nil,
731
+ # Value to update the contract name to. If not provided, the contract name will
732
+ # remain unchanged.
733
+ update_contract_name: nil,
755
734
  update_credits: nil,
756
735
  update_discounts: nil,
757
736
  update_prepaid_balance_threshold_configuration: nil,
@@ -760,7 +739,7 @@ module MetronomeSDK
760
739
  update_refund_invoices: nil,
761
740
  update_scheduled_charges: nil,
762
741
  update_spend_threshold_configuration: nil,
763
- # (beta) Optional list of subscriptions to update.
742
+ # Optional list of subscriptions to update.
764
743
  update_subscriptions: nil
765
744
  )
766
745
  end
@@ -777,20 +756,14 @@ module MetronomeSDK
777
756
  T::Array[
778
757
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit
779
758
  ],
780
- add_discounts:
781
- T::Array[
782
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount
783
- ],
759
+ add_discounts: T::Array[MetronomeSDK::Discount],
784
760
  add_overrides:
785
761
  T::Array[
786
762
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride
787
763
  ],
788
764
  add_prepaid_balance_threshold_configuration:
789
765
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration,
790
- add_pro_services:
791
- T::Array[
792
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddProService
793
- ],
766
+ add_pro_services: T::Array[MetronomeSDK::ProService],
794
767
  add_recurring_commits:
795
768
  T::Array[
796
769
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit
@@ -839,6 +812,7 @@ module MetronomeSDK
839
812
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit
840
813
  ],
841
814
  update_contract_end_date: Time,
815
+ update_contract_name: T.nilable(String),
842
816
  update_credits:
843
817
  T::Array[
844
818
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit
@@ -913,19 +887,12 @@ module MetronomeSDK
913
887
 
914
888
  # The schedule that the customer will gain access to the credits purposed with
915
889
  # this commit.
916
- sig do
917
- returns(
918
- T.nilable(
919
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule
920
- )
921
- )
922
- end
890
+ sig { returns(T.nilable(MetronomeSDK::ScheduleDuration)) }
923
891
  attr_reader :access_schedule
924
892
 
925
893
  sig do
926
894
  params(
927
- access_schedule:
928
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::OrHash
895
+ access_schedule: MetronomeSDK::ScheduleDuration::OrHash
929
896
  ).void
930
897
  end
931
898
  attr_writer :access_schedule
@@ -949,19 +916,12 @@ module MetronomeSDK
949
916
  attr_writer :description
950
917
 
951
918
  # The schedule that the customer will be invoiced for this commit.
952
- sig do
953
- returns(
954
- T.nilable(
955
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule
956
- )
957
- )
958
- end
919
+ sig { returns(T.nilable(MetronomeSDK::SchedulePointInTime)) }
959
920
  attr_reader :invoice_schedule
960
921
 
961
922
  sig do
962
923
  params(
963
- invoice_schedule:
964
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::OrHash
924
+ invoice_schedule: MetronomeSDK::SchedulePointInTime::OrHash
965
925
  ).void
966
926
  end
967
927
  attr_writer :invoice_schedule
@@ -1049,13 +1009,11 @@ module MetronomeSDK
1049
1009
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Product::OrHash,
1050
1010
  type:
1051
1011
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Type::OrSymbol,
1052
- access_schedule:
1053
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::OrHash,
1012
+ access_schedule: MetronomeSDK::ScheduleDuration::OrHash,
1054
1013
  applicable_product_ids: T::Array[String],
1055
1014
  applicable_product_tags: T::Array[String],
1056
1015
  description: String,
1057
- invoice_schedule:
1058
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::OrHash,
1016
+ invoice_schedule: MetronomeSDK::SchedulePointInTime::OrHash,
1059
1017
  name: String,
1060
1018
  netsuite_sales_order_id: String,
1061
1019
  priority: Float,
@@ -1107,13 +1065,11 @@ module MetronomeSDK
1107
1065
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Product,
1108
1066
  type:
1109
1067
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Type::TaggedSymbol,
1110
- access_schedule:
1111
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule,
1068
+ access_schedule: MetronomeSDK::ScheduleDuration,
1112
1069
  applicable_product_ids: T::Array[String],
1113
1070
  applicable_product_tags: T::Array[String],
1114
1071
  description: String,
1115
- invoice_schedule:
1116
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule,
1072
+ invoice_schedule: MetronomeSDK::SchedulePointInTime,
1117
1073
  name: String,
1118
1074
  netsuite_sales_order_id: String,
1119
1075
  priority: Float,
@@ -1189,415 +1145,111 @@ module MetronomeSDK
1189
1145
  end
1190
1146
  end
1191
1147
 
1192
- class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
1193
- OrHash =
1148
+ module RateType
1149
+ extend MetronomeSDK::Internal::Type::Enum
1150
+
1151
+ TaggedSymbol =
1194
1152
  T.type_alias do
1195
- T.any(
1196
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule,
1197
- MetronomeSDK::Internal::AnyHash
1153
+ T.all(
1154
+ Symbol,
1155
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::RateType
1198
1156
  )
1199
1157
  end
1158
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1200
1159
 
1201
- sig do
1202
- returns(
1203
- T::Array[
1204
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::ScheduleItem
1205
- ]
1160
+ COMMIT_RATE =
1161
+ T.let(
1162
+ :COMMIT_RATE,
1163
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::RateType::TaggedSymbol
1206
1164
  )
1207
- end
1208
- attr_accessor :schedule_items
1209
-
1210
- sig do
1211
- returns(
1212
- T.nilable(
1213
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::CreditType
1214
- )
1165
+ LIST_RATE =
1166
+ T.let(
1167
+ :LIST_RATE,
1168
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::RateType::TaggedSymbol
1215
1169
  )
1216
- end
1217
- attr_reader :credit_type
1218
-
1219
- sig do
1220
- params(
1221
- credit_type:
1222
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::CreditType::OrHash
1223
- ).void
1224
- end
1225
- attr_writer :credit_type
1226
-
1227
- # The schedule that the customer will gain access to the credits purposed with
1228
- # this commit.
1229
- sig do
1230
- params(
1231
- schedule_items:
1232
- T::Array[
1233
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::ScheduleItem::OrHash
1234
- ],
1235
- credit_type:
1236
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::CreditType::OrHash
1237
- ).returns(T.attached_class)
1238
- end
1239
- def self.new(schedule_items:, credit_type: nil)
1240
- end
1241
1170
 
1242
1171
  sig do
1243
1172
  override.returns(
1244
- {
1245
- schedule_items:
1246
- T::Array[
1247
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::ScheduleItem
1248
- ],
1249
- credit_type:
1250
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::CreditType
1251
- }
1173
+ T::Array[
1174
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::RateType::TaggedSymbol
1175
+ ]
1252
1176
  )
1253
1177
  end
1254
- def to_hash
1255
- end
1256
-
1257
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1258
- OrHash =
1259
- T.type_alias do
1260
- T.any(
1261
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::ScheduleItem,
1262
- MetronomeSDK::Internal::AnyHash
1263
- )
1264
- end
1265
-
1266
- sig { returns(String) }
1267
- attr_accessor :id
1268
-
1269
- sig { returns(Float) }
1270
- attr_accessor :amount
1271
-
1272
- sig { returns(Time) }
1273
- attr_accessor :ending_before
1274
-
1275
- sig { returns(Time) }
1276
- attr_accessor :starting_at
1277
-
1278
- sig do
1279
- params(
1280
- id: String,
1281
- amount: Float,
1282
- ending_before: Time,
1283
- starting_at: Time
1284
- ).returns(T.attached_class)
1285
- end
1286
- def self.new(id:, amount:, ending_before:, starting_at:)
1287
- end
1288
-
1289
- sig do
1290
- override.returns(
1291
- {
1292
- id: String,
1293
- amount: Float,
1294
- ending_before: Time,
1295
- starting_at: Time
1296
- }
1297
- )
1298
- end
1299
- def to_hash
1300
- end
1301
- end
1302
-
1303
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
1304
- OrHash =
1305
- T.type_alias do
1306
- T.any(
1307
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::AccessSchedule::CreditType,
1308
- MetronomeSDK::Internal::AnyHash
1309
- )
1310
- end
1311
-
1312
- sig { returns(String) }
1313
- attr_accessor :id
1314
-
1315
- sig { returns(String) }
1316
- attr_accessor :name
1317
-
1318
- sig do
1319
- params(id: String, name: String).returns(T.attached_class)
1320
- end
1321
- def self.new(id:, name:)
1322
- end
1323
-
1324
- sig { override.returns({ id: String, name: String }) }
1325
- def to_hash
1326
- end
1178
+ def self.values
1327
1179
  end
1328
1180
  end
1329
1181
 
1330
- class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
1182
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1331
1183
  OrHash =
1332
1184
  T.type_alias do
1333
1185
  T.any(
1334
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule,
1186
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Specifier,
1335
1187
  MetronomeSDK::Internal::AnyHash
1336
1188
  )
1337
1189
  end
1338
1190
 
1339
- sig do
1340
- returns(
1341
- T.nilable(
1342
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::CreditType
1343
- )
1344
- )
1345
- end
1346
- attr_reader :credit_type
1191
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1192
+ attr_reader :presentation_group_values
1347
1193
 
1348
1194
  sig do
1349
- params(
1350
- credit_type:
1351
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::CreditType::OrHash
1352
- ).void
1195
+ params(presentation_group_values: T::Hash[Symbol, String]).void
1353
1196
  end
1354
- attr_writer :credit_type
1197
+ attr_writer :presentation_group_values
1355
1198
 
1356
- sig do
1357
- returns(
1358
- T.nilable(
1359
- T::Array[
1360
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::ScheduleItem
1361
- ]
1362
- )
1363
- )
1364
- end
1365
- attr_reader :schedule_items
1199
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1200
+ attr_reader :pricing_group_values
1366
1201
 
1367
- sig do
1368
- params(
1369
- schedule_items:
1370
- T::Array[
1371
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::ScheduleItem::OrHash
1372
- ]
1373
- ).void
1374
- end
1375
- attr_writer :schedule_items
1202
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
1203
+ attr_writer :pricing_group_values
1204
+
1205
+ # If provided, the specifier will only apply to the product with the specified ID.
1206
+ sig { returns(T.nilable(String)) }
1207
+ attr_reader :product_id
1208
+
1209
+ sig { params(product_id: String).void }
1210
+ attr_writer :product_id
1211
+
1212
+ # If provided, the specifier will only apply to products with all the specified
1213
+ # tags.
1214
+ sig { returns(T.nilable(T::Array[String])) }
1215
+ attr_reader :product_tags
1216
+
1217
+ sig { params(product_tags: T::Array[String]).void }
1218
+ attr_writer :product_tags
1376
1219
 
1377
- # The schedule that the customer will be invoiced for this commit.
1378
1220
  sig do
1379
1221
  params(
1380
- credit_type:
1381
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::CreditType::OrHash,
1382
- schedule_items:
1383
- T::Array[
1384
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::ScheduleItem::OrHash
1385
- ]
1222
+ presentation_group_values: T::Hash[Symbol, String],
1223
+ pricing_group_values: T::Hash[Symbol, String],
1224
+ product_id: String,
1225
+ product_tags: T::Array[String]
1386
1226
  ).returns(T.attached_class)
1387
1227
  end
1388
- def self.new(credit_type: nil, schedule_items: nil)
1228
+ def self.new(
1229
+ presentation_group_values: nil,
1230
+ pricing_group_values: nil,
1231
+ # If provided, the specifier will only apply to the product with the specified ID.
1232
+ product_id: nil,
1233
+ # If provided, the specifier will only apply to products with all the specified
1234
+ # tags.
1235
+ product_tags: nil
1236
+ )
1389
1237
  end
1390
1238
 
1391
1239
  sig do
1392
1240
  override.returns(
1393
1241
  {
1394
- credit_type:
1395
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::CreditType,
1396
- schedule_items:
1397
- T::Array[
1398
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::ScheduleItem
1399
- ]
1242
+ presentation_group_values: T::Hash[Symbol, String],
1243
+ pricing_group_values: T::Hash[Symbol, String],
1244
+ product_id: String,
1245
+ product_tags: T::Array[String]
1400
1246
  }
1401
1247
  )
1402
1248
  end
1403
1249
  def to_hash
1404
1250
  end
1405
-
1406
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
1407
- OrHash =
1408
- T.type_alias do
1409
- T.any(
1410
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::CreditType,
1411
- MetronomeSDK::Internal::AnyHash
1412
- )
1413
- end
1414
-
1415
- sig { returns(String) }
1416
- attr_accessor :id
1417
-
1418
- sig { returns(String) }
1419
- attr_accessor :name
1420
-
1421
- sig do
1422
- params(id: String, name: String).returns(T.attached_class)
1423
- end
1424
- def self.new(id:, name:)
1425
- end
1426
-
1427
- sig { override.returns({ id: String, name: String }) }
1428
- def to_hash
1429
- end
1430
- end
1431
-
1432
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1433
- OrHash =
1434
- T.type_alias do
1435
- T.any(
1436
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::InvoiceSchedule::ScheduleItem,
1437
- MetronomeSDK::Internal::AnyHash
1438
- )
1439
- end
1440
-
1441
- sig { returns(String) }
1442
- attr_accessor :id
1443
-
1444
- sig { returns(Float) }
1445
- attr_accessor :amount
1446
-
1447
- sig { returns(String) }
1448
- attr_accessor :invoice_id
1449
-
1450
- sig { returns(Float) }
1451
- attr_accessor :quantity
1452
-
1453
- sig { returns(Time) }
1454
- attr_accessor :timestamp
1455
-
1456
- sig { returns(Float) }
1457
- attr_accessor :unit_price
1458
-
1459
- sig do
1460
- params(
1461
- id: String,
1462
- amount: Float,
1463
- invoice_id: String,
1464
- quantity: Float,
1465
- timestamp: Time,
1466
- unit_price: Float
1467
- ).returns(T.attached_class)
1468
- end
1469
- def self.new(
1470
- id:,
1471
- amount:,
1472
- invoice_id:,
1473
- quantity:,
1474
- timestamp:,
1475
- unit_price:
1476
- )
1477
- end
1478
-
1479
- sig do
1480
- override.returns(
1481
- {
1482
- id: String,
1483
- amount: Float,
1484
- invoice_id: String,
1485
- quantity: Float,
1486
- timestamp: Time,
1487
- unit_price: Float
1488
- }
1489
- )
1490
- end
1491
- def to_hash
1492
- end
1493
- end
1494
- end
1495
-
1496
- module RateType
1497
- extend MetronomeSDK::Internal::Type::Enum
1498
-
1499
- TaggedSymbol =
1500
- T.type_alias do
1501
- T.all(
1502
- Symbol,
1503
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::RateType
1504
- )
1505
- end
1506
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1507
-
1508
- COMMIT_RATE =
1509
- T.let(
1510
- :COMMIT_RATE,
1511
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::RateType::TaggedSymbol
1512
- )
1513
- LIST_RATE =
1514
- T.let(
1515
- :LIST_RATE,
1516
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::RateType::TaggedSymbol
1517
- )
1518
-
1519
- sig do
1520
- override.returns(
1521
- T::Array[
1522
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::RateType::TaggedSymbol
1523
- ]
1524
- )
1525
- end
1526
- def self.values
1527
- end
1528
- end
1529
-
1530
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
1531
- OrHash =
1532
- T.type_alias do
1533
- T.any(
1534
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Specifier,
1535
- MetronomeSDK::Internal::AnyHash
1536
- )
1537
- end
1538
-
1539
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
1540
- attr_reader :presentation_group_values
1541
-
1542
- sig do
1543
- params(presentation_group_values: T::Hash[Symbol, String]).void
1544
- end
1545
- attr_writer :presentation_group_values
1546
-
1547
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
1548
- attr_reader :pricing_group_values
1549
-
1550
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
1551
- attr_writer :pricing_group_values
1552
-
1553
- # If provided, the specifier will only apply to the product with the specified ID.
1554
- sig { returns(T.nilable(String)) }
1555
- attr_reader :product_id
1556
-
1557
- sig { params(product_id: String).void }
1558
- attr_writer :product_id
1559
-
1560
- # If provided, the specifier will only apply to products with all the specified
1561
- # tags.
1562
- sig { returns(T.nilable(T::Array[String])) }
1563
- attr_reader :product_tags
1564
-
1565
- sig { params(product_tags: T::Array[String]).void }
1566
- attr_writer :product_tags
1567
-
1568
- sig do
1569
- params(
1570
- presentation_group_values: T::Hash[Symbol, String],
1571
- pricing_group_values: T::Hash[Symbol, String],
1572
- product_id: String,
1573
- product_tags: T::Array[String]
1574
- ).returns(T.attached_class)
1575
- end
1576
- def self.new(
1577
- presentation_group_values: nil,
1578
- pricing_group_values: nil,
1579
- # If provided, the specifier will only apply to the product with the specified ID.
1580
- product_id: nil,
1581
- # If provided, the specifier will only apply to products with all the specified
1582
- # tags.
1583
- product_tags: nil
1584
- )
1585
- end
1586
-
1587
- sig do
1588
- override.returns(
1589
- {
1590
- presentation_group_values: T::Hash[Symbol, String],
1591
- pricing_group_values: T::Hash[Symbol, String],
1592
- product_id: String,
1593
- product_tags: T::Array[String]
1594
- }
1595
- )
1596
- end
1597
- def to_hash
1598
- end
1599
- end
1600
- end
1251
+ end
1252
+ end
1601
1253
 
1602
1254
  class AddCredit < MetronomeSDK::Internal::Type::BaseModel
1603
1255
  OrHash =
@@ -1634,19 +1286,12 @@ module MetronomeSDK
1634
1286
  attr_accessor :type
1635
1287
 
1636
1288
  # The schedule that the customer will gain access to the credits.
1637
- sig do
1638
- returns(
1639
- T.nilable(
1640
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule
1641
- )
1642
- )
1643
- end
1289
+ sig { returns(T.nilable(MetronomeSDK::ScheduleDuration)) }
1644
1290
  attr_reader :access_schedule
1645
1291
 
1646
1292
  sig do
1647
1293
  params(
1648
- access_schedule:
1649
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::OrHash
1294
+ access_schedule: MetronomeSDK::ScheduleDuration::OrHash
1650
1295
  ).void
1651
1296
  end
1652
1297
  attr_writer :access_schedule
@@ -1729,8 +1374,7 @@ module MetronomeSDK
1729
1374
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Product::OrHash,
1730
1375
  type:
1731
1376
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Type::OrSymbol,
1732
- access_schedule:
1733
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::OrHash,
1377
+ access_schedule: MetronomeSDK::ScheduleDuration::OrHash,
1734
1378
  applicable_product_ids: T::Array[String],
1735
1379
  applicable_product_tags: T::Array[String],
1736
1380
  description: String,
@@ -1777,8 +1421,7 @@ module MetronomeSDK
1777
1421
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Product,
1778
1422
  type:
1779
1423
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Type::TaggedSymbol,
1780
- access_schedule:
1781
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule,
1424
+ access_schedule: MetronomeSDK::ScheduleDuration,
1782
1425
  applicable_product_ids: T::Array[String],
1783
1426
  applicable_product_tags: T::Array[String],
1784
1427
  description: String,
@@ -1835,516 +1478,88 @@ module MetronomeSDK
1835
1478
  CREDIT =
1836
1479
  T.let(
1837
1480
  :CREDIT,
1838
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Type::TaggedSymbol
1839
- )
1840
-
1841
- sig do
1842
- override.returns(
1843
- T::Array[
1844
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Type::TaggedSymbol
1845
- ]
1846
- )
1847
- end
1848
- def self.values
1849
- end
1850
- end
1851
-
1852
- class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
1853
- OrHash =
1854
- T.type_alias do
1855
- T.any(
1856
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule,
1857
- MetronomeSDK::Internal::AnyHash
1858
- )
1859
- end
1860
-
1861
- sig do
1862
- returns(
1863
- T::Array[
1864
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::ScheduleItem
1865
- ]
1866
- )
1867
- end
1868
- attr_accessor :schedule_items
1869
-
1870
- sig do
1871
- returns(
1872
- T.nilable(
1873
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::CreditType
1874
- )
1875
- )
1876
- end
1877
- attr_reader :credit_type
1878
-
1879
- sig do
1880
- params(
1881
- credit_type:
1882
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::CreditType::OrHash
1883
- ).void
1884
- end
1885
- attr_writer :credit_type
1886
-
1887
- # The schedule that the customer will gain access to the credits.
1888
- sig do
1889
- params(
1890
- schedule_items:
1891
- T::Array[
1892
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::ScheduleItem::OrHash
1893
- ],
1894
- credit_type:
1895
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::CreditType::OrHash
1896
- ).returns(T.attached_class)
1897
- end
1898
- def self.new(schedule_items:, credit_type: nil)
1899
- end
1900
-
1901
- sig do
1902
- override.returns(
1903
- {
1904
- schedule_items:
1905
- T::Array[
1906
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::ScheduleItem
1907
- ],
1908
- credit_type:
1909
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::CreditType
1910
- }
1911
- )
1912
- end
1913
- def to_hash
1914
- end
1915
-
1916
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1917
- OrHash =
1918
- T.type_alias do
1919
- T.any(
1920
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::ScheduleItem,
1921
- MetronomeSDK::Internal::AnyHash
1922
- )
1923
- end
1924
-
1925
- sig { returns(String) }
1926
- attr_accessor :id
1927
-
1928
- sig { returns(Float) }
1929
- attr_accessor :amount
1930
-
1931
- sig { returns(Time) }
1932
- attr_accessor :ending_before
1933
-
1934
- sig { returns(Time) }
1935
- attr_accessor :starting_at
1936
-
1937
- sig do
1938
- params(
1939
- id: String,
1940
- amount: Float,
1941
- ending_before: Time,
1942
- starting_at: Time
1943
- ).returns(T.attached_class)
1944
- end
1945
- def self.new(id:, amount:, ending_before:, starting_at:)
1946
- end
1947
-
1948
- sig do
1949
- override.returns(
1950
- {
1951
- id: String,
1952
- amount: Float,
1953
- ending_before: Time,
1954
- starting_at: Time
1955
- }
1956
- )
1957
- end
1958
- def to_hash
1959
- end
1960
- end
1961
-
1962
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
1963
- OrHash =
1964
- T.type_alias do
1965
- T.any(
1966
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::AccessSchedule::CreditType,
1967
- MetronomeSDK::Internal::AnyHash
1968
- )
1969
- end
1970
-
1971
- sig { returns(String) }
1972
- attr_accessor :id
1973
-
1974
- sig { returns(String) }
1975
- attr_accessor :name
1976
-
1977
- sig do
1978
- params(id: String, name: String).returns(T.attached_class)
1979
- end
1980
- def self.new(id:, name:)
1981
- end
1982
-
1983
- sig { override.returns({ id: String, name: String }) }
1984
- def to_hash
1985
- end
1986
- end
1987
- end
1988
-
1989
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
1990
- OrHash =
1991
- T.type_alias do
1992
- T.any(
1993
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Specifier,
1994
- MetronomeSDK::Internal::AnyHash
1995
- )
1996
- end
1997
-
1998
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
1999
- attr_reader :presentation_group_values
2000
-
2001
- sig do
2002
- params(presentation_group_values: T::Hash[Symbol, String]).void
2003
- end
2004
- attr_writer :presentation_group_values
2005
-
2006
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
2007
- attr_reader :pricing_group_values
2008
-
2009
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
2010
- attr_writer :pricing_group_values
2011
-
2012
- # If provided, the specifier will only apply to the product with the specified ID.
2013
- sig { returns(T.nilable(String)) }
2014
- attr_reader :product_id
2015
-
2016
- sig { params(product_id: String).void }
2017
- attr_writer :product_id
2018
-
2019
- # If provided, the specifier will only apply to products with all the specified
2020
- # tags.
2021
- sig { returns(T.nilable(T::Array[String])) }
2022
- attr_reader :product_tags
2023
-
2024
- sig { params(product_tags: T::Array[String]).void }
2025
- attr_writer :product_tags
2026
-
2027
- sig do
2028
- params(
2029
- presentation_group_values: T::Hash[Symbol, String],
2030
- pricing_group_values: T::Hash[Symbol, String],
2031
- product_id: String,
2032
- product_tags: T::Array[String]
2033
- ).returns(T.attached_class)
2034
- end
2035
- def self.new(
2036
- presentation_group_values: nil,
2037
- pricing_group_values: nil,
2038
- # If provided, the specifier will only apply to the product with the specified ID.
2039
- product_id: nil,
2040
- # If provided, the specifier will only apply to products with all the specified
2041
- # tags.
2042
- product_tags: nil
2043
- )
2044
- end
2045
-
2046
- sig do
2047
- override.returns(
2048
- {
2049
- presentation_group_values: T::Hash[Symbol, String],
2050
- pricing_group_values: T::Hash[Symbol, String],
2051
- product_id: String,
2052
- product_tags: T::Array[String]
2053
- }
2054
- )
2055
- end
2056
- def to_hash
2057
- end
2058
- end
2059
- end
2060
-
2061
- class AddDiscount < MetronomeSDK::Internal::Type::BaseModel
2062
- OrHash =
2063
- T.type_alias do
2064
- T.any(
2065
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount,
2066
- MetronomeSDK::Internal::AnyHash
2067
- )
2068
- end
2069
-
2070
- sig { returns(String) }
2071
- attr_accessor :id
2072
-
2073
- sig do
2074
- returns(
2075
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Product
2076
- )
2077
- end
2078
- attr_reader :product
2079
-
2080
- sig do
2081
- params(
2082
- product:
2083
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Product::OrHash
2084
- ).void
2085
- end
2086
- attr_writer :product
2087
-
2088
- sig do
2089
- returns(
2090
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule
2091
- )
2092
- end
2093
- attr_reader :schedule
2094
-
2095
- sig do
2096
- params(
2097
- schedule:
2098
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::OrHash
2099
- ).void
2100
- end
2101
- attr_writer :schedule
2102
-
2103
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
2104
- attr_reader :custom_fields
2105
-
2106
- sig { params(custom_fields: T::Hash[Symbol, String]).void }
2107
- attr_writer :custom_fields
2108
-
2109
- sig { returns(T.nilable(String)) }
2110
- attr_reader :name
2111
-
2112
- sig { params(name: String).void }
2113
- attr_writer :name
2114
-
2115
- # This field's availability is dependent on your client's configuration.
2116
- sig { returns(T.nilable(String)) }
2117
- attr_reader :netsuite_sales_order_id
2118
-
2119
- sig { params(netsuite_sales_order_id: String).void }
2120
- attr_writer :netsuite_sales_order_id
2121
-
2122
- sig do
2123
- params(
2124
- id: String,
2125
- product:
2126
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Product::OrHash,
2127
- schedule:
2128
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::OrHash,
2129
- custom_fields: T::Hash[Symbol, String],
2130
- name: String,
2131
- netsuite_sales_order_id: String
2132
- ).returns(T.attached_class)
2133
- end
2134
- def self.new(
2135
- id:,
2136
- product:,
2137
- schedule:,
2138
- custom_fields: nil,
2139
- name: nil,
2140
- # This field's availability is dependent on your client's configuration.
2141
- netsuite_sales_order_id: nil
2142
- )
2143
- end
2144
-
2145
- sig do
2146
- override.returns(
2147
- {
2148
- id: String,
2149
- product:
2150
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Product,
2151
- schedule:
2152
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule,
2153
- custom_fields: T::Hash[Symbol, String],
2154
- name: String,
2155
- netsuite_sales_order_id: String
2156
- }
2157
- )
2158
- end
2159
- def to_hash
2160
- end
2161
-
2162
- class Product < MetronomeSDK::Internal::Type::BaseModel
2163
- OrHash =
2164
- T.type_alias do
2165
- T.any(
2166
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Product,
2167
- MetronomeSDK::Internal::AnyHash
2168
- )
2169
- end
2170
-
2171
- sig { returns(String) }
2172
- attr_accessor :id
2173
-
2174
- sig { returns(String) }
2175
- attr_accessor :name
2176
-
2177
- sig { params(id: String, name: String).returns(T.attached_class) }
2178
- def self.new(id:, name:)
2179
- end
2180
-
2181
- sig { override.returns({ id: String, name: String }) }
2182
- def to_hash
2183
- end
2184
- end
2185
-
2186
- class Schedule < MetronomeSDK::Internal::Type::BaseModel
2187
- OrHash =
2188
- T.type_alias do
2189
- T.any(
2190
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule,
2191
- MetronomeSDK::Internal::AnyHash
2192
- )
2193
- end
2194
-
2195
- sig do
2196
- returns(
2197
- T.nilable(
2198
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::CreditType
2199
- )
2200
- )
2201
- end
2202
- attr_reader :credit_type
2203
-
2204
- sig do
2205
- params(
2206
- credit_type:
2207
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::CreditType::OrHash
2208
- ).void
2209
- end
2210
- attr_writer :credit_type
2211
-
2212
- sig do
2213
- returns(
2214
- T.nilable(
2215
- T::Array[
2216
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::ScheduleItem
2217
- ]
2218
- )
2219
- )
2220
- end
2221
- attr_reader :schedule_items
2222
-
2223
- sig do
2224
- params(
2225
- schedule_items:
2226
- T::Array[
2227
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::ScheduleItem::OrHash
2228
- ]
2229
- ).void
2230
- end
2231
- attr_writer :schedule_items
2232
-
2233
- sig do
2234
- params(
2235
- credit_type:
2236
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::CreditType::OrHash,
2237
- schedule_items:
2238
- T::Array[
2239
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::ScheduleItem::OrHash
2240
- ]
2241
- ).returns(T.attached_class)
2242
- end
2243
- def self.new(credit_type: nil, schedule_items: nil)
2244
- end
1481
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Type::TaggedSymbol
1482
+ )
2245
1483
 
2246
1484
  sig do
2247
1485
  override.returns(
2248
- {
2249
- credit_type:
2250
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::CreditType,
2251
- schedule_items:
2252
- T::Array[
2253
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::ScheduleItem
2254
- ]
2255
- }
1486
+ T::Array[
1487
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Type::TaggedSymbol
1488
+ ]
2256
1489
  )
2257
1490
  end
2258
- def to_hash
1491
+ def self.values
2259
1492
  end
1493
+ end
2260
1494
 
2261
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
2262
- OrHash =
2263
- T.type_alias do
2264
- T.any(
2265
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::CreditType,
2266
- MetronomeSDK::Internal::AnyHash
2267
- )
2268
- end
2269
-
2270
- sig { returns(String) }
2271
- attr_accessor :id
2272
-
2273
- sig { returns(String) }
2274
- attr_accessor :name
2275
-
2276
- sig do
2277
- params(id: String, name: String).returns(T.attached_class)
2278
- end
2279
- def self.new(id:, name:)
1495
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1496
+ OrHash =
1497
+ T.type_alias do
1498
+ T.any(
1499
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Specifier,
1500
+ MetronomeSDK::Internal::AnyHash
1501
+ )
2280
1502
  end
2281
1503
 
2282
- sig { override.returns({ id: String, name: String }) }
2283
- def to_hash
2284
- end
1504
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1505
+ attr_reader :presentation_group_values
1506
+
1507
+ sig do
1508
+ params(presentation_group_values: T::Hash[Symbol, String]).void
2285
1509
  end
1510
+ attr_writer :presentation_group_values
2286
1511
 
2287
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2288
- OrHash =
2289
- T.type_alias do
2290
- T.any(
2291
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddDiscount::Schedule::ScheduleItem,
2292
- MetronomeSDK::Internal::AnyHash
2293
- )
2294
- end
1512
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1513
+ attr_reader :pricing_group_values
2295
1514
 
2296
- sig { returns(String) }
2297
- attr_accessor :id
1515
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
1516
+ attr_writer :pricing_group_values
2298
1517
 
2299
- sig { returns(Float) }
2300
- attr_accessor :amount
1518
+ # If provided, the specifier will only apply to the product with the specified ID.
1519
+ sig { returns(T.nilable(String)) }
1520
+ attr_reader :product_id
2301
1521
 
2302
- sig { returns(String) }
2303
- attr_accessor :invoice_id
1522
+ sig { params(product_id: String).void }
1523
+ attr_writer :product_id
2304
1524
 
2305
- sig { returns(Float) }
2306
- attr_accessor :quantity
1525
+ # If provided, the specifier will only apply to products with all the specified
1526
+ # tags.
1527
+ sig { returns(T.nilable(T::Array[String])) }
1528
+ attr_reader :product_tags
2307
1529
 
2308
- sig { returns(Time) }
2309
- attr_accessor :timestamp
1530
+ sig { params(product_tags: T::Array[String]).void }
1531
+ attr_writer :product_tags
2310
1532
 
2311
- sig { returns(Float) }
2312
- attr_accessor :unit_price
1533
+ sig do
1534
+ params(
1535
+ presentation_group_values: T::Hash[Symbol, String],
1536
+ pricing_group_values: T::Hash[Symbol, String],
1537
+ product_id: String,
1538
+ product_tags: T::Array[String]
1539
+ ).returns(T.attached_class)
1540
+ end
1541
+ def self.new(
1542
+ presentation_group_values: nil,
1543
+ pricing_group_values: nil,
1544
+ # If provided, the specifier will only apply to the product with the specified ID.
1545
+ product_id: nil,
1546
+ # If provided, the specifier will only apply to products with all the specified
1547
+ # tags.
1548
+ product_tags: nil
1549
+ )
1550
+ end
2313
1551
 
2314
- sig do
2315
- params(
2316
- id: String,
2317
- amount: Float,
2318
- invoice_id: String,
2319
- quantity: Float,
2320
- timestamp: Time,
2321
- unit_price: Float
2322
- ).returns(T.attached_class)
2323
- end
2324
- def self.new(
2325
- id:,
2326
- amount:,
2327
- invoice_id:,
2328
- quantity:,
2329
- timestamp:,
2330
- unit_price:
1552
+ sig do
1553
+ override.returns(
1554
+ {
1555
+ presentation_group_values: T::Hash[Symbol, String],
1556
+ pricing_group_values: T::Hash[Symbol, String],
1557
+ product_id: String,
1558
+ product_tags: T::Array[String]
1559
+ }
2331
1560
  )
2332
- end
2333
-
2334
- sig do
2335
- override.returns(
2336
- {
2337
- id: String,
2338
- amount: Float,
2339
- invoice_id: String,
2340
- quantity: Float,
2341
- timestamp: Time,
2342
- unit_price: Float
2343
- }
2344
- )
2345
- end
2346
- def to_hash
2347
- end
1561
+ end
1562
+ def to_hash
2348
1563
  end
2349
1564
  end
2350
1565
  end
@@ -2795,20 +2010,11 @@ module MetronomeSDK
2795
2010
  end
2796
2011
  attr_accessor :rate_type
2797
2012
 
2798
- sig do
2799
- returns(
2800
- T.nilable(
2801
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::CreditType
2802
- )
2803
- )
2804
- end
2013
+ sig { returns(T.nilable(MetronomeSDK::CreditTypeData)) }
2805
2014
  attr_reader :credit_type
2806
2015
 
2807
2016
  sig do
2808
- params(
2809
- credit_type:
2810
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::CreditType::OrHash
2811
- ).void
2017
+ params(credit_type: MetronomeSDK::CreditTypeData::OrHash).void
2812
2018
  end
2813
2019
  attr_writer :credit_type
2814
2020
 
@@ -2844,41 +2050,22 @@ module MetronomeSDK
2844
2050
  attr_writer :quantity
2845
2051
 
2846
2052
  # Only set for TIERED rate_type.
2847
- sig do
2848
- returns(
2849
- T.nilable(
2850
- T::Array[
2851
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::Tier
2852
- ]
2853
- )
2854
- )
2855
- end
2053
+ sig { returns(T.nilable(T::Array[MetronomeSDK::Tier])) }
2856
2054
  attr_reader :tiers
2857
2055
 
2858
- sig do
2859
- params(
2860
- tiers:
2861
- T::Array[
2862
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::Tier::OrHash
2863
- ]
2864
- ).void
2865
- end
2056
+ sig { params(tiers: T::Array[MetronomeSDK::Tier::OrHash]).void }
2866
2057
  attr_writer :tiers
2867
2058
 
2868
2059
  sig do
2869
2060
  params(
2870
2061
  rate_type:
2871
2062
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::RateType::OrSymbol,
2872
- credit_type:
2873
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::CreditType::OrHash,
2063
+ credit_type: MetronomeSDK::CreditTypeData::OrHash,
2874
2064
  custom_rate: T::Hash[Symbol, T.anything],
2875
2065
  is_prorated: T::Boolean,
2876
2066
  price: Float,
2877
2067
  quantity: Float,
2878
- tiers:
2879
- T::Array[
2880
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::Tier::OrHash
2881
- ]
2068
+ tiers: T::Array[MetronomeSDK::Tier::OrHash]
2882
2069
  ).returns(T.attached_class)
2883
2070
  end
2884
2071
  def self.new(
@@ -2905,16 +2092,12 @@ module MetronomeSDK
2905
2092
  {
2906
2093
  rate_type:
2907
2094
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::RateType::TaggedSymbol,
2908
- credit_type:
2909
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::CreditType,
2095
+ credit_type: MetronomeSDK::CreditTypeData,
2910
2096
  custom_rate: T::Hash[Symbol, T.anything],
2911
2097
  is_prorated: T::Boolean,
2912
2098
  price: Float,
2913
2099
  quantity: Float,
2914
- tiers:
2915
- T::Array[
2916
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::Tier
2917
- ]
2100
+ tiers: T::Array[MetronomeSDK::Tier]
2918
2101
  }
2919
2102
  )
2920
2103
  end
@@ -2969,61 +2152,6 @@ module MetronomeSDK
2969
2152
  def self.values
2970
2153
  end
2971
2154
  end
2972
-
2973
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
2974
- OrHash =
2975
- T.type_alias do
2976
- T.any(
2977
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::CreditType,
2978
- MetronomeSDK::Internal::AnyHash
2979
- )
2980
- end
2981
-
2982
- sig { returns(String) }
2983
- attr_accessor :id
2984
-
2985
- sig { returns(String) }
2986
- attr_accessor :name
2987
-
2988
- sig do
2989
- params(id: String, name: String).returns(T.attached_class)
2990
- end
2991
- def self.new(id:, name:)
2992
- end
2993
-
2994
- sig { override.returns({ id: String, name: String }) }
2995
- def to_hash
2996
- end
2997
- end
2998
-
2999
- class Tier < MetronomeSDK::Internal::Type::BaseModel
3000
- OrHash =
3001
- T.type_alias do
3002
- T.any(
3003
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::Tier,
3004
- MetronomeSDK::Internal::AnyHash
3005
- )
3006
- end
3007
-
3008
- sig { returns(Float) }
3009
- attr_accessor :price
3010
-
3011
- sig { returns(T.nilable(Float)) }
3012
- attr_reader :size
3013
-
3014
- sig { params(size: Float).void }
3015
- attr_writer :size
3016
-
3017
- sig do
3018
- params(price: Float, size: Float).returns(T.attached_class)
3019
- end
3020
- def self.new(price:, size: nil)
3021
- end
3022
-
3023
- sig { override.returns({ price: Float, size: Float }) }
3024
- def to_hash
3025
- end
3026
- end
3027
2155
  end
3028
2156
 
3029
2157
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -3178,6 +2306,14 @@ module MetronomeSDK
3178
2306
  sig { returns(Float) }
3179
2307
  attr_accessor :threshold_amount
3180
2308
 
2309
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
2310
+ # commit amount will be in terms of this credit type instead of the fiat currency.
2311
+ sig { returns(T.nilable(String)) }
2312
+ attr_reader :custom_credit_type_id
2313
+
2314
+ sig { params(custom_credit_type_id: String).void }
2315
+ attr_writer :custom_credit_type_id
2316
+
3181
2317
  sig do
3182
2318
  params(
3183
2319
  commit:
@@ -3186,7 +2322,8 @@ module MetronomeSDK
3186
2322
  payment_gate_config:
3187
2323
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::OrHash,
3188
2324
  recharge_to_amount: Float,
3189
- threshold_amount: Float
2325
+ threshold_amount: Float,
2326
+ custom_credit_type_id: String
3190
2327
  ).returns(T.attached_class)
3191
2328
  end
3192
2329
  def self.new(
@@ -3200,7 +2337,10 @@ module MetronomeSDK
3200
2337
  recharge_to_amount:,
3201
2338
  # Specify the threshold amount for the contract. Each time the contract's balance
3202
2339
  # lowers to this amount, a threshold charge will be initiated.
3203
- threshold_amount:
2340
+ threshold_amount:,
2341
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
2342
+ # commit amount will be in terms of this credit type instead of the fiat currency.
2343
+ custom_credit_type_id: nil
3204
2344
  )
3205
2345
  end
3206
2346
 
@@ -3213,7 +2353,8 @@ module MetronomeSDK
3213
2353
  payment_gate_config:
3214
2354
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig,
3215
2355
  recharge_to_amount: Float,
3216
- threshold_amount: Float
2356
+ threshold_amount: Float,
2357
+ custom_credit_type_id: String
3217
2358
  }
3218
2359
  )
3219
2360
  end
@@ -3234,17 +2375,18 @@ module MetronomeSDK
3234
2375
  sig { returns(String) }
3235
2376
  attr_accessor :product_id
3236
2377
 
3237
- # Which products the threshold commit applies to. If both applicable_product_ids
3238
- # and applicable_product_tags are not provided, the commit applies to all
3239
- # products.
2378
+ # Which products the threshold commit applies to. If applicable_product_ids,
2379
+ # applicable_product_tags or specifiers are not provided, the commit applies to
2380
+ # all products.
3240
2381
  sig { returns(T.nilable(T::Array[String])) }
3241
2382
  attr_reader :applicable_product_ids
3242
2383
 
3243
2384
  sig { params(applicable_product_ids: T::Array[String]).void }
3244
2385
  attr_writer :applicable_product_ids
3245
2386
 
3246
- # Which tags the threshold commit applies to. If both applicable_product_ids and
3247
- # applicable_product_tags are not provided, the commit applies to all products.
2387
+ # Which tags the threshold commit applies to. If applicable_product_ids,
2388
+ # applicable_product_tags or specifiers are not provided, the commit applies to
2389
+ # all products.
3248
2390
  sig { returns(T.nilable(T::Array[String])) }
3249
2391
  attr_reader :applicable_product_tags
3250
2392
 
@@ -3307,12 +2449,13 @@ module MetronomeSDK
3307
2449
  # The commit product that will be used to generate the line item for commit
3308
2450
  # payment.
3309
2451
  product_id:,
3310
- # Which products the threshold commit applies to. If both applicable_product_ids
3311
- # and applicable_product_tags are not provided, the commit applies to all
3312
- # products.
2452
+ # Which products the threshold commit applies to. If applicable_product_ids,
2453
+ # applicable_product_tags or specifiers are not provided, the commit applies to
2454
+ # all products.
3313
2455
  applicable_product_ids: nil,
3314
- # Which tags the threshold commit applies to. If both applicable_product_ids and
3315
- # applicable_product_tags are not provided, the commit applies to all products.
2456
+ # Which tags the threshold commit applies to. If applicable_product_ids,
2457
+ # applicable_product_tags or specifiers are not provided, the commit applies to
2458
+ # all products.
3316
2459
  applicable_product_tags: nil,
3317
2460
  description: nil,
3318
2461
  # Specify the name of the line item for the threshold charge. If left blank, it
@@ -3440,7 +2583,25 @@ module MetronomeSDK
3440
2583
  end
3441
2584
  attr_accessor :payment_gate_type
3442
2585
 
3443
- # Only applicable if using Stripe as your payment gateway through Metronome.
2586
+ # Only applicable if using PRECALCULATED as your tax type.
2587
+ sig do
2588
+ returns(
2589
+ T.nilable(
2590
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
2591
+ )
2592
+ )
2593
+ end
2594
+ attr_reader :precalculated_tax_config
2595
+
2596
+ sig do
2597
+ params(
2598
+ precalculated_tax_config:
2599
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash
2600
+ ).void
2601
+ end
2602
+ attr_writer :precalculated_tax_config
2603
+
2604
+ # Only applicable if using STRIPE as your payment gateway type.
3444
2605
  sig do
3445
2606
  returns(
3446
2607
  T.nilable(
@@ -3482,6 +2643,8 @@ module MetronomeSDK
3482
2643
  params(
3483
2644
  payment_gate_type:
3484
2645
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::OrSymbol,
2646
+ precalculated_tax_config:
2647
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash,
3485
2648
  stripe_config:
3486
2649
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash,
3487
2650
  tax_type:
@@ -3494,7 +2657,9 @@ module MetronomeSDK
3494
2657
  # facilitate payment using your own payment integration. Select NONE if you do not
3495
2658
  # wish to payment gate the commit balance.
3496
2659
  payment_gate_type:,
3497
- # Only applicable if using Stripe as your payment gateway through Metronome.
2660
+ # Only applicable if using PRECALCULATED as your tax type.
2661
+ precalculated_tax_config: nil,
2662
+ # Only applicable if using STRIPE as your payment gateway type.
3498
2663
  stripe_config: nil,
3499
2664
  # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
3500
2665
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
@@ -3508,6 +2673,8 @@ module MetronomeSDK
3508
2673
  {
3509
2674
  payment_gate_type:
3510
2675
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol,
2676
+ precalculated_tax_config:
2677
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
3511
2678
  stripe_config:
3512
2679
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
3513
2680
  tax_type:
@@ -3557,7 +2724,52 @@ module MetronomeSDK
3557
2724
  ]
3558
2725
  )
3559
2726
  end
3560
- def self.values
2727
+ def self.values
2728
+ end
2729
+ end
2730
+
2731
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
2732
+ OrHash =
2733
+ T.type_alias do
2734
+ T.any(
2735
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
2736
+ MetronomeSDK::Internal::AnyHash
2737
+ )
2738
+ end
2739
+
2740
+ # Amount of tax to be applied. This should be in the same currency and
2741
+ # denomination as the commit's invoice schedule
2742
+ sig { returns(Float) }
2743
+ attr_accessor :tax_amount
2744
+
2745
+ # Name of the tax to be applied. This may be used in an invoice line item
2746
+ # description.
2747
+ sig { returns(T.nilable(String)) }
2748
+ attr_reader :tax_name
2749
+
2750
+ sig { params(tax_name: String).void }
2751
+ attr_writer :tax_name
2752
+
2753
+ # Only applicable if using PRECALCULATED as your tax type.
2754
+ sig do
2755
+ params(tax_amount: Float, tax_name: String).returns(
2756
+ T.attached_class
2757
+ )
2758
+ end
2759
+ def self.new(
2760
+ # Amount of tax to be applied. This should be in the same currency and
2761
+ # denomination as the commit's invoice schedule
2762
+ tax_amount:,
2763
+ # Name of the tax to be applied. This may be used in an invoice line item
2764
+ # description.
2765
+ tax_name: nil
2766
+ )
2767
+ end
2768
+
2769
+ sig do
2770
+ override.returns({ tax_amount: Float, tax_name: String })
2771
+ end
2772
+ def to_hash
3561
2773
  end
3562
2774
  end
3563
2775
 
@@ -3578,16 +2790,28 @@ module MetronomeSDK
3578
2790
  end
3579
2791
  attr_accessor :payment_type
3580
2792
 
3581
- # Only applicable if using Stripe as your payment gateway through Metronome.
2793
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2794
+ # your payment type.
2795
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2796
+ attr_reader :invoice_metadata
2797
+
2798
+ sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
2799
+ attr_writer :invoice_metadata
2800
+
2801
+ # Only applicable if using STRIPE as your payment gateway type.
3582
2802
  sig do
3583
2803
  params(
3584
2804
  payment_type:
3585
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
2805
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
2806
+ invoice_metadata: T::Hash[Symbol, String]
3586
2807
  ).returns(T.attached_class)
3587
2808
  end
3588
2809
  def self.new(
3589
2810
  # If left blank, will default to INVOICE
3590
- payment_type:
2811
+ payment_type:,
2812
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2813
+ # your payment type.
2814
+ invoice_metadata: nil
3591
2815
  )
3592
2816
  end
3593
2817
 
@@ -3595,7 +2819,8 @@ module MetronomeSDK
3595
2819
  override.returns(
3596
2820
  {
3597
2821
  payment_type:
3598
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
2822
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol,
2823
+ invoice_metadata: T::Hash[Symbol, String]
3599
2824
  }
3600
2825
  )
3601
2826
  end
@@ -3663,6 +2888,16 @@ module MetronomeSDK
3663
2888
  :STRIPE,
3664
2889
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
3665
2890
  )
2891
+ ANROK =
2892
+ T.let(
2893
+ :ANROK,
2894
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
2895
+ )
2896
+ PRECALCULATED =
2897
+ T.let(
2898
+ :PRECALCULATED,
2899
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
2900
+ )
3666
2901
 
3667
2902
  sig do
3668
2903
  override.returns(
@@ -3677,102 +2912,6 @@ module MetronomeSDK
3677
2912
  end
3678
2913
  end
3679
2914
 
3680
- class AddProService < MetronomeSDK::Internal::Type::BaseModel
3681
- OrHash =
3682
- T.type_alias do
3683
- T.any(
3684
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddProService,
3685
- MetronomeSDK::Internal::AnyHash
3686
- )
3687
- end
3688
-
3689
- sig { returns(String) }
3690
- attr_accessor :id
3691
-
3692
- # Maximum amount for the term.
3693
- sig { returns(Float) }
3694
- attr_accessor :max_amount
3695
-
3696
- sig { returns(String) }
3697
- attr_accessor :product_id
3698
-
3699
- # Quantity for the charge. Will be multiplied by unit_price to determine the
3700
- # amount.
3701
- sig { returns(Float) }
3702
- attr_accessor :quantity
3703
-
3704
- # Unit price for the charge. Will be multiplied by quantity to determine the
3705
- # amount and must be specified.
3706
- sig { returns(Float) }
3707
- attr_accessor :unit_price
3708
-
3709
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
3710
- attr_reader :custom_fields
3711
-
3712
- sig { params(custom_fields: T::Hash[Symbol, String]).void }
3713
- attr_writer :custom_fields
3714
-
3715
- sig { returns(T.nilable(String)) }
3716
- attr_reader :description
3717
-
3718
- sig { params(description: String).void }
3719
- attr_writer :description
3720
-
3721
- # This field's availability is dependent on your client's configuration.
3722
- sig { returns(T.nilable(String)) }
3723
- attr_reader :netsuite_sales_order_id
3724
-
3725
- sig { params(netsuite_sales_order_id: String).void }
3726
- attr_writer :netsuite_sales_order_id
3727
-
3728
- sig do
3729
- params(
3730
- id: String,
3731
- max_amount: Float,
3732
- product_id: String,
3733
- quantity: Float,
3734
- unit_price: Float,
3735
- custom_fields: T::Hash[Symbol, String],
3736
- description: String,
3737
- netsuite_sales_order_id: String
3738
- ).returns(T.attached_class)
3739
- end
3740
- def self.new(
3741
- id:,
3742
- # Maximum amount for the term.
3743
- max_amount:,
3744
- product_id:,
3745
- # Quantity for the charge. Will be multiplied by unit_price to determine the
3746
- # amount.
3747
- quantity:,
3748
- # Unit price for the charge. Will be multiplied by quantity to determine the
3749
- # amount and must be specified.
3750
- unit_price:,
3751
- custom_fields: nil,
3752
- description: nil,
3753
- # This field's availability is dependent on your client's configuration.
3754
- netsuite_sales_order_id: nil
3755
- )
3756
- end
3757
-
3758
- sig do
3759
- override.returns(
3760
- {
3761
- id: String,
3762
- max_amount: Float,
3763
- product_id: String,
3764
- quantity: Float,
3765
- unit_price: Float,
3766
- custom_fields: T::Hash[Symbol, String],
3767
- description: String,
3768
- netsuite_sales_order_id: String
3769
- }
3770
- )
3771
- end
3772
- def to_hash
3773
- end
3774
- end
3775
-
3776
2915
  class AddRecurringCommit < MetronomeSDK::Internal::Type::BaseModel
3777
2916
  OrHash =
3778
2917
  T.type_alias do
@@ -3927,6 +3066,7 @@ module MetronomeSDK
3927
3066
 
3928
3067
  # Determines whether the first and last commit will be prorated. If not provided,
3929
3068
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3069
+ # subscription_config:
3930
3070
  sig do
3931
3071
  returns(
3932
3072
  T.nilable(
@@ -4063,6 +3203,7 @@ module MetronomeSDK
4063
3203
  netsuite_sales_order_id: nil,
4064
3204
  # Determines whether the first and last commit will be prorated. If not provided,
4065
3205
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3206
+ # subscription_config:
4066
3207
  proration: nil,
4067
3208
  # The frequency at which the recurring commits will be created. If not provided: -
4068
3209
  # The commits will be created on the usage invoice frequency. If provided: - The
@@ -4132,26 +3273,29 @@ module MetronomeSDK
4132
3273
  sig { returns(String) }
4133
3274
  attr_accessor :credit_type_id
4134
3275
 
4135
- sig { returns(Float) }
4136
- attr_accessor :quantity
4137
-
4138
3276
  sig { returns(Float) }
4139
3277
  attr_accessor :unit_price
4140
3278
 
3279
+ sig { returns(T.nilable(Float)) }
3280
+ attr_reader :quantity
3281
+
3282
+ sig { params(quantity: Float).void }
3283
+ attr_writer :quantity
3284
+
4141
3285
  # The amount of commit to grant.
4142
3286
  sig do
4143
3287
  params(
4144
3288
  credit_type_id: String,
4145
- quantity: Float,
4146
- unit_price: Float
3289
+ unit_price: Float,
3290
+ quantity: Float
4147
3291
  ).returns(T.attached_class)
4148
3292
  end
4149
- def self.new(credit_type_id:, quantity:, unit_price:)
3293
+ def self.new(credit_type_id:, unit_price:, quantity: nil)
4150
3294
  end
4151
3295
 
4152
3296
  sig do
4153
3297
  override.returns(
4154
- { credit_type_id: String, quantity: Float, unit_price: Float }
3298
+ { credit_type_id: String, unit_price: Float, quantity: Float }
4155
3299
  )
4156
3300
  end
4157
3301
  def to_hash
@@ -4360,6 +3504,7 @@ module MetronomeSDK
4360
3504
 
4361
3505
  # Determines whether the first and last commit will be prorated. If not provided,
4362
3506
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3507
+ # subscription_config:
4363
3508
  module Proration
4364
3509
  extend MetronomeSDK::Internal::Type::Enum
4365
3510
 
@@ -4661,6 +3806,7 @@ module MetronomeSDK
4661
3806
 
4662
3807
  # Determines whether the first and last commit will be prorated. If not provided,
4663
3808
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3809
+ # subscription_config:
4664
3810
  sig do
4665
3811
  returns(
4666
3812
  T.nilable(
@@ -4793,6 +3939,7 @@ module MetronomeSDK
4793
3939
  netsuite_sales_order_id: nil,
4794
3940
  # Determines whether the first and last commit will be prorated. If not provided,
4795
3941
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3942
+ # subscription_config:
4796
3943
  proration: nil,
4797
3944
  # The frequency at which the recurring commits will be created. If not provided: -
4798
3945
  # The commits will be created on the usage invoice frequency. If provided: - The
@@ -4860,26 +4007,29 @@ module MetronomeSDK
4860
4007
  sig { returns(String) }
4861
4008
  attr_accessor :credit_type_id
4862
4009
 
4863
- sig { returns(Float) }
4864
- attr_accessor :quantity
4865
-
4866
4010
  sig { returns(Float) }
4867
4011
  attr_accessor :unit_price
4868
4012
 
4013
+ sig { returns(T.nilable(Float)) }
4014
+ attr_reader :quantity
4015
+
4016
+ sig { params(quantity: Float).void }
4017
+ attr_writer :quantity
4018
+
4869
4019
  # The amount of commit to grant.
4870
4020
  sig do
4871
4021
  params(
4872
4022
  credit_type_id: String,
4873
- quantity: Float,
4874
- unit_price: Float
4023
+ unit_price: Float,
4024
+ quantity: Float
4875
4025
  ).returns(T.attached_class)
4876
4026
  end
4877
- def self.new(credit_type_id:, quantity:, unit_price:)
4027
+ def self.new(credit_type_id:, unit_price:, quantity: nil)
4878
4028
  end
4879
4029
 
4880
4030
  sig do
4881
4031
  override.returns(
4882
- { credit_type_id: String, quantity: Float, unit_price: Float }
4032
+ { credit_type_id: String, unit_price: Float, quantity: Float }
4883
4033
  )
4884
4034
  end
4885
4035
  def to_hash
@@ -5050,6 +4200,7 @@ module MetronomeSDK
5050
4200
 
5051
4201
  # Determines whether the first and last commit will be prorated. If not provided,
5052
4202
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
4203
+ # subscription_config:
5053
4204
  module Proration
5054
4205
  extend MetronomeSDK::Internal::Type::Enum
5055
4206
 
@@ -5430,18 +4581,11 @@ module MetronomeSDK
5430
4581
  end
5431
4582
  attr_writer :product
5432
4583
 
5433
- sig do
5434
- returns(
5435
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule
5436
- )
5437
- end
4584
+ sig { returns(MetronomeSDK::SchedulePointInTime) }
5438
4585
  attr_reader :schedule
5439
4586
 
5440
4587
  sig do
5441
- params(
5442
- schedule:
5443
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::OrHash
5444
- ).void
4588
+ params(schedule: MetronomeSDK::SchedulePointInTime::OrHash).void
5445
4589
  end
5446
4590
  attr_writer :schedule
5447
4591
 
@@ -5464,8 +4608,7 @@ module MetronomeSDK
5464
4608
  id: String,
5465
4609
  product:
5466
4610
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Product::OrHash,
5467
- schedule:
5468
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::OrHash,
4611
+ schedule: MetronomeSDK::SchedulePointInTime::OrHash,
5469
4612
  name: String,
5470
4613
  netsuite_sales_order_id: String
5471
4614
  ).returns(T.attached_class)
@@ -5485,204 +4628,38 @@ module MetronomeSDK
5485
4628
  override.returns(
5486
4629
  {
5487
4630
  id: String,
5488
- product:
5489
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Product,
5490
- schedule:
5491
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule,
5492
- name: String,
5493
- netsuite_sales_order_id: String
5494
- }
5495
- )
5496
- end
5497
- def to_hash
5498
- end
5499
-
5500
- class Product < MetronomeSDK::Internal::Type::BaseModel
5501
- OrHash =
5502
- T.type_alias do
5503
- T.any(
5504
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Product,
5505
- MetronomeSDK::Internal::AnyHash
5506
- )
5507
- end
5508
-
5509
- sig { returns(String) }
5510
- attr_accessor :id
5511
-
5512
- sig { returns(String) }
5513
- attr_accessor :name
5514
-
5515
- sig { params(id: String, name: String).returns(T.attached_class) }
5516
- def self.new(id:, name:)
5517
- end
5518
-
5519
- sig { override.returns({ id: String, name: String }) }
5520
- def to_hash
5521
- end
5522
- end
5523
-
5524
- class Schedule < MetronomeSDK::Internal::Type::BaseModel
5525
- OrHash =
5526
- T.type_alias do
5527
- T.any(
5528
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule,
5529
- MetronomeSDK::Internal::AnyHash
5530
- )
5531
- end
5532
-
5533
- sig do
5534
- returns(
5535
- T.nilable(
5536
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::CreditType
5537
- )
5538
- )
5539
- end
5540
- attr_reader :credit_type
5541
-
5542
- sig do
5543
- params(
5544
- credit_type:
5545
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::CreditType::OrHash
5546
- ).void
5547
- end
5548
- attr_writer :credit_type
5549
-
5550
- sig do
5551
- returns(
5552
- T.nilable(
5553
- T::Array[
5554
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::ScheduleItem
5555
- ]
5556
- )
5557
- )
5558
- end
5559
- attr_reader :schedule_items
5560
-
5561
- sig do
5562
- params(
5563
- schedule_items:
5564
- T::Array[
5565
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::ScheduleItem::OrHash
5566
- ]
5567
- ).void
5568
- end
5569
- attr_writer :schedule_items
5570
-
5571
- sig do
5572
- params(
5573
- credit_type:
5574
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::CreditType::OrHash,
5575
- schedule_items:
5576
- T::Array[
5577
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::ScheduleItem::OrHash
5578
- ]
5579
- ).returns(T.attached_class)
5580
- end
5581
- def self.new(credit_type: nil, schedule_items: nil)
5582
- end
5583
-
5584
- sig do
5585
- override.returns(
5586
- {
5587
- credit_type:
5588
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::CreditType,
5589
- schedule_items:
5590
- T::Array[
5591
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::ScheduleItem
5592
- ]
5593
- }
5594
- )
5595
- end
5596
- def to_hash
5597
- end
5598
-
5599
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
5600
- OrHash =
5601
- T.type_alias do
5602
- T.any(
5603
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::CreditType,
5604
- MetronomeSDK::Internal::AnyHash
5605
- )
5606
- end
5607
-
5608
- sig { returns(String) }
5609
- attr_accessor :id
5610
-
5611
- sig { returns(String) }
5612
- attr_accessor :name
5613
-
5614
- sig do
5615
- params(id: String, name: String).returns(T.attached_class)
5616
- end
5617
- def self.new(id:, name:)
5618
- end
5619
-
5620
- sig { override.returns({ id: String, name: String }) }
5621
- def to_hash
5622
- end
5623
- end
5624
-
5625
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
5626
- OrHash =
5627
- T.type_alias do
5628
- T.any(
5629
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Schedule::ScheduleItem,
5630
- MetronomeSDK::Internal::AnyHash
5631
- )
5632
- end
5633
-
5634
- sig { returns(String) }
5635
- attr_accessor :id
5636
-
5637
- sig { returns(Float) }
5638
- attr_accessor :amount
5639
-
5640
- sig { returns(String) }
5641
- attr_accessor :invoice_id
4631
+ product:
4632
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Product,
4633
+ schedule: MetronomeSDK::SchedulePointInTime,
4634
+ name: String,
4635
+ netsuite_sales_order_id: String
4636
+ }
4637
+ )
4638
+ end
4639
+ def to_hash
4640
+ end
5642
4641
 
5643
- sig { returns(Float) }
5644
- attr_accessor :quantity
4642
+ class Product < MetronomeSDK::Internal::Type::BaseModel
4643
+ OrHash =
4644
+ T.type_alias do
4645
+ T.any(
4646
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Product,
4647
+ MetronomeSDK::Internal::AnyHash
4648
+ )
4649
+ end
5645
4650
 
5646
- sig { returns(Time) }
5647
- attr_accessor :timestamp
4651
+ sig { returns(String) }
4652
+ attr_accessor :id
5648
4653
 
5649
- sig { returns(Float) }
5650
- attr_accessor :unit_price
4654
+ sig { returns(String) }
4655
+ attr_accessor :name
5651
4656
 
5652
- sig do
5653
- params(
5654
- id: String,
5655
- amount: Float,
5656
- invoice_id: String,
5657
- quantity: Float,
5658
- timestamp: Time,
5659
- unit_price: Float
5660
- ).returns(T.attached_class)
5661
- end
5662
- def self.new(
5663
- id:,
5664
- amount:,
5665
- invoice_id:,
5666
- quantity:,
5667
- timestamp:,
5668
- unit_price:
5669
- )
5670
- end
4657
+ sig { params(id: String, name: String).returns(T.attached_class) }
4658
+ def self.new(id:, name:)
4659
+ end
5671
4660
 
5672
- sig do
5673
- override.returns(
5674
- {
5675
- id: String,
5676
- amount: Float,
5677
- invoice_id: String,
5678
- quantity: Float,
5679
- timestamp: Time,
5680
- unit_price: Float
5681
- }
5682
- )
5683
- end
5684
- def to_hash
5685
- end
4661
+ sig { override.returns({ id: String, name: String }) }
4662
+ def to_hash
5686
4663
  end
5687
4664
  end
5688
4665
  end
@@ -5850,7 +4827,25 @@ module MetronomeSDK
5850
4827
  end
5851
4828
  attr_accessor :payment_gate_type
5852
4829
 
5853
- # Only applicable if using Stripe as your payment gateway through Metronome.
4830
+ # Only applicable if using PRECALCULATED as your tax type.
4831
+ sig do
4832
+ returns(
4833
+ T.nilable(
4834
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
4835
+ )
4836
+ )
4837
+ end
4838
+ attr_reader :precalculated_tax_config
4839
+
4840
+ sig do
4841
+ params(
4842
+ precalculated_tax_config:
4843
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash
4844
+ ).void
4845
+ end
4846
+ attr_writer :precalculated_tax_config
4847
+
4848
+ # Only applicable if using STRIPE as your payment gateway type.
5854
4849
  sig do
5855
4850
  returns(
5856
4851
  T.nilable(
@@ -5892,6 +4887,8 @@ module MetronomeSDK
5892
4887
  params(
5893
4888
  payment_gate_type:
5894
4889
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::OrSymbol,
4890
+ precalculated_tax_config:
4891
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash,
5895
4892
  stripe_config:
5896
4893
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash,
5897
4894
  tax_type:
@@ -5904,7 +4901,9 @@ module MetronomeSDK
5904
4901
  # facilitate payment using your own payment integration. Select NONE if you do not
5905
4902
  # wish to payment gate the commit balance.
5906
4903
  payment_gate_type:,
5907
- # Only applicable if using Stripe as your payment gateway through Metronome.
4904
+ # Only applicable if using PRECALCULATED as your tax type.
4905
+ precalculated_tax_config: nil,
4906
+ # Only applicable if using STRIPE as your payment gateway type.
5908
4907
  stripe_config: nil,
5909
4908
  # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
5910
4909
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
@@ -5918,6 +4917,8 @@ module MetronomeSDK
5918
4917
  {
5919
4918
  payment_gate_type:
5920
4919
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol,
4920
+ precalculated_tax_config:
4921
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
5921
4922
  stripe_config:
5922
4923
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
5923
4924
  tax_type:
@@ -5971,6 +4972,51 @@ module MetronomeSDK
5971
4972
  end
5972
4973
  end
5973
4974
 
4975
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
4976
+ OrHash =
4977
+ T.type_alias do
4978
+ T.any(
4979
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
4980
+ MetronomeSDK::Internal::AnyHash
4981
+ )
4982
+ end
4983
+
4984
+ # Amount of tax to be applied. This should be in the same currency and
4985
+ # denomination as the commit's invoice schedule
4986
+ sig { returns(Float) }
4987
+ attr_accessor :tax_amount
4988
+
4989
+ # Name of the tax to be applied. This may be used in an invoice line item
4990
+ # description.
4991
+ sig { returns(T.nilable(String)) }
4992
+ attr_reader :tax_name
4993
+
4994
+ sig { params(tax_name: String).void }
4995
+ attr_writer :tax_name
4996
+
4997
+ # Only applicable if using PRECALCULATED as your tax type.
4998
+ sig do
4999
+ params(tax_amount: Float, tax_name: String).returns(
5000
+ T.attached_class
5001
+ )
5002
+ end
5003
+ def self.new(
5004
+ # Amount of tax to be applied. This should be in the same currency and
5005
+ # denomination as the commit's invoice schedule
5006
+ tax_amount:,
5007
+ # Name of the tax to be applied. This may be used in an invoice line item
5008
+ # description.
5009
+ tax_name: nil
5010
+ )
5011
+ end
5012
+
5013
+ sig do
5014
+ override.returns({ tax_amount: Float, tax_name: String })
5015
+ end
5016
+ def to_hash
5017
+ end
5018
+ end
5019
+
5974
5020
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
5975
5021
  OrHash =
5976
5022
  T.type_alias do
@@ -5988,16 +5034,28 @@ module MetronomeSDK
5988
5034
  end
5989
5035
  attr_accessor :payment_type
5990
5036
 
5991
- # Only applicable if using Stripe as your payment gateway through Metronome.
5037
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
5038
+ # your payment type.
5039
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
5040
+ attr_reader :invoice_metadata
5041
+
5042
+ sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
5043
+ attr_writer :invoice_metadata
5044
+
5045
+ # Only applicable if using STRIPE as your payment gateway type.
5992
5046
  sig do
5993
5047
  params(
5994
5048
  payment_type:
5995
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
5049
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
5050
+ invoice_metadata: T::Hash[Symbol, String]
5996
5051
  ).returns(T.attached_class)
5997
5052
  end
5998
5053
  def self.new(
5999
5054
  # If left blank, will default to INVOICE
6000
- payment_type:
5055
+ payment_type:,
5056
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
5057
+ # your payment type.
5058
+ invoice_metadata: nil
6001
5059
  )
6002
5060
  end
6003
5061
 
@@ -6005,7 +5063,8 @@ module MetronomeSDK
6005
5063
  override.returns(
6006
5064
  {
6007
5065
  payment_type:
6008
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
5066
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol,
5067
+ invoice_metadata: T::Hash[Symbol, String]
6009
5068
  }
6010
5069
  )
6011
5070
  end
@@ -6073,6 +5132,16 @@ module MetronomeSDK
6073
5132
  :STRIPE,
6074
5133
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
6075
5134
  )
5135
+ ANROK =
5136
+ T.let(
5137
+ :ANROK,
5138
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
5139
+ )
5140
+ PRECALCULATED =
5141
+ T.let(
5142
+ :PRECALCULATED,
5143
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
5144
+ )
6076
5145
 
6077
5146
  sig do
6078
5147
  override.returns(
@@ -6118,6 +5187,8 @@ module MetronomeSDK
6118
5187
  end
6119
5188
  attr_writer :proration
6120
5189
 
5190
+ # List of quantity schedule items for the subscription. Only includes the current
5191
+ # quantity and future quantity changes.
6121
5192
  sig do
6122
5193
  returns(
6123
5194
  T::Array[
@@ -6205,6 +5276,8 @@ module MetronomeSDK
6205
5276
  def self.new(
6206
5277
  collection_schedule:,
6207
5278
  proration:,
5279
+ # List of quantity schedule items for the subscription. Only includes the current
5280
+ # quantity and future quantity changes.
6208
5281
  quantity_schedule:,
6209
5282
  starting_at:,
6210
5283
  subscription_rate:,
@@ -6695,13 +5768,15 @@ module MetronomeSDK
6695
5768
  end
6696
5769
  attr_writer :access_schedule
6697
5770
 
6698
- # Which products the commit applies to. If both applicable_product_ids and
6699
- # applicable_product_tags are not provided, the commit applies to all products.
5771
+ # Which products the commit applies to. If applicable_product_ids,
5772
+ # applicable_product_tags or specifiers are not provided, the commit applies to
5773
+ # all products.
6700
5774
  sig { returns(T.nilable(T::Array[String])) }
6701
5775
  attr_accessor :applicable_product_ids
6702
5776
 
6703
- # Which tags the commit applies to. If both applicable_product_ids and
6704
- # applicable_product_tags are not provided, the commit applies to all products.
5777
+ # Which tags the commit applies to. If applicable_product_ids,
5778
+ # applicable_product_tags or specifiers are not provided, the commit applies to
5779
+ # all products.
6705
5780
  sig { returns(T.nilable(T::Array[String])) }
6706
5781
  attr_accessor :applicable_product_tags
6707
5782
 
@@ -6753,17 +5828,7 @@ module MetronomeSDK
6753
5828
  )
6754
5829
  )
6755
5830
  end
6756
- attr_reader :specifiers
6757
-
6758
- sig do
6759
- params(
6760
- specifiers:
6761
- T::Array[
6762
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier::OrHash
6763
- ]
6764
- ).void
6765
- end
6766
- attr_writer :specifiers
5831
+ attr_accessor :specifiers
6767
5832
 
6768
5833
  sig do
6769
5834
  params(
@@ -6779,19 +5844,23 @@ module MetronomeSDK
6779
5844
  product_id: String,
6780
5845
  rollover_fraction: T.nilable(Float),
6781
5846
  specifiers:
6782
- T::Array[
6783
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier::OrHash
6784
- ]
5847
+ T.nilable(
5848
+ T::Array[
5849
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier::OrHash
5850
+ ]
5851
+ )
6785
5852
  ).returns(T.attached_class)
6786
5853
  end
6787
5854
  def self.new(
6788
5855
  id:,
6789
5856
  access_schedule: nil,
6790
- # Which products the commit applies to. If both applicable_product_ids and
6791
- # applicable_product_tags are not provided, the commit applies to all products.
5857
+ # Which products the commit applies to. If applicable_product_ids,
5858
+ # applicable_product_tags or specifiers are not provided, the commit applies to
5859
+ # all products.
6792
5860
  applicable_product_ids: nil,
6793
- # Which tags the commit applies to. If both applicable_product_ids and
6794
- # applicable_product_tags are not provided, the commit applies to all products.
5861
+ # Which tags the commit applies to. If applicable_product_ids,
5862
+ # applicable_product_tags or specifiers are not provided, the commit applies to
5863
+ # all products.
6795
5864
  applicable_product_tags: nil,
6796
5865
  invoice_schedule: nil,
6797
5866
  name: nil,
@@ -6821,9 +5890,11 @@ module MetronomeSDK
6821
5890
  product_id: String,
6822
5891
  rollover_fraction: T.nilable(Float),
6823
5892
  specifiers:
6824
- T::Array[
6825
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier
6826
- ]
5893
+ T.nilable(
5894
+ T::Array[
5895
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier
5896
+ ]
5897
+ )
6827
5898
  }
6828
5899
  )
6829
5900
  end
@@ -8231,6 +7302,11 @@ module MetronomeSDK
8231
7302
  end
8232
7303
  attr_writer :commit
8233
7304
 
7305
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
7306
+ # commit amount will be in terms of this credit type instead of the fiat currency.
7307
+ sig { returns(T.nilable(String)) }
7308
+ attr_accessor :custom_credit_type_id
7309
+
8234
7310
  # When set to false, the contract will not be evaluated against the
8235
7311
  # threshold_amount. Toggling to true will result an immediate evaluation,
8236
7312
  # regardless of prior state.
@@ -8276,6 +7352,7 @@ module MetronomeSDK
8276
7352
  params(
8277
7353
  commit:
8278
7354
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit::OrHash,
7355
+ custom_credit_type_id: T.nilable(String),
8279
7356
  is_enabled: T::Boolean,
8280
7357
  payment_gate_config:
8281
7358
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::OrHash,
@@ -8285,6 +7362,9 @@ module MetronomeSDK
8285
7362
  end
8286
7363
  def self.new(
8287
7364
  commit: nil,
7365
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
7366
+ # commit amount will be in terms of this credit type instead of the fiat currency.
7367
+ custom_credit_type_id: nil,
8288
7368
  # When set to false, the contract will not be evaluated against the
8289
7369
  # threshold_amount. Toggling to true will result an immediate evaluation,
8290
7370
  # regardless of prior state.
@@ -8303,6 +7383,7 @@ module MetronomeSDK
8303
7383
  {
8304
7384
  commit:
8305
7385
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit,
7386
+ custom_credit_type_id: T.nilable(String),
8306
7387
  is_enabled: T::Boolean,
8307
7388
  payment_gate_config:
8308
7389
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig,
@@ -8327,18 +7408,12 @@ module MetronomeSDK
8327
7408
  # and applicable_product_tags are not provided, the commit applies to all
8328
7409
  # products.
8329
7410
  sig { returns(T.nilable(T::Array[String])) }
8330
- attr_reader :applicable_product_ids
8331
-
8332
- sig { params(applicable_product_ids: T::Array[String]).void }
8333
- attr_writer :applicable_product_ids
7411
+ attr_accessor :applicable_product_ids
8334
7412
 
8335
7413
  # Which tags the threshold commit applies to. If both applicable_product_ids and
8336
7414
  # applicable_product_tags are not provided, the commit applies to all products.
8337
7415
  sig { returns(T.nilable(T::Array[String])) }
8338
- attr_reader :applicable_product_tags
8339
-
8340
- sig { params(applicable_product_tags: T::Array[String]).void }
8341
- attr_writer :applicable_product_tags
7416
+ attr_accessor :applicable_product_tags
8342
7417
 
8343
7418
  sig { returns(T.nilable(String)) }
8344
7419
  attr_reader :description
@@ -8375,29 +7450,21 @@ module MetronomeSDK
8375
7450
  )
8376
7451
  )
8377
7452
  end
8378
- attr_reader :specifiers
8379
-
8380
- sig do
8381
- params(
8382
- specifiers:
8383
- T::Array[
8384
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier::OrHash
8385
- ]
8386
- ).void
8387
- end
8388
- attr_writer :specifiers
7453
+ attr_accessor :specifiers
8389
7454
 
8390
7455
  sig do
8391
7456
  params(
8392
- applicable_product_ids: T::Array[String],
8393
- applicable_product_tags: T::Array[String],
7457
+ applicable_product_ids: T.nilable(T::Array[String]),
7458
+ applicable_product_tags: T.nilable(T::Array[String]),
8394
7459
  description: String,
8395
7460
  name: String,
8396
7461
  product_id: String,
8397
7462
  specifiers:
8398
- T::Array[
8399
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier::OrHash
8400
- ]
7463
+ T.nilable(
7464
+ T::Array[
7465
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier::OrHash
7466
+ ]
7467
+ )
8401
7468
  ).returns(T.attached_class)
8402
7469
  end
8403
7470
  def self.new(
@@ -8426,15 +7493,17 @@ module MetronomeSDK
8426
7493
  sig do
8427
7494
  override.returns(
8428
7495
  {
8429
- applicable_product_ids: T::Array[String],
8430
- applicable_product_tags: T::Array[String],
7496
+ applicable_product_ids: T.nilable(T::Array[String]),
7497
+ applicable_product_tags: T.nilable(T::Array[String]),
8431
7498
  description: String,
8432
7499
  name: String,
8433
7500
  product_id: String,
8434
7501
  specifiers:
8435
- T::Array[
8436
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier
8437
- ]
7502
+ T.nilable(
7503
+ T::Array[
7504
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier
7505
+ ]
7506
+ )
8438
7507
  }
8439
7508
  )
8440
7509
  end
@@ -8537,7 +7606,25 @@ module MetronomeSDK
8537
7606
  end
8538
7607
  attr_accessor :payment_gate_type
8539
7608
 
8540
- # Only applicable if using Stripe as your payment gateway through Metronome.
7609
+ # Only applicable if using PRECALCULATED as your tax type.
7610
+ sig do
7611
+ returns(
7612
+ T.nilable(
7613
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
7614
+ )
7615
+ )
7616
+ end
7617
+ attr_reader :precalculated_tax_config
7618
+
7619
+ sig do
7620
+ params(
7621
+ precalculated_tax_config:
7622
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash
7623
+ ).void
7624
+ end
7625
+ attr_writer :precalculated_tax_config
7626
+
7627
+ # Only applicable if using STRIPE as your payment gateway type.
8541
7628
  sig do
8542
7629
  returns(
8543
7630
  T.nilable(
@@ -8579,6 +7666,8 @@ module MetronomeSDK
8579
7666
  params(
8580
7667
  payment_gate_type:
8581
7668
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::OrSymbol,
7669
+ precalculated_tax_config:
7670
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash,
8582
7671
  stripe_config:
8583
7672
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash,
8584
7673
  tax_type:
@@ -8591,7 +7680,9 @@ module MetronomeSDK
8591
7680
  # facilitate payment using your own payment integration. Select NONE if you do not
8592
7681
  # wish to payment gate the commit balance.
8593
7682
  payment_gate_type:,
8594
- # Only applicable if using Stripe as your payment gateway through Metronome.
7683
+ # Only applicable if using PRECALCULATED as your tax type.
7684
+ precalculated_tax_config: nil,
7685
+ # Only applicable if using STRIPE as your payment gateway type.
8595
7686
  stripe_config: nil,
8596
7687
  # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
8597
7688
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
@@ -8605,6 +7696,8 @@ module MetronomeSDK
8605
7696
  {
8606
7697
  payment_gate_type:
8607
7698
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol,
7699
+ precalculated_tax_config:
7700
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
8608
7701
  stripe_config:
8609
7702
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
8610
7703
  tax_type:
@@ -8658,6 +7751,51 @@ module MetronomeSDK
8658
7751
  end
8659
7752
  end
8660
7753
 
7754
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
7755
+ OrHash =
7756
+ T.type_alias do
7757
+ T.any(
7758
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
7759
+ MetronomeSDK::Internal::AnyHash
7760
+ )
7761
+ end
7762
+
7763
+ # Amount of tax to be applied. This should be in the same currency and
7764
+ # denomination as the commit's invoice schedule
7765
+ sig { returns(Float) }
7766
+ attr_accessor :tax_amount
7767
+
7768
+ # Name of the tax to be applied. This may be used in an invoice line item
7769
+ # description.
7770
+ sig { returns(T.nilable(String)) }
7771
+ attr_reader :tax_name
7772
+
7773
+ sig { params(tax_name: String).void }
7774
+ attr_writer :tax_name
7775
+
7776
+ # Only applicable if using PRECALCULATED as your tax type.
7777
+ sig do
7778
+ params(tax_amount: Float, tax_name: String).returns(
7779
+ T.attached_class
7780
+ )
7781
+ end
7782
+ def self.new(
7783
+ # Amount of tax to be applied. This should be in the same currency and
7784
+ # denomination as the commit's invoice schedule
7785
+ tax_amount:,
7786
+ # Name of the tax to be applied. This may be used in an invoice line item
7787
+ # description.
7788
+ tax_name: nil
7789
+ )
7790
+ end
7791
+
7792
+ sig do
7793
+ override.returns({ tax_amount: Float, tax_name: String })
7794
+ end
7795
+ def to_hash
7796
+ end
7797
+ end
7798
+
8661
7799
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
8662
7800
  OrHash =
8663
7801
  T.type_alias do
@@ -8675,16 +7813,28 @@ module MetronomeSDK
8675
7813
  end
8676
7814
  attr_accessor :payment_type
8677
7815
 
8678
- # Only applicable if using Stripe as your payment gateway through Metronome.
7816
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
7817
+ # your payment type.
7818
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
7819
+ attr_reader :invoice_metadata
7820
+
7821
+ sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
7822
+ attr_writer :invoice_metadata
7823
+
7824
+ # Only applicable if using STRIPE as your payment gateway type.
8679
7825
  sig do
8680
7826
  params(
8681
7827
  payment_type:
8682
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
7828
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
7829
+ invoice_metadata: T::Hash[Symbol, String]
8683
7830
  ).returns(T.attached_class)
8684
7831
  end
8685
7832
  def self.new(
8686
7833
  # If left blank, will default to INVOICE
8687
- payment_type:
7834
+ payment_type:,
7835
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
7836
+ # your payment type.
7837
+ invoice_metadata: nil
8688
7838
  )
8689
7839
  end
8690
7840
 
@@ -8692,7 +7842,8 @@ module MetronomeSDK
8692
7842
  override.returns(
8693
7843
  {
8694
7844
  payment_type:
8695
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
7845
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol,
7846
+ invoice_metadata: T::Hash[Symbol, String]
8696
7847
  }
8697
7848
  )
8698
7849
  end
@@ -8760,6 +7911,16 @@ module MetronomeSDK
8760
7911
  :STRIPE,
8761
7912
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
8762
7913
  )
7914
+ ANROK =
7915
+ T.let(
7916
+ :ANROK,
7917
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
7918
+ )
7919
+ PRECALCULATED =
7920
+ T.let(
7921
+ :PRECALCULATED,
7922
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
7923
+ )
8763
7924
 
8764
7925
  sig do
8765
7926
  override.returns(
@@ -9561,7 +8722,25 @@ module MetronomeSDK
9561
8722
  end
9562
8723
  attr_accessor :payment_gate_type
9563
8724
 
9564
- # Only applicable if using Stripe as your payment gateway through Metronome.
8725
+ # Only applicable if using PRECALCULATED as your tax type.
8726
+ sig do
8727
+ returns(
8728
+ T.nilable(
8729
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
8730
+ )
8731
+ )
8732
+ end
8733
+ attr_reader :precalculated_tax_config
8734
+
8735
+ sig do
8736
+ params(
8737
+ precalculated_tax_config:
8738
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash
8739
+ ).void
8740
+ end
8741
+ attr_writer :precalculated_tax_config
8742
+
8743
+ # Only applicable if using STRIPE as your payment gateway type.
9565
8744
  sig do
9566
8745
  returns(
9567
8746
  T.nilable(
@@ -9603,6 +8782,8 @@ module MetronomeSDK
9603
8782
  params(
9604
8783
  payment_gate_type:
9605
8784
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::OrSymbol,
8785
+ precalculated_tax_config:
8786
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash,
9606
8787
  stripe_config:
9607
8788
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash,
9608
8789
  tax_type:
@@ -9615,7 +8796,9 @@ module MetronomeSDK
9615
8796
  # facilitate payment using your own payment integration. Select NONE if you do not
9616
8797
  # wish to payment gate the commit balance.
9617
8798
  payment_gate_type:,
9618
- # Only applicable if using Stripe as your payment gateway through Metronome.
8799
+ # Only applicable if using PRECALCULATED as your tax type.
8800
+ precalculated_tax_config: nil,
8801
+ # Only applicable if using STRIPE as your payment gateway type.
9619
8802
  stripe_config: nil,
9620
8803
  # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
9621
8804
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
@@ -9629,6 +8812,8 @@ module MetronomeSDK
9629
8812
  {
9630
8813
  payment_gate_type:
9631
8814
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol,
8815
+ precalculated_tax_config:
8816
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
9632
8817
  stripe_config:
9633
8818
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
9634
8819
  tax_type:
@@ -9682,6 +8867,51 @@ module MetronomeSDK
9682
8867
  end
9683
8868
  end
9684
8869
 
8870
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
8871
+ OrHash =
8872
+ T.type_alias do
8873
+ T.any(
8874
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
8875
+ MetronomeSDK::Internal::AnyHash
8876
+ )
8877
+ end
8878
+
8879
+ # Amount of tax to be applied. This should be in the same currency and
8880
+ # denomination as the commit's invoice schedule
8881
+ sig { returns(Float) }
8882
+ attr_accessor :tax_amount
8883
+
8884
+ # Name of the tax to be applied. This may be used in an invoice line item
8885
+ # description.
8886
+ sig { returns(T.nilable(String)) }
8887
+ attr_reader :tax_name
8888
+
8889
+ sig { params(tax_name: String).void }
8890
+ attr_writer :tax_name
8891
+
8892
+ # Only applicable if using PRECALCULATED as your tax type.
8893
+ sig do
8894
+ params(tax_amount: Float, tax_name: String).returns(
8895
+ T.attached_class
8896
+ )
8897
+ end
8898
+ def self.new(
8899
+ # Amount of tax to be applied. This should be in the same currency and
8900
+ # denomination as the commit's invoice schedule
8901
+ tax_amount:,
8902
+ # Name of the tax to be applied. This may be used in an invoice line item
8903
+ # description.
8904
+ tax_name: nil
8905
+ )
8906
+ end
8907
+
8908
+ sig do
8909
+ override.returns({ tax_amount: Float, tax_name: String })
8910
+ end
8911
+ def to_hash
8912
+ end
8913
+ end
8914
+
9685
8915
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
9686
8916
  OrHash =
9687
8917
  T.type_alias do
@@ -9699,16 +8929,28 @@ module MetronomeSDK
9699
8929
  end
9700
8930
  attr_accessor :payment_type
9701
8931
 
9702
- # Only applicable if using Stripe as your payment gateway through Metronome.
8932
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
8933
+ # your payment type.
8934
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
8935
+ attr_reader :invoice_metadata
8936
+
8937
+ sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
8938
+ attr_writer :invoice_metadata
8939
+
8940
+ # Only applicable if using STRIPE as your payment gateway type.
9703
8941
  sig do
9704
8942
  params(
9705
8943
  payment_type:
9706
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
8944
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
8945
+ invoice_metadata: T::Hash[Symbol, String]
9707
8946
  ).returns(T.attached_class)
9708
8947
  end
9709
8948
  def self.new(
9710
8949
  # If left blank, will default to INVOICE
9711
- payment_type:
8950
+ payment_type:,
8951
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
8952
+ # your payment type.
8953
+ invoice_metadata: nil
9712
8954
  )
9713
8955
  end
9714
8956
 
@@ -9716,7 +8958,8 @@ module MetronomeSDK
9716
8958
  override.returns(
9717
8959
  {
9718
8960
  payment_type:
9719
- MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
8961
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol,
8962
+ invoice_metadata: T::Hash[Symbol, String]
9720
8963
  }
9721
8964
  )
9722
8965
  end
@@ -9784,6 +9027,16 @@ module MetronomeSDK
9784
9027
  :STRIPE,
9785
9028
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
9786
9029
  )
9030
+ ANROK =
9031
+ T.let(
9032
+ :ANROK,
9033
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
9034
+ )
9035
+ PRECALCULATED =
9036
+ T.let(
9037
+ :PRECALCULATED,
9038
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateSpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
9039
+ )
9787
9040
 
9788
9041
  sig do
9789
9042
  override.returns(