metronome-sdk 0.1.0.pre.alpha.2 → 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 (475) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +85 -0
  3. data/README.md +120 -74
  4. data/SECURITY.md +2 -2
  5. data/lib/metronome_sdk/client.rb +4 -4
  6. data/lib/metronome_sdk/errors.rb +22 -0
  7. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  8. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +3 -1
  9. data/lib/metronome_sdk/internal/type/array_of.rb +14 -1
  10. data/lib/metronome_sdk/internal/type/base_model.rb +92 -23
  11. data/lib/metronome_sdk/internal/type/boolean.rb +15 -1
  12. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  13. data/lib/metronome_sdk/internal/type/enum.rb +25 -2
  14. data/lib/metronome_sdk/internal/type/file_input.rb +13 -1
  15. data/lib/metronome_sdk/internal/type/hash_of.rb +14 -1
  16. data/lib/metronome_sdk/internal/type/union.rb +27 -7
  17. data/lib/metronome_sdk/internal/type/unknown.rb +15 -1
  18. data/lib/metronome_sdk/internal/util.rb +62 -10
  19. data/lib/metronome_sdk/internal.rb +3 -0
  20. data/lib/metronome_sdk/models/commit.rb +230 -87
  21. data/lib/metronome_sdk/models/contract_without_amendments.rb +551 -185
  22. data/lib/metronome_sdk/models/credit.rb +201 -51
  23. data/lib/metronome_sdk/models/discount.rb +5 -5
  24. data/lib/metronome_sdk/models/event_type_filter.rb +1 -1
  25. data/lib/metronome_sdk/models/override.rb +53 -34
  26. data/lib/metronome_sdk/models/pro_service.rb +2 -2
  27. data/lib/metronome_sdk/models/property_filter.rb +1 -1
  28. data/lib/metronome_sdk/models/rate.rb +9 -9
  29. data/lib/metronome_sdk/models/schedule_duration.rb +4 -4
  30. data/lib/metronome_sdk/models/schedule_point_in_time.rb +11 -11
  31. data/lib/metronome_sdk/models/scheduled_charge.rb +5 -5
  32. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +2 -2
  33. data/lib/metronome_sdk/models/v1/alert_create_params.rb +15 -12
  34. data/lib/metronome_sdk/models/v1/alert_create_response.rb +2 -2
  35. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +2 -2
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +2 -2
  37. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -6
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +2 -2
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +4 -4
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -4
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +577 -152
  42. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +2 -2
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +2 -2
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +12 -12
  45. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +2 -2
  46. data/lib/metronome_sdk/models/v1/contract_create_params.rb +1317 -341
  47. data/lib/metronome_sdk/models/v1/contract_create_response.rb +2 -2
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +3 -7
  49. data/lib/metronome_sdk/models/v1/contract_list_response.rb +421 -36
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +33 -5
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +28 -7
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +422 -36
  53. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rb +34 -0
  54. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rb +81 -0
  55. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +4 -4
  56. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +2 -2
  57. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +2 -2
  58. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +2 -2
  59. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -6
  60. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +2 -2
  61. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +5 -5
  62. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +4 -4
  63. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -8
  64. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -8
  65. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +4 -4
  66. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +2 -2
  67. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +3 -3
  68. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +3 -3
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +2 -2
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -4
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +2 -2
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +4 -4
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +33 -5
  74. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +26 -5
  75. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +4 -4
  76. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +2 -2
  77. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +2 -2
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +2 -2
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +2 -2
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +2 -2
  81. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +46 -18
  82. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +2 -2
  83. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +36 -12
  84. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +6 -6
  85. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +33 -5
  86. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +26 -5
  87. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +12 -20
  88. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +2 -2
  89. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +2 -2
  90. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  91. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +6 -6
  92. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +8 -8
  93. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +2 -2
  94. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +1 -1
  95. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +2 -2
  96. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +2 -2
  97. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +2 -2
  98. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +2 -2
  99. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +2 -2
  100. data/lib/metronome_sdk/models/v1/customer.rb +1 -1
  101. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +2 -2
  102. data/lib/metronome_sdk/models/v1/customer_create_params.rb +20 -20
  103. data/lib/metronome_sdk/models/v1/customer_create_response.rb +2 -2
  104. data/lib/metronome_sdk/models/v1/customer_detail.rb +10 -10
  105. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +4 -4
  106. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  107. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  108. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +2 -2
  109. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +2 -2
  110. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +2 -2
  111. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +2 -2
  112. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +2 -2
  113. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +2 -2
  114. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +6 -6
  115. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +2 -2
  116. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +2 -2
  117. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  118. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +86 -32
  119. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +2 -2
  120. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +2 -2
  121. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +2 -2
  122. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +59 -7
  123. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +2 -2
  124. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +2 -2
  125. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +2 -2
  126. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +24 -24
  127. data/lib/metronome_sdk/models/v1/customers/invoice.rb +74 -73
  128. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +4 -4
  129. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +2 -2
  130. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +2 -2
  131. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +16 -15
  132. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +2 -2
  133. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -2
  134. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +14 -13
  135. data/lib/metronome_sdk/models/v1/plan_detail.rb +18 -18
  136. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +2 -2
  137. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -2
  138. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +2 -2
  139. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -2
  140. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +3 -3
  141. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +3 -3
  142. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +2 -2
  143. data/lib/metronome_sdk/models/v1/usage_list_params.rb +9 -8
  144. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +5 -5
  145. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  146. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  147. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +78 -23
  148. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +2 -2
  149. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +62 -9
  150. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +2 -2
  151. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1995 -443
  152. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +2 -2
  153. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +1959 -140
  154. data/lib/metronome_sdk/models/v2/contract_list_response.rb +963 -91
  155. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +964 -91
  156. data/lib/metronome_sdk/models.rb +30 -19
  157. data/lib/metronome_sdk/resources/v1/alerts.rb +4 -4
  158. data/lib/metronome_sdk/resources/v1/audit_logs.rb +1 -1
  159. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +3 -3
  160. data/lib/metronome_sdk/resources/v1/contracts/products.rb +9 -6
  161. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +1 -1
  162. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +8 -6
  163. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +4 -4
  164. data/lib/metronome_sdk/resources/v1/contracts.rb +59 -28
  165. data/lib/metronome_sdk/resources/v1/credit_grants.rb +7 -5
  166. data/lib/metronome_sdk/resources/v1/custom_fields.rb +5 -5
  167. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +2 -2
  168. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +5 -5
  169. data/lib/metronome_sdk/resources/v1/customers/commits.rb +9 -7
  170. data/lib/metronome_sdk/resources/v1/customers/credits.rb +5 -3
  171. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +4 -4
  172. data/lib/metronome_sdk/resources/v1/customers/plans.rb +3 -3
  173. data/lib/metronome_sdk/resources/v1/customers.rb +43 -4
  174. data/lib/metronome_sdk/resources/v1/dashboards.rb +4 -4
  175. data/lib/metronome_sdk/resources/v1/plans.rb +1 -1
  176. data/lib/metronome_sdk/resources/v1/usage.rb +30 -5
  177. data/lib/metronome_sdk/resources/v2/contracts.rb +45 -31
  178. data/lib/metronome_sdk/version.rb +1 -1
  179. data/lib/metronome_sdk.rb +9 -1
  180. data/rbi/metronome_sdk/errors.rbi +16 -0
  181. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +5 -1
  182. data/rbi/metronome_sdk/internal/type/array_of.rbi +6 -0
  183. data/rbi/metronome_sdk/internal/type/base_model.rbi +5 -0
  184. data/rbi/metronome_sdk/internal/type/boolean.rbi +8 -0
  185. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  186. data/rbi/metronome_sdk/internal/type/enum.rbi +5 -0
  187. data/rbi/metronome_sdk/internal/type/file_input.rbi +5 -0
  188. data/rbi/metronome_sdk/internal/type/hash_of.rbi +6 -0
  189. data/rbi/metronome_sdk/internal/type/union.rbi +10 -0
  190. data/rbi/metronome_sdk/internal/type/unknown.rbi +8 -0
  191. data/rbi/metronome_sdk/internal/util.rbi +36 -0
  192. data/rbi/metronome_sdk/internal.rbi +5 -0
  193. data/rbi/metronome_sdk/models/commit.rbi +376 -39
  194. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +791 -54
  195. data/rbi/metronome_sdk/models/credit.rbi +376 -25
  196. data/rbi/metronome_sdk/models/override.rbi +66 -0
  197. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +9 -9
  198. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +10 -4
  199. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +995 -17
  200. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +2220 -136
  201. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +9 -2
  202. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +820 -28
  203. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +72 -0
  204. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +66 -0
  205. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +820 -28
  206. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbi +58 -0
  207. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbi +212 -0
  208. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +3 -3
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +72 -0
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +66 -0
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +72 -0
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +72 -0
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +72 -0
  214. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +66 -0
  215. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  216. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  217. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  218. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  219. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +121 -8
  220. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +109 -0
  221. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  222. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  223. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  224. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +113 -8
  225. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +101 -0
  226. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3667 -315
  227. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +5965 -2014
  228. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +2279 -226
  229. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +2279 -226
  230. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -2
  231. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +2 -1
  232. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +5 -0
  233. data/rbi/metronome_sdk/resources/v1/contracts.rbi +36 -1
  234. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  235. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +15 -4
  236. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +9 -0
  237. data/rbi/metronome_sdk/resources/v1/customers.rbi +35 -1
  238. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  239. data/rbi/metronome_sdk/resources/v2/contracts.rbi +65 -7
  240. data/sig/metronome_sdk/errors.rbs +9 -0
  241. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +2 -0
  242. data/sig/metronome_sdk/internal/type/array_of.rbs +3 -0
  243. data/sig/metronome_sdk/internal/type/base_model.rbs +2 -0
  244. data/sig/metronome_sdk/internal/type/boolean.rbs +3 -0
  245. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  246. data/sig/metronome_sdk/internal/type/enum.rbs +2 -0
  247. data/sig/metronome_sdk/internal/type/file_input.rbs +2 -0
  248. data/sig/metronome_sdk/internal/type/hash_of.rbs +3 -0
  249. data/sig/metronome_sdk/internal/type/union.rbs +2 -0
  250. data/sig/metronome_sdk/internal/type/unknown.rbs +3 -0
  251. data/sig/metronome_sdk/internal/util.rbs +12 -0
  252. data/sig/metronome_sdk/internal.rbs +2 -0
  253. data/sig/metronome_sdk/models/base_usage_filter.rbs +6 -0
  254. data/sig/metronome_sdk/models/commit.rbs +374 -68
  255. data/sig/metronome_sdk/models/contract_without_amendments.rbs +620 -110
  256. data/sig/metronome_sdk/models/credit.rbs +286 -40
  257. data/sig/metronome_sdk/models/credit_type_data.rbs +2 -0
  258. data/sig/metronome_sdk/models/discount.rbs +11 -0
  259. data/sig/metronome_sdk/models/event_type_filter.rbs +5 -0
  260. data/sig/metronome_sdk/models/id.rbs +2 -0
  261. data/sig/metronome_sdk/models/override.rbs +92 -22
  262. data/sig/metronome_sdk/models/pro_service.rbs +11 -0
  263. data/sig/metronome_sdk/models/property_filter.rbs +7 -0
  264. data/sig/metronome_sdk/models/rate.rbs +16 -4
  265. data/sig/metronome_sdk/models/schedule_duration.rbs +12 -0
  266. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +20 -6
  267. data/sig/metronome_sdk/models/scheduled_charge.rbs +12 -0
  268. data/sig/metronome_sdk/models/tier.rbs +2 -0
  269. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +6 -0
  270. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +2 -0
  271. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +29 -4
  272. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +2 -0
  273. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +11 -0
  274. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +16 -0
  275. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +2 -0
  276. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +2 -0
  277. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -0
  278. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +2 -0
  279. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +7 -0
  280. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +13 -0
  281. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +5 -0
  282. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +17 -0
  283. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +11 -0
  284. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +719 -75
  285. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +2 -0
  286. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +7 -0
  287. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +2 -0
  288. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +47 -12
  289. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +2 -0
  290. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1503 -250
  291. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +2 -0
  292. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +14 -0
  293. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +5 -0
  294. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +10 -0
  295. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +459 -10
  296. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +8 -0
  297. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +39 -0
  298. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +48 -0
  299. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +459 -10
  300. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbs +34 -0
  301. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbs +101 -0
  302. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +21 -0
  303. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +2 -0
  304. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +9 -0
  305. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +8 -0
  306. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +2 -0
  307. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +7 -0
  308. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +10 -0
  309. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +9 -0
  310. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +5 -0
  311. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +2 -0
  312. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +18 -0
  313. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +2 -0
  314. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +19 -0
  315. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +7 -0
  316. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +29 -0
  317. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +2 -0
  318. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +33 -0
  319. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +19 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +2 -0
  321. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +10 -4
  322. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +9 -4
  323. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +2 -0
  324. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +2 -0
  325. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +21 -0
  326. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +2 -0
  327. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +7 -0
  328. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +23 -0
  329. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +2 -0
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +38 -0
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +46 -0
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +27 -0
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +14 -0
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +2 -0
  335. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +8 -0
  336. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +10 -0
  337. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +10 -0
  338. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +6 -0
  339. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +2 -0
  340. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +8 -0
  341. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +2 -0
  342. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +59 -8
  343. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +2 -0
  344. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +51 -4
  345. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +23 -0
  346. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +38 -0
  347. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +41 -0
  348. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +32 -4
  349. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +2 -0
  350. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +8 -0
  351. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +2 -0
  352. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +29 -0
  353. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +30 -0
  354. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +11 -0
  355. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +38 -0
  356. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +7 -0
  357. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +2 -0
  358. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +10 -0
  359. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +7 -0
  360. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +7 -0
  361. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +12 -6
  362. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +11 -0
  363. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +6 -0
  364. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +7 -0
  365. data/sig/metronome_sdk/models/v1/customer.rbs +8 -0
  366. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +2 -0
  367. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +2 -0
  368. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +52 -26
  369. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +2 -0
  370. data/sig/metronome_sdk/models/v1/customer_detail.rbs +23 -4
  371. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +9 -0
  372. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +17 -0
  373. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +9 -0
  374. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +19 -0
  375. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +10 -0
  376. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  377. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  378. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +5 -0
  379. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +2 -0
  380. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +6 -0
  381. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +6 -0
  382. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +2 -0
  383. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +7 -0
  384. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +13 -6
  385. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +5 -0
  386. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +6 -0
  387. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +7 -0
  388. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +2 -0
  389. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +10 -0
  390. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +6 -0
  391. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +6 -0
  392. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +23 -0
  393. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +116 -8
  394. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +2 -0
  395. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +14 -0
  396. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +5 -0
  397. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +8 -0
  398. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +2 -0
  399. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +82 -0
  400. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +2 -0
  401. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +14 -0
  402. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +5 -0
  403. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +7 -0
  404. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +2 -0
  405. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +45 -16
  406. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +195 -40
  407. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +11 -0
  408. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +2 -0
  409. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +14 -0
  410. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +5 -0
  411. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +13 -0
  412. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +7 -0
  413. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +2 -0
  414. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +7 -0
  415. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +10 -0
  416. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +9 -0
  417. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +38 -4
  418. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +2 -0
  419. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +9 -0
  420. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +2 -0
  421. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +7 -0
  422. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +8 -0
  423. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +14 -0
  424. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +23 -0
  425. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +30 -7
  426. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +6 -0
  427. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +5 -0
  428. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +6 -0
  429. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +5 -0
  430. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +6 -0
  431. data/sig/metronome_sdk/models/v1/plan_detail.rbs +38 -0
  432. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +5 -0
  433. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +2 -0
  434. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +7 -0
  435. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +28 -0
  436. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +8 -0
  437. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +14 -0
  438. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +6 -0
  439. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +7 -0
  440. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +6 -0
  441. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +2 -0
  442. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +12 -4
  443. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +9 -4
  444. data/sig/metronome_sdk/models/v1/service_list_params.rbs +2 -0
  445. data/sig/metronome_sdk/models/v1/service_list_response.rbs +10 -0
  446. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +13 -0
  447. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +17 -0
  448. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +15 -0
  449. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +15 -0
  450. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +8 -0
  451. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  452. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  453. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +106 -1
  454. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +2 -0
  455. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +81 -1
  456. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +2 -0
  457. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +2233 -303
  458. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +2 -0
  459. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +6 -0
  460. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2475 -453
  461. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +10 -0
  462. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +1400 -43
  463. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +9 -0
  464. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +1400 -43
  465. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -0
  466. data/sig/metronome_sdk/resources/v1/contracts.rbs +10 -0
  467. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  468. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  469. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -1
  470. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  471. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  472. data/sig/metronome_sdk/resources/v1/customers.rbs +8 -0
  473. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  474. data/sig/metronome_sdk/resources/v2/contracts.rbs +8 -1
  475. metadata +20 -2
@@ -134,6 +134,13 @@ module MetronomeSDK
134
134
  end
135
135
  attr_writer :prepaid_balance_threshold_configuration
136
136
 
137
+ # Priority of the contract.
138
+ sig { returns(T.nilable(Float)) }
139
+ attr_reader :priority
140
+
141
+ sig { params(priority: Float).void }
142
+ attr_writer :priority
143
+
137
144
  # Determines which scheduled and commit charges to consolidate onto the Contract's
138
145
  # usage invoice. The charge's `timestamp` must match the usage invoice's
139
146
  # `ending_before` date for consolidation to occur. This field cannot be modified
@@ -173,6 +180,28 @@ module MetronomeSDK
173
180
  end
174
181
  attr_writer :spend_threshold_configuration
175
182
 
183
+ # List of subscriptions on the contract.
184
+ sig do
185
+ returns(
186
+ T.nilable(
187
+ T::Array[
188
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription
189
+ ]
190
+ )
191
+ )
192
+ end
193
+ attr_reader :subscriptions
194
+
195
+ sig do
196
+ params(
197
+ subscriptions:
198
+ T::Array[
199
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::OrHash
200
+ ]
201
+ ).void
202
+ end
203
+ attr_writer :subscriptions
204
+
176
205
  # Prevents the creation of duplicates. If a request to create a record is made
177
206
  # with a previously used uniqueness key, a new record will not be created and the
178
207
  # request will fail with a 409 error.
@@ -198,10 +227,15 @@ module MetronomeSDK
198
227
  MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::OrHash,
199
228
  prepaid_balance_threshold_configuration:
200
229
  MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::OrHash,
230
+ priority: Float,
201
231
  scheduled_charges_on_usage_invoices:
202
232
  MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices::OrSymbol,
203
233
  spend_threshold_configuration:
204
234
  MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::OrHash,
235
+ subscriptions:
236
+ T::Array[
237
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::OrHash
238
+ ],
205
239
  uniqueness_key: String
206
240
  ).returns(T.attached_class)
207
241
  end
@@ -218,6 +252,8 @@ module MetronomeSDK
218
252
  # The billing provider configuration associated with a contract.
219
253
  customer_billing_provider_configuration: nil,
220
254
  prepaid_balance_threshold_configuration: nil,
255
+ # Priority of the contract.
256
+ priority: nil,
221
257
  # Determines which scheduled and commit charges to consolidate onto the Contract's
222
258
  # usage invoice. The charge's `timestamp` must match the usage invoice's
223
259
  # `ending_before` date for consolidation to occur. This field cannot be modified
@@ -225,6 +261,8 @@ module MetronomeSDK
225
261
  # on a separate invoice from usage charges.
226
262
  scheduled_charges_on_usage_invoices: nil,
227
263
  spend_threshold_configuration: nil,
264
+ # List of subscriptions on the contract.
265
+ subscriptions: nil,
228
266
  # Prevents the creation of duplicates. If a request to create a record is made
229
267
  # with a previously used uniqueness key, a new record will not be created and the
230
268
  # request will fail with a 409 error.
@@ -249,10 +287,15 @@ module MetronomeSDK
249
287
  MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration,
250
288
  prepaid_balance_threshold_configuration:
251
289
  MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration,
290
+ priority: Float,
252
291
  scheduled_charges_on_usage_invoices:
253
292
  MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices::TaggedSymbol,
254
293
  spend_threshold_configuration:
255
294
  MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration,
295
+ subscriptions:
296
+ T::Array[
297
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription
298
+ ],
256
299
  uniqueness_key: String
257
300
  }
258
301
  )
@@ -829,6 +872,14 @@ module MetronomeSDK
829
872
  sig { returns(Float) }
830
873
  attr_accessor :threshold_amount
831
874
 
875
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
876
+ # commit amount will be in terms of this credit type instead of the fiat currency.
877
+ sig { returns(T.nilable(String)) }
878
+ attr_reader :custom_credit_type_id
879
+
880
+ sig { params(custom_credit_type_id: String).void }
881
+ attr_writer :custom_credit_type_id
882
+
832
883
  sig do
833
884
  params(
834
885
  commit:
@@ -837,7 +888,8 @@ module MetronomeSDK
837
888
  payment_gate_config:
838
889
  MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::OrHash,
839
890
  recharge_to_amount: Float,
840
- threshold_amount: Float
891
+ threshold_amount: Float,
892
+ custom_credit_type_id: String
841
893
  ).returns(T.attached_class)
842
894
  end
843
895
  def self.new(
@@ -851,7 +903,10 @@ module MetronomeSDK
851
903
  recharge_to_amount:,
852
904
  # Specify the threshold amount for the contract. Each time the contract's prepaid
853
905
  # balance lowers to this amount, a threshold charge will be initiated.
854
- threshold_amount:
906
+ threshold_amount:,
907
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
908
+ # commit amount will be in terms of this credit type instead of the fiat currency.
909
+ custom_credit_type_id: nil
855
910
  )
856
911
  end
857
912
 
@@ -864,7 +919,8 @@ module MetronomeSDK
864
919
  payment_gate_config:
865
920
  MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig,
866
921
  recharge_to_amount: Float,
867
- threshold_amount: Float
922
+ threshold_amount: Float,
923
+ custom_credit_type_id: String
868
924
  }
869
925
  )
870
926
  end
@@ -885,17 +941,18 @@ module MetronomeSDK
885
941
  sig { returns(String) }
886
942
  attr_accessor :product_id
887
943
 
888
- # Which products the threshold commit applies to. If both applicable_product_ids
889
- # and applicable_product_tags are not provided, the commit applies to all
890
- # products.
944
+ # Which products the threshold commit applies to. If applicable_product_ids,
945
+ # applicable_product_tags or specifiers are not provided, the commit applies to
946
+ # all products.
891
947
  sig { returns(T.nilable(T::Array[String])) }
892
948
  attr_reader :applicable_product_ids
893
949
 
894
950
  sig { params(applicable_product_ids: T::Array[String]).void }
895
951
  attr_writer :applicable_product_ids
896
952
 
897
- # Which tags the threshold commit applies to. If both applicable_product_ids and
898
- # applicable_product_tags are not provided, the commit applies to all products.
953
+ # Which tags the threshold commit applies to. If applicable_product_ids,
954
+ # applicable_product_tags or specifiers are not provided, the commit applies to
955
+ # all products.
899
956
  sig { returns(T.nilable(T::Array[String])) }
900
957
  attr_reader :applicable_product_tags
901
958
 
@@ -916,30 +973,65 @@ module MetronomeSDK
916
973
  sig { params(name: String).void }
917
974
  attr_writer :name
918
975
 
976
+ # List of filters that determine what kind of customer usage draws down a commit
977
+ # or credit. A customer's usage needs to meet the condition of at least one of the
978
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
979
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
980
+ sig do
981
+ returns(
982
+ T.nilable(
983
+ T::Array[
984
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier
985
+ ]
986
+ )
987
+ )
988
+ end
989
+ attr_reader :specifiers
990
+
991
+ sig do
992
+ params(
993
+ specifiers:
994
+ T::Array[
995
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier::OrHash
996
+ ]
997
+ ).void
998
+ end
999
+ attr_writer :specifiers
1000
+
919
1001
  sig do
920
1002
  params(
921
1003
  product_id: String,
922
1004
  applicable_product_ids: T::Array[String],
923
1005
  applicable_product_tags: T::Array[String],
924
1006
  description: String,
925
- name: String
1007
+ name: String,
1008
+ specifiers:
1009
+ T::Array[
1010
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier::OrHash
1011
+ ]
926
1012
  ).returns(T.attached_class)
927
1013
  end
928
1014
  def self.new(
929
1015
  # The commit product that will be used to generate the line item for commit
930
1016
  # payment.
931
1017
  product_id:,
932
- # Which products the threshold commit applies to. If both applicable_product_ids
933
- # and applicable_product_tags are not provided, the commit applies to all
934
- # products.
1018
+ # Which products the threshold commit applies to. If applicable_product_ids,
1019
+ # applicable_product_tags or specifiers are not provided, the commit applies to
1020
+ # all products.
935
1021
  applicable_product_ids: nil,
936
- # Which tags the threshold commit applies to. If both applicable_product_ids and
937
- # applicable_product_tags are not provided, the commit applies to all products.
1022
+ # Which tags the threshold commit applies to. If applicable_product_ids,
1023
+ # applicable_product_tags or specifiers are not provided, the commit applies to
1024
+ # all products.
938
1025
  applicable_product_tags: nil,
939
1026
  description: nil,
940
1027
  # Specify the name of the line item for the threshold charge. If left blank, it
941
1028
  # will default to the commit product name.
942
- name: nil
1029
+ name: nil,
1030
+ # List of filters that determine what kind of customer usage draws down a commit
1031
+ # or credit. A customer's usage needs to meet the condition of at least one of the
1032
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
1033
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
1034
+ specifiers: nil
943
1035
  )
944
1036
  end
945
1037
 
@@ -950,12 +1042,91 @@ module MetronomeSDK
950
1042
  applicable_product_ids: T::Array[String],
951
1043
  applicable_product_tags: T::Array[String],
952
1044
  description: String,
953
- name: String
1045
+ name: String,
1046
+ specifiers:
1047
+ T::Array[
1048
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier
1049
+ ]
954
1050
  }
955
1051
  )
956
1052
  end
957
1053
  def to_hash
958
1054
  end
1055
+
1056
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1057
+ OrHash =
1058
+ T.type_alias do
1059
+ T.any(
1060
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier,
1061
+ MetronomeSDK::Internal::AnyHash
1062
+ )
1063
+ end
1064
+
1065
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1066
+ attr_reader :presentation_group_values
1067
+
1068
+ sig do
1069
+ params(
1070
+ presentation_group_values: T::Hash[Symbol, String]
1071
+ ).void
1072
+ end
1073
+ attr_writer :presentation_group_values
1074
+
1075
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1076
+ attr_reader :pricing_group_values
1077
+
1078
+ sig do
1079
+ params(pricing_group_values: T::Hash[Symbol, String]).void
1080
+ end
1081
+ attr_writer :pricing_group_values
1082
+
1083
+ # If provided, the specifier will only apply to the product with the specified ID.
1084
+ sig { returns(T.nilable(String)) }
1085
+ attr_reader :product_id
1086
+
1087
+ sig { params(product_id: String).void }
1088
+ attr_writer :product_id
1089
+
1090
+ # If provided, the specifier will only apply to products with all the specified
1091
+ # tags.
1092
+ sig { returns(T.nilable(T::Array[String])) }
1093
+ attr_reader :product_tags
1094
+
1095
+ sig { params(product_tags: T::Array[String]).void }
1096
+ attr_writer :product_tags
1097
+
1098
+ sig do
1099
+ params(
1100
+ presentation_group_values: T::Hash[Symbol, String],
1101
+ pricing_group_values: T::Hash[Symbol, String],
1102
+ product_id: String,
1103
+ product_tags: T::Array[String]
1104
+ ).returns(T.attached_class)
1105
+ end
1106
+ def self.new(
1107
+ presentation_group_values: nil,
1108
+ pricing_group_values: nil,
1109
+ # If provided, the specifier will only apply to the product with the specified ID.
1110
+ product_id: nil,
1111
+ # If provided, the specifier will only apply to products with all the specified
1112
+ # tags.
1113
+ product_tags: nil
1114
+ )
1115
+ end
1116
+
1117
+ sig do
1118
+ override.returns(
1119
+ {
1120
+ presentation_group_values: T::Hash[Symbol, String],
1121
+ pricing_group_values: T::Hash[Symbol, String],
1122
+ product_id: String,
1123
+ product_tags: T::Array[String]
1124
+ }
1125
+ )
1126
+ end
1127
+ def to_hash
1128
+ end
1129
+ end
959
1130
  end
960
1131
 
961
1132
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
@@ -978,7 +1149,25 @@ module MetronomeSDK
978
1149
  end
979
1150
  attr_accessor :payment_gate_type
980
1151
 
981
- # Only applicable if using Stripe as your payment gateway through Metronome.
1152
+ # Only applicable if using PRECALCULATED as your tax type.
1153
+ sig do
1154
+ returns(
1155
+ T.nilable(
1156
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
1157
+ )
1158
+ )
1159
+ end
1160
+ attr_reader :precalculated_tax_config
1161
+
1162
+ sig do
1163
+ params(
1164
+ precalculated_tax_config:
1165
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash
1166
+ ).void
1167
+ end
1168
+ attr_writer :precalculated_tax_config
1169
+
1170
+ # Only applicable if using STRIPE as your payment gate type.
982
1171
  sig do
983
1172
  returns(
984
1173
  T.nilable(
@@ -1020,6 +1209,8 @@ module MetronomeSDK
1020
1209
  params(
1021
1210
  payment_gate_type:
1022
1211
  MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::OrSymbol,
1212
+ precalculated_tax_config:
1213
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash,
1023
1214
  stripe_config:
1024
1215
  MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash,
1025
1216
  tax_type:
@@ -1032,7 +1223,9 @@ module MetronomeSDK
1032
1223
  # facilitate payment using your own payment integration. Select NONE if you do not
1033
1224
  # wish to payment gate the commit balance.
1034
1225
  payment_gate_type:,
1035
- # Only applicable if using Stripe as your payment gateway through Metronome.
1226
+ # Only applicable if using PRECALCULATED as your tax type.
1227
+ precalculated_tax_config: nil,
1228
+ # Only applicable if using STRIPE as your payment gate type.
1036
1229
  stripe_config: nil,
1037
1230
  # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1038
1231
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
@@ -1046,6 +1239,8 @@ module MetronomeSDK
1046
1239
  {
1047
1240
  payment_gate_type:
1048
1241
  MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol,
1242
+ precalculated_tax_config:
1243
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1049
1244
  stripe_config:
1050
1245
  MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
1051
1246
  tax_type:
@@ -1099,6 +1294,51 @@ module MetronomeSDK
1099
1294
  end
1100
1295
  end
1101
1296
 
1297
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
1298
+ OrHash =
1299
+ T.type_alias do
1300
+ T.any(
1301
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1302
+ MetronomeSDK::Internal::AnyHash
1303
+ )
1304
+ end
1305
+
1306
+ # Amount of tax to be applied. This should be in the same currency and
1307
+ # denomination as the commit's invoice schedule
1308
+ sig { returns(Float) }
1309
+ attr_accessor :tax_amount
1310
+
1311
+ # Name of the tax to be applied. This may be used in an invoice line item
1312
+ # description.
1313
+ sig { returns(T.nilable(String)) }
1314
+ attr_reader :tax_name
1315
+
1316
+ sig { params(tax_name: String).void }
1317
+ attr_writer :tax_name
1318
+
1319
+ # Only applicable if using PRECALCULATED as your tax type.
1320
+ sig do
1321
+ params(tax_amount: Float, tax_name: String).returns(
1322
+ T.attached_class
1323
+ )
1324
+ end
1325
+ def self.new(
1326
+ # Amount of tax to be applied. This should be in the same currency and
1327
+ # denomination as the commit's invoice schedule
1328
+ tax_amount:,
1329
+ # Name of the tax to be applied. This may be used in an invoice line item
1330
+ # description.
1331
+ tax_name: nil
1332
+ )
1333
+ end
1334
+
1335
+ sig do
1336
+ override.returns({ tax_amount: Float, tax_name: String })
1337
+ end
1338
+ def to_hash
1339
+ end
1340
+ end
1341
+
1102
1342
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1103
1343
  OrHash =
1104
1344
  T.type_alias do
@@ -1116,16 +1356,28 @@ module MetronomeSDK
1116
1356
  end
1117
1357
  attr_accessor :payment_type
1118
1358
 
1119
- # Only applicable if using Stripe as your payment gateway through Metronome.
1359
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1360
+ # your payment type.
1361
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1362
+ attr_reader :invoice_metadata
1363
+
1364
+ sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
1365
+ attr_writer :invoice_metadata
1366
+
1367
+ # Only applicable if using STRIPE as your payment gate type.
1120
1368
  sig do
1121
1369
  params(
1122
1370
  payment_type:
1123
- MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
1371
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
1372
+ invoice_metadata: T::Hash[Symbol, String]
1124
1373
  ).returns(T.attached_class)
1125
1374
  end
1126
1375
  def self.new(
1127
1376
  # If left blank, will default to INVOICE
1128
- payment_type:
1377
+ payment_type:,
1378
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1379
+ # your payment type.
1380
+ invoice_metadata: nil
1129
1381
  )
1130
1382
  end
1131
1383
 
@@ -1133,7 +1385,8 @@ module MetronomeSDK
1133
1385
  override.returns(
1134
1386
  {
1135
1387
  payment_type:
1136
- MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1388
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol,
1389
+ invoice_metadata: T::Hash[Symbol, String]
1137
1390
  }
1138
1391
  )
1139
1392
  end
@@ -1201,6 +1454,16 @@ module MetronomeSDK
1201
1454
  :STRIPE,
1202
1455
  MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1203
1456
  )
1457
+ ANROK =
1458
+ T.let(
1459
+ :ANROK,
1460
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1461
+ )
1462
+ PRECALCULATED =
1463
+ T.let(
1464
+ :PRECALCULATED,
1465
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1466
+ )
1204
1467
 
1205
1468
  sig do
1206
1469
  override.returns(
@@ -1412,7 +1675,25 @@ module MetronomeSDK
1412
1675
  end
1413
1676
  attr_accessor :payment_gate_type
1414
1677
 
1415
- # Only applicable if using Stripe as your payment gateway through Metronome.
1678
+ # Only applicable if using PRECALCULATED as your tax type.
1679
+ sig do
1680
+ returns(
1681
+ T.nilable(
1682
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
1683
+ )
1684
+ )
1685
+ end
1686
+ attr_reader :precalculated_tax_config
1687
+
1688
+ sig do
1689
+ params(
1690
+ precalculated_tax_config:
1691
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash
1692
+ ).void
1693
+ end
1694
+ attr_writer :precalculated_tax_config
1695
+
1696
+ # Only applicable if using STRIPE as your payment gate type.
1416
1697
  sig do
1417
1698
  returns(
1418
1699
  T.nilable(
@@ -1454,6 +1735,8 @@ module MetronomeSDK
1454
1735
  params(
1455
1736
  payment_gate_type:
1456
1737
  MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::OrSymbol,
1738
+ precalculated_tax_config:
1739
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash,
1457
1740
  stripe_config:
1458
1741
  MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash,
1459
1742
  tax_type:
@@ -1466,7 +1749,9 @@ module MetronomeSDK
1466
1749
  # facilitate payment using your own payment integration. Select NONE if you do not
1467
1750
  # wish to payment gate the commit balance.
1468
1751
  payment_gate_type:,
1469
- # Only applicable if using Stripe as your payment gateway through Metronome.
1752
+ # Only applicable if using PRECALCULATED as your tax type.
1753
+ precalculated_tax_config: nil,
1754
+ # Only applicable if using STRIPE as your payment gate type.
1470
1755
  stripe_config: nil,
1471
1756
  # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1472
1757
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
@@ -1480,6 +1765,8 @@ module MetronomeSDK
1480
1765
  {
1481
1766
  payment_gate_type:
1482
1767
  MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol,
1768
+ precalculated_tax_config:
1769
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1483
1770
  stripe_config:
1484
1771
  MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
1485
1772
  tax_type:
@@ -1533,6 +1820,51 @@ module MetronomeSDK
1533
1820
  end
1534
1821
  end
1535
1822
 
1823
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
1824
+ OrHash =
1825
+ T.type_alias do
1826
+ T.any(
1827
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1828
+ MetronomeSDK::Internal::AnyHash
1829
+ )
1830
+ end
1831
+
1832
+ # Amount of tax to be applied. This should be in the same currency and
1833
+ # denomination as the commit's invoice schedule
1834
+ sig { returns(Float) }
1835
+ attr_accessor :tax_amount
1836
+
1837
+ # Name of the tax to be applied. This may be used in an invoice line item
1838
+ # description.
1839
+ sig { returns(T.nilable(String)) }
1840
+ attr_reader :tax_name
1841
+
1842
+ sig { params(tax_name: String).void }
1843
+ attr_writer :tax_name
1844
+
1845
+ # Only applicable if using PRECALCULATED as your tax type.
1846
+ sig do
1847
+ params(tax_amount: Float, tax_name: String).returns(
1848
+ T.attached_class
1849
+ )
1850
+ end
1851
+ def self.new(
1852
+ # Amount of tax to be applied. This should be in the same currency and
1853
+ # denomination as the commit's invoice schedule
1854
+ tax_amount:,
1855
+ # Name of the tax to be applied. This may be used in an invoice line item
1856
+ # description.
1857
+ tax_name: nil
1858
+ )
1859
+ end
1860
+
1861
+ sig do
1862
+ override.returns({ tax_amount: Float, tax_name: String })
1863
+ end
1864
+ def to_hash
1865
+ end
1866
+ end
1867
+
1536
1868
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1537
1869
  OrHash =
1538
1870
  T.type_alias do
@@ -1550,16 +1882,28 @@ module MetronomeSDK
1550
1882
  end
1551
1883
  attr_accessor :payment_type
1552
1884
 
1553
- # Only applicable if using Stripe as your payment gateway through Metronome.
1885
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1886
+ # your payment type.
1887
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1888
+ attr_reader :invoice_metadata
1889
+
1890
+ sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
1891
+ attr_writer :invoice_metadata
1892
+
1893
+ # Only applicable if using STRIPE as your payment gate type.
1554
1894
  sig do
1555
1895
  params(
1556
1896
  payment_type:
1557
- MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
1897
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
1898
+ invoice_metadata: T::Hash[Symbol, String]
1558
1899
  ).returns(T.attached_class)
1559
1900
  end
1560
1901
  def self.new(
1561
1902
  # If left blank, will default to INVOICE
1562
- payment_type:
1903
+ payment_type:,
1904
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1905
+ # your payment type.
1906
+ invoice_metadata: nil
1563
1907
  )
1564
1908
  end
1565
1909
 
@@ -1567,7 +1911,8 @@ module MetronomeSDK
1567
1911
  override.returns(
1568
1912
  {
1569
1913
  payment_type:
1570
- MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1914
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol,
1915
+ invoice_metadata: T::Hash[Symbol, String]
1571
1916
  }
1572
1917
  )
1573
1918
  end
@@ -1635,6 +1980,16 @@ module MetronomeSDK
1635
1980
  :STRIPE,
1636
1981
  MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1637
1982
  )
1983
+ ANROK =
1984
+ T.let(
1985
+ :ANROK,
1986
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1987
+ )
1988
+ PRECALCULATED =
1989
+ T.let(
1990
+ :PRECALCULATED,
1991
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1992
+ )
1638
1993
 
1639
1994
  sig do
1640
1995
  override.returns(
@@ -1648,6 +2003,443 @@ module MetronomeSDK
1648
2003
  end
1649
2004
  end
1650
2005
  end
2006
+
2007
+ class Subscription < MetronomeSDK::Internal::Type::BaseModel
2008
+ OrHash =
2009
+ T.type_alias do
2010
+ T.any(
2011
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription,
2012
+ MetronomeSDK::Internal::AnyHash
2013
+ )
2014
+ end
2015
+
2016
+ sig do
2017
+ returns(
2018
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::CollectionSchedule::TaggedSymbol
2019
+ )
2020
+ end
2021
+ attr_accessor :collection_schedule
2022
+
2023
+ sig do
2024
+ returns(
2025
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration
2026
+ )
2027
+ end
2028
+ attr_reader :proration
2029
+
2030
+ sig do
2031
+ params(
2032
+ proration:
2033
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration::OrHash
2034
+ ).void
2035
+ end
2036
+ attr_writer :proration
2037
+
2038
+ # List of quantity schedule items for the subscription. Only includes the current
2039
+ # quantity and future quantity changes.
2040
+ sig do
2041
+ returns(
2042
+ T::Array[
2043
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::QuantitySchedule
2044
+ ]
2045
+ )
2046
+ end
2047
+ attr_accessor :quantity_schedule
2048
+
2049
+ sig { returns(Time) }
2050
+ attr_accessor :starting_at
2051
+
2052
+ sig do
2053
+ returns(
2054
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate
2055
+ )
2056
+ end
2057
+ attr_reader :subscription_rate
2058
+
2059
+ sig do
2060
+ params(
2061
+ subscription_rate:
2062
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::OrHash
2063
+ ).void
2064
+ end
2065
+ attr_writer :subscription_rate
2066
+
2067
+ sig { returns(T.nilable(String)) }
2068
+ attr_reader :id
2069
+
2070
+ sig { params(id: String).void }
2071
+ attr_writer :id
2072
+
2073
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2074
+ attr_reader :custom_fields
2075
+
2076
+ sig { params(custom_fields: T::Hash[Symbol, String]).void }
2077
+ attr_writer :custom_fields
2078
+
2079
+ sig { returns(T.nilable(String)) }
2080
+ attr_reader :description
2081
+
2082
+ sig { params(description: String).void }
2083
+ attr_writer :description
2084
+
2085
+ sig { returns(T.nilable(Time)) }
2086
+ attr_reader :ending_before
2087
+
2088
+ sig { params(ending_before: Time).void }
2089
+ attr_writer :ending_before
2090
+
2091
+ sig { returns(T.nilable(String)) }
2092
+ attr_reader :fiat_credit_type_id
2093
+
2094
+ sig { params(fiat_credit_type_id: String).void }
2095
+ attr_writer :fiat_credit_type_id
2096
+
2097
+ sig { returns(T.nilable(String)) }
2098
+ attr_reader :name
2099
+
2100
+ sig { params(name: String).void }
2101
+ attr_writer :name
2102
+
2103
+ sig do
2104
+ params(
2105
+ collection_schedule:
2106
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::CollectionSchedule::OrSymbol,
2107
+ proration:
2108
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration::OrHash,
2109
+ quantity_schedule:
2110
+ T::Array[
2111
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::QuantitySchedule::OrHash
2112
+ ],
2113
+ starting_at: Time,
2114
+ subscription_rate:
2115
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::OrHash,
2116
+ id: String,
2117
+ custom_fields: T::Hash[Symbol, String],
2118
+ description: String,
2119
+ ending_before: Time,
2120
+ fiat_credit_type_id: String,
2121
+ name: String
2122
+ ).returns(T.attached_class)
2123
+ end
2124
+ def self.new(
2125
+ collection_schedule:,
2126
+ proration:,
2127
+ # List of quantity schedule items for the subscription. Only includes the current
2128
+ # quantity and future quantity changes.
2129
+ quantity_schedule:,
2130
+ starting_at:,
2131
+ subscription_rate:,
2132
+ id: nil,
2133
+ custom_fields: nil,
2134
+ description: nil,
2135
+ ending_before: nil,
2136
+ fiat_credit_type_id: nil,
2137
+ name: nil
2138
+ )
2139
+ end
2140
+
2141
+ sig do
2142
+ override.returns(
2143
+ {
2144
+ collection_schedule:
2145
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::CollectionSchedule::TaggedSymbol,
2146
+ proration:
2147
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration,
2148
+ quantity_schedule:
2149
+ T::Array[
2150
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::QuantitySchedule
2151
+ ],
2152
+ starting_at: Time,
2153
+ subscription_rate:
2154
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate,
2155
+ id: String,
2156
+ custom_fields: T::Hash[Symbol, String],
2157
+ description: String,
2158
+ ending_before: Time,
2159
+ fiat_credit_type_id: String,
2160
+ name: String
2161
+ }
2162
+ )
2163
+ end
2164
+ def to_hash
2165
+ end
2166
+
2167
+ module CollectionSchedule
2168
+ extend MetronomeSDK::Internal::Type::Enum
2169
+
2170
+ TaggedSymbol =
2171
+ T.type_alias do
2172
+ T.all(
2173
+ Symbol,
2174
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::CollectionSchedule
2175
+ )
2176
+ end
2177
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2178
+
2179
+ ADVANCE =
2180
+ T.let(
2181
+ :ADVANCE,
2182
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::CollectionSchedule::TaggedSymbol
2183
+ )
2184
+ ARREARS =
2185
+ T.let(
2186
+ :ARREARS,
2187
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::CollectionSchedule::TaggedSymbol
2188
+ )
2189
+
2190
+ sig do
2191
+ override.returns(
2192
+ T::Array[
2193
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::CollectionSchedule::TaggedSymbol
2194
+ ]
2195
+ )
2196
+ end
2197
+ def self.values
2198
+ end
2199
+ end
2200
+
2201
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
2202
+ OrHash =
2203
+ T.type_alias do
2204
+ T.any(
2205
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration,
2206
+ MetronomeSDK::Internal::AnyHash
2207
+ )
2208
+ end
2209
+
2210
+ sig do
2211
+ returns(
2212
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior::TaggedSymbol
2213
+ )
2214
+ end
2215
+ attr_accessor :invoice_behavior
2216
+
2217
+ sig { returns(T::Boolean) }
2218
+ attr_accessor :is_prorated
2219
+
2220
+ sig do
2221
+ params(
2222
+ invoice_behavior:
2223
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior::OrSymbol,
2224
+ is_prorated: T::Boolean
2225
+ ).returns(T.attached_class)
2226
+ end
2227
+ def self.new(invoice_behavior:, is_prorated:)
2228
+ end
2229
+
2230
+ sig do
2231
+ override.returns(
2232
+ {
2233
+ invoice_behavior:
2234
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior::TaggedSymbol,
2235
+ is_prorated: T::Boolean
2236
+ }
2237
+ )
2238
+ end
2239
+ def to_hash
2240
+ end
2241
+
2242
+ module InvoiceBehavior
2243
+ extend MetronomeSDK::Internal::Type::Enum
2244
+
2245
+ TaggedSymbol =
2246
+ T.type_alias do
2247
+ T.all(
2248
+ Symbol,
2249
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior
2250
+ )
2251
+ end
2252
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2253
+
2254
+ BILL_IMMEDIATELY =
2255
+ T.let(
2256
+ :BILL_IMMEDIATELY,
2257
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior::TaggedSymbol
2258
+ )
2259
+ BILL_ON_NEXT_COLLECTION_DATE =
2260
+ T.let(
2261
+ :BILL_ON_NEXT_COLLECTION_DATE,
2262
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior::TaggedSymbol
2263
+ )
2264
+
2265
+ sig do
2266
+ override.returns(
2267
+ T::Array[
2268
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior::TaggedSymbol
2269
+ ]
2270
+ )
2271
+ end
2272
+ def self.values
2273
+ end
2274
+ end
2275
+ end
2276
+
2277
+ class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
2278
+ OrHash =
2279
+ T.type_alias do
2280
+ T.any(
2281
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::QuantitySchedule,
2282
+ MetronomeSDK::Internal::AnyHash
2283
+ )
2284
+ end
2285
+
2286
+ sig { returns(Float) }
2287
+ attr_accessor :quantity
2288
+
2289
+ sig { returns(Time) }
2290
+ attr_accessor :starting_at
2291
+
2292
+ sig { returns(T.nilable(Time)) }
2293
+ attr_reader :ending_before
2294
+
2295
+ sig { params(ending_before: Time).void }
2296
+ attr_writer :ending_before
2297
+
2298
+ sig do
2299
+ params(
2300
+ quantity: Float,
2301
+ starting_at: Time,
2302
+ ending_before: Time
2303
+ ).returns(T.attached_class)
2304
+ end
2305
+ def self.new(quantity:, starting_at:, ending_before: nil)
2306
+ end
2307
+
2308
+ sig do
2309
+ override.returns(
2310
+ { quantity: Float, starting_at: Time, ending_before: Time }
2311
+ )
2312
+ end
2313
+ def to_hash
2314
+ end
2315
+ end
2316
+
2317
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
2318
+ OrHash =
2319
+ T.type_alias do
2320
+ T.any(
2321
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate,
2322
+ MetronomeSDK::Internal::AnyHash
2323
+ )
2324
+ end
2325
+
2326
+ sig do
2327
+ returns(
2328
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
2329
+ )
2330
+ end
2331
+ attr_accessor :billing_frequency
2332
+
2333
+ sig do
2334
+ returns(
2335
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::Product
2336
+ )
2337
+ end
2338
+ attr_reader :product
2339
+
2340
+ sig do
2341
+ params(
2342
+ product:
2343
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::Product::OrHash
2344
+ ).void
2345
+ end
2346
+ attr_writer :product
2347
+
2348
+ sig do
2349
+ params(
2350
+ billing_frequency:
2351
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency::OrSymbol,
2352
+ product:
2353
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::Product::OrHash
2354
+ ).returns(T.attached_class)
2355
+ end
2356
+ def self.new(billing_frequency:, product:)
2357
+ end
2358
+
2359
+ sig do
2360
+ override.returns(
2361
+ {
2362
+ billing_frequency:
2363
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol,
2364
+ product:
2365
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::Product
2366
+ }
2367
+ )
2368
+ end
2369
+ def to_hash
2370
+ end
2371
+
2372
+ module BillingFrequency
2373
+ extend MetronomeSDK::Internal::Type::Enum
2374
+
2375
+ TaggedSymbol =
2376
+ T.type_alias do
2377
+ T.all(
2378
+ Symbol,
2379
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency
2380
+ )
2381
+ end
2382
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2383
+
2384
+ MONTHLY =
2385
+ T.let(
2386
+ :MONTHLY,
2387
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
2388
+ )
2389
+ QUARTERLY =
2390
+ T.let(
2391
+ :QUARTERLY,
2392
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
2393
+ )
2394
+ ANNUAL =
2395
+ T.let(
2396
+ :ANNUAL,
2397
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
2398
+ )
2399
+ WEEKLY =
2400
+ T.let(
2401
+ :WEEKLY,
2402
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
2403
+ )
2404
+
2405
+ sig do
2406
+ override.returns(
2407
+ T::Array[
2408
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
2409
+ ]
2410
+ )
2411
+ end
2412
+ def self.values
2413
+ end
2414
+ end
2415
+
2416
+ class Product < MetronomeSDK::Internal::Type::BaseModel
2417
+ OrHash =
2418
+ T.type_alias do
2419
+ T.any(
2420
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::Product,
2421
+ MetronomeSDK::Internal::AnyHash
2422
+ )
2423
+ end
2424
+
2425
+ sig { returns(String) }
2426
+ attr_accessor :id
2427
+
2428
+ sig { returns(String) }
2429
+ attr_accessor :name
2430
+
2431
+ sig do
2432
+ params(id: String, name: String).returns(T.attached_class)
2433
+ end
2434
+ def self.new(id:, name:)
2435
+ end
2436
+
2437
+ sig { override.returns({ id: String, name: String }) }
2438
+ def to_hash
2439
+ end
2440
+ end
2441
+ end
2442
+ end
1651
2443
  end
1652
2444
  end
1653
2445
  end