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
@@ -135,6 +135,13 @@ module MetronomeSDK
135
135
  end
136
136
  attr_writer :prepaid_balance_threshold_configuration
137
137
 
138
+ # Priority of the contract.
139
+ sig { returns(T.nilable(Float)) }
140
+ attr_reader :priority
141
+
142
+ sig { params(priority: Float).void }
143
+ attr_writer :priority
144
+
138
145
  # Determines which scheduled and commit charges to consolidate onto the Contract's
139
146
  # usage invoice. The charge's `timestamp` must match the usage invoice's
140
147
  # `ending_before` date for consolidation to occur. This field cannot be modified
@@ -174,6 +181,28 @@ module MetronomeSDK
174
181
  end
175
182
  attr_writer :spend_threshold_configuration
176
183
 
184
+ # List of subscriptions on the contract.
185
+ sig do
186
+ returns(
187
+ T.nilable(
188
+ T::Array[
189
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription
190
+ ]
191
+ )
192
+ )
193
+ end
194
+ attr_reader :subscriptions
195
+
196
+ sig do
197
+ params(
198
+ subscriptions:
199
+ T::Array[
200
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::OrHash
201
+ ]
202
+ ).void
203
+ end
204
+ attr_writer :subscriptions
205
+
177
206
  # Prevents the creation of duplicates. If a request to create a record is made
178
207
  # with a previously used uniqueness key, a new record will not be created and the
179
208
  # request will fail with a 409 error.
@@ -199,10 +228,15 @@ module MetronomeSDK
199
228
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::OrHash,
200
229
  prepaid_balance_threshold_configuration:
201
230
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::OrHash,
231
+ priority: Float,
202
232
  scheduled_charges_on_usage_invoices:
203
233
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::ScheduledChargesOnUsageInvoices::OrSymbol,
204
234
  spend_threshold_configuration:
205
235
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::OrHash,
236
+ subscriptions:
237
+ T::Array[
238
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::OrHash
239
+ ],
206
240
  uniqueness_key: String
207
241
  ).returns(T.attached_class)
208
242
  end
@@ -219,6 +253,8 @@ module MetronomeSDK
219
253
  # The billing provider configuration associated with a contract.
220
254
  customer_billing_provider_configuration: nil,
221
255
  prepaid_balance_threshold_configuration: nil,
256
+ # Priority of the contract.
257
+ priority: nil,
222
258
  # Determines which scheduled and commit charges to consolidate onto the Contract's
223
259
  # usage invoice. The charge's `timestamp` must match the usage invoice's
224
260
  # `ending_before` date for consolidation to occur. This field cannot be modified
@@ -226,6 +262,8 @@ module MetronomeSDK
226
262
  # on a separate invoice from usage charges.
227
263
  scheduled_charges_on_usage_invoices: nil,
228
264
  spend_threshold_configuration: nil,
265
+ # List of subscriptions on the contract.
266
+ subscriptions: nil,
229
267
  # Prevents the creation of duplicates. If a request to create a record is made
230
268
  # with a previously used uniqueness key, a new record will not be created and the
231
269
  # request will fail with a 409 error.
@@ -250,10 +288,15 @@ module MetronomeSDK
250
288
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration,
251
289
  prepaid_balance_threshold_configuration:
252
290
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration,
291
+ priority: Float,
253
292
  scheduled_charges_on_usage_invoices:
254
293
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::ScheduledChargesOnUsageInvoices::TaggedSymbol,
255
294
  spend_threshold_configuration:
256
295
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration,
296
+ subscriptions:
297
+ T::Array[
298
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription
299
+ ],
257
300
  uniqueness_key: String
258
301
  }
259
302
  )
@@ -830,6 +873,14 @@ module MetronomeSDK
830
873
  sig { returns(Float) }
831
874
  attr_accessor :threshold_amount
832
875
 
876
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
877
+ # commit amount will be in terms of this credit type instead of the fiat currency.
878
+ sig { returns(T.nilable(String)) }
879
+ attr_reader :custom_credit_type_id
880
+
881
+ sig { params(custom_credit_type_id: String).void }
882
+ attr_writer :custom_credit_type_id
883
+
833
884
  sig do
834
885
  params(
835
886
  commit:
@@ -838,7 +889,8 @@ module MetronomeSDK
838
889
  payment_gate_config:
839
890
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::OrHash,
840
891
  recharge_to_amount: Float,
841
- threshold_amount: Float
892
+ threshold_amount: Float,
893
+ custom_credit_type_id: String
842
894
  ).returns(T.attached_class)
843
895
  end
844
896
  def self.new(
@@ -852,7 +904,10 @@ module MetronomeSDK
852
904
  recharge_to_amount:,
853
905
  # Specify the threshold amount for the contract. Each time the contract's prepaid
854
906
  # balance lowers to this amount, a threshold charge will be initiated.
855
- threshold_amount:
907
+ threshold_amount:,
908
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
909
+ # commit amount will be in terms of this credit type instead of the fiat currency.
910
+ custom_credit_type_id: nil
856
911
  )
857
912
  end
858
913
 
@@ -865,7 +920,8 @@ module MetronomeSDK
865
920
  payment_gate_config:
866
921
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig,
867
922
  recharge_to_amount: Float,
868
- threshold_amount: Float
923
+ threshold_amount: Float,
924
+ custom_credit_type_id: String
869
925
  }
870
926
  )
871
927
  end
@@ -886,17 +942,18 @@ module MetronomeSDK
886
942
  sig { returns(String) }
887
943
  attr_accessor :product_id
888
944
 
889
- # Which products the threshold commit applies to. If both applicable_product_ids
890
- # and applicable_product_tags are not provided, the commit applies to all
891
- # products.
945
+ # Which products the threshold commit applies to. If applicable_product_ids,
946
+ # applicable_product_tags or specifiers are not provided, the commit applies to
947
+ # all products.
892
948
  sig { returns(T.nilable(T::Array[String])) }
893
949
  attr_reader :applicable_product_ids
894
950
 
895
951
  sig { params(applicable_product_ids: T::Array[String]).void }
896
952
  attr_writer :applicable_product_ids
897
953
 
898
- # Which tags the threshold commit applies to. If both applicable_product_ids and
899
- # applicable_product_tags are not provided, the commit applies to all products.
954
+ # Which tags the threshold commit applies to. If applicable_product_ids,
955
+ # applicable_product_tags or specifiers are not provided, the commit applies to
956
+ # all products.
900
957
  sig { returns(T.nilable(T::Array[String])) }
901
958
  attr_reader :applicable_product_tags
902
959
 
@@ -917,30 +974,65 @@ module MetronomeSDK
917
974
  sig { params(name: String).void }
918
975
  attr_writer :name
919
976
 
977
+ # List of filters that determine what kind of customer usage draws down a commit
978
+ # or credit. A customer's usage needs to meet the condition of at least one of the
979
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
980
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
981
+ sig do
982
+ returns(
983
+ T.nilable(
984
+ T::Array[
985
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier
986
+ ]
987
+ )
988
+ )
989
+ end
990
+ attr_reader :specifiers
991
+
992
+ sig do
993
+ params(
994
+ specifiers:
995
+ T::Array[
996
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier::OrHash
997
+ ]
998
+ ).void
999
+ end
1000
+ attr_writer :specifiers
1001
+
920
1002
  sig do
921
1003
  params(
922
1004
  product_id: String,
923
1005
  applicable_product_ids: T::Array[String],
924
1006
  applicable_product_tags: T::Array[String],
925
1007
  description: String,
926
- name: String
1008
+ name: String,
1009
+ specifiers:
1010
+ T::Array[
1011
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier::OrHash
1012
+ ]
927
1013
  ).returns(T.attached_class)
928
1014
  end
929
1015
  def self.new(
930
1016
  # The commit product that will be used to generate the line item for commit
931
1017
  # payment.
932
1018
  product_id:,
933
- # Which products the threshold commit applies to. If both applicable_product_ids
934
- # and applicable_product_tags are not provided, the commit applies to all
935
- # products.
1019
+ # Which products the threshold commit applies to. If applicable_product_ids,
1020
+ # applicable_product_tags or specifiers are not provided, the commit applies to
1021
+ # all products.
936
1022
  applicable_product_ids: nil,
937
- # Which tags the threshold commit applies to. If both applicable_product_ids and
938
- # applicable_product_tags are not provided, the commit applies to all products.
1023
+ # Which tags the threshold commit applies to. If applicable_product_ids,
1024
+ # applicable_product_tags or specifiers are not provided, the commit applies to
1025
+ # all products.
939
1026
  applicable_product_tags: nil,
940
1027
  description: nil,
941
1028
  # Specify the name of the line item for the threshold charge. If left blank, it
942
1029
  # will default to the commit product name.
943
- name: nil
1030
+ name: nil,
1031
+ # List of filters that determine what kind of customer usage draws down a commit
1032
+ # or credit. A customer's usage needs to meet the condition of at least one of the
1033
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
1034
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
1035
+ specifiers: nil
944
1036
  )
945
1037
  end
946
1038
 
@@ -951,12 +1043,91 @@ module MetronomeSDK
951
1043
  applicable_product_ids: T::Array[String],
952
1044
  applicable_product_tags: T::Array[String],
953
1045
  description: String,
954
- name: String
1046
+ name: String,
1047
+ specifiers:
1048
+ T::Array[
1049
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier
1050
+ ]
955
1051
  }
956
1052
  )
957
1053
  end
958
1054
  def to_hash
959
1055
  end
1056
+
1057
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1058
+ OrHash =
1059
+ T.type_alias do
1060
+ T.any(
1061
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier,
1062
+ MetronomeSDK::Internal::AnyHash
1063
+ )
1064
+ end
1065
+
1066
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1067
+ attr_reader :presentation_group_values
1068
+
1069
+ sig do
1070
+ params(
1071
+ presentation_group_values: T::Hash[Symbol, String]
1072
+ ).void
1073
+ end
1074
+ attr_writer :presentation_group_values
1075
+
1076
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1077
+ attr_reader :pricing_group_values
1078
+
1079
+ sig do
1080
+ params(pricing_group_values: T::Hash[Symbol, String]).void
1081
+ end
1082
+ attr_writer :pricing_group_values
1083
+
1084
+ # If provided, the specifier will only apply to the product with the specified ID.
1085
+ sig { returns(T.nilable(String)) }
1086
+ attr_reader :product_id
1087
+
1088
+ sig { params(product_id: String).void }
1089
+ attr_writer :product_id
1090
+
1091
+ # If provided, the specifier will only apply to products with all the specified
1092
+ # tags.
1093
+ sig { returns(T.nilable(T::Array[String])) }
1094
+ attr_reader :product_tags
1095
+
1096
+ sig { params(product_tags: T::Array[String]).void }
1097
+ attr_writer :product_tags
1098
+
1099
+ sig do
1100
+ params(
1101
+ presentation_group_values: T::Hash[Symbol, String],
1102
+ pricing_group_values: T::Hash[Symbol, String],
1103
+ product_id: String,
1104
+ product_tags: T::Array[String]
1105
+ ).returns(T.attached_class)
1106
+ end
1107
+ def self.new(
1108
+ presentation_group_values: nil,
1109
+ pricing_group_values: nil,
1110
+ # If provided, the specifier will only apply to the product with the specified ID.
1111
+ product_id: nil,
1112
+ # If provided, the specifier will only apply to products with all the specified
1113
+ # tags.
1114
+ product_tags: nil
1115
+ )
1116
+ end
1117
+
1118
+ sig do
1119
+ override.returns(
1120
+ {
1121
+ presentation_group_values: T::Hash[Symbol, String],
1122
+ pricing_group_values: T::Hash[Symbol, String],
1123
+ product_id: String,
1124
+ product_tags: T::Array[String]
1125
+ }
1126
+ )
1127
+ end
1128
+ def to_hash
1129
+ end
1130
+ end
960
1131
  end
961
1132
 
962
1133
  class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
@@ -979,7 +1150,25 @@ module MetronomeSDK
979
1150
  end
980
1151
  attr_accessor :payment_gate_type
981
1152
 
982
- # Only applicable if using Stripe as your payment gateway through Metronome.
1153
+ # Only applicable if using PRECALCULATED as your tax type.
1154
+ sig do
1155
+ returns(
1156
+ T.nilable(
1157
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
1158
+ )
1159
+ )
1160
+ end
1161
+ attr_reader :precalculated_tax_config
1162
+
1163
+ sig do
1164
+ params(
1165
+ precalculated_tax_config:
1166
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash
1167
+ ).void
1168
+ end
1169
+ attr_writer :precalculated_tax_config
1170
+
1171
+ # Only applicable if using STRIPE as your payment gate type.
983
1172
  sig do
984
1173
  returns(
985
1174
  T.nilable(
@@ -1021,6 +1210,8 @@ module MetronomeSDK
1021
1210
  params(
1022
1211
  payment_gate_type:
1023
1212
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::OrSymbol,
1213
+ precalculated_tax_config:
1214
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash,
1024
1215
  stripe_config:
1025
1216
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash,
1026
1217
  tax_type:
@@ -1033,7 +1224,9 @@ module MetronomeSDK
1033
1224
  # facilitate payment using your own payment integration. Select NONE if you do not
1034
1225
  # wish to payment gate the commit balance.
1035
1226
  payment_gate_type:,
1036
- # Only applicable if using Stripe as your payment gateway through Metronome.
1227
+ # Only applicable if using PRECALCULATED as your tax type.
1228
+ precalculated_tax_config: nil,
1229
+ # Only applicable if using STRIPE as your payment gate type.
1037
1230
  stripe_config: nil,
1038
1231
  # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1039
1232
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
@@ -1047,6 +1240,8 @@ module MetronomeSDK
1047
1240
  {
1048
1241
  payment_gate_type:
1049
1242
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol,
1243
+ precalculated_tax_config:
1244
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1050
1245
  stripe_config:
1051
1246
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
1052
1247
  tax_type:
@@ -1100,6 +1295,51 @@ module MetronomeSDK
1100
1295
  end
1101
1296
  end
1102
1297
 
1298
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
1299
+ OrHash =
1300
+ T.type_alias do
1301
+ T.any(
1302
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1303
+ MetronomeSDK::Internal::AnyHash
1304
+ )
1305
+ end
1306
+
1307
+ # Amount of tax to be applied. This should be in the same currency and
1308
+ # denomination as the commit's invoice schedule
1309
+ sig { returns(Float) }
1310
+ attr_accessor :tax_amount
1311
+
1312
+ # Name of the tax to be applied. This may be used in an invoice line item
1313
+ # description.
1314
+ sig { returns(T.nilable(String)) }
1315
+ attr_reader :tax_name
1316
+
1317
+ sig { params(tax_name: String).void }
1318
+ attr_writer :tax_name
1319
+
1320
+ # Only applicable if using PRECALCULATED as your tax type.
1321
+ sig do
1322
+ params(tax_amount: Float, tax_name: String).returns(
1323
+ T.attached_class
1324
+ )
1325
+ end
1326
+ def self.new(
1327
+ # Amount of tax to be applied. This should be in the same currency and
1328
+ # denomination as the commit's invoice schedule
1329
+ tax_amount:,
1330
+ # Name of the tax to be applied. This may be used in an invoice line item
1331
+ # description.
1332
+ tax_name: nil
1333
+ )
1334
+ end
1335
+
1336
+ sig do
1337
+ override.returns({ tax_amount: Float, tax_name: String })
1338
+ end
1339
+ def to_hash
1340
+ end
1341
+ end
1342
+
1103
1343
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1104
1344
  OrHash =
1105
1345
  T.type_alias do
@@ -1117,16 +1357,28 @@ module MetronomeSDK
1117
1357
  end
1118
1358
  attr_accessor :payment_type
1119
1359
 
1120
- # Only applicable if using Stripe as your payment gateway through Metronome.
1360
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1361
+ # your payment type.
1362
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1363
+ attr_reader :invoice_metadata
1364
+
1365
+ sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
1366
+ attr_writer :invoice_metadata
1367
+
1368
+ # Only applicable if using STRIPE as your payment gate type.
1121
1369
  sig do
1122
1370
  params(
1123
1371
  payment_type:
1124
- MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
1372
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
1373
+ invoice_metadata: T::Hash[Symbol, String]
1125
1374
  ).returns(T.attached_class)
1126
1375
  end
1127
1376
  def self.new(
1128
1377
  # If left blank, will default to INVOICE
1129
- payment_type:
1378
+ payment_type:,
1379
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1380
+ # your payment type.
1381
+ invoice_metadata: nil
1130
1382
  )
1131
1383
  end
1132
1384
 
@@ -1134,7 +1386,8 @@ module MetronomeSDK
1134
1386
  override.returns(
1135
1387
  {
1136
1388
  payment_type:
1137
- MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1389
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol,
1390
+ invoice_metadata: T::Hash[Symbol, String]
1138
1391
  }
1139
1392
  )
1140
1393
  end
@@ -1202,6 +1455,16 @@ module MetronomeSDK
1202
1455
  :STRIPE,
1203
1456
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1204
1457
  )
1458
+ ANROK =
1459
+ T.let(
1460
+ :ANROK,
1461
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1462
+ )
1463
+ PRECALCULATED =
1464
+ T.let(
1465
+ :PRECALCULATED,
1466
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1467
+ )
1205
1468
 
1206
1469
  sig do
1207
1470
  override.returns(
@@ -1413,7 +1676,25 @@ module MetronomeSDK
1413
1676
  end
1414
1677
  attr_accessor :payment_gate_type
1415
1678
 
1416
- # Only applicable if using Stripe as your payment gateway through Metronome.
1679
+ # Only applicable if using PRECALCULATED as your tax type.
1680
+ sig do
1681
+ returns(
1682
+ T.nilable(
1683
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
1684
+ )
1685
+ )
1686
+ end
1687
+ attr_reader :precalculated_tax_config
1688
+
1689
+ sig do
1690
+ params(
1691
+ precalculated_tax_config:
1692
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash
1693
+ ).void
1694
+ end
1695
+ attr_writer :precalculated_tax_config
1696
+
1697
+ # Only applicable if using STRIPE as your payment gate type.
1417
1698
  sig do
1418
1699
  returns(
1419
1700
  T.nilable(
@@ -1455,6 +1736,8 @@ module MetronomeSDK
1455
1736
  params(
1456
1737
  payment_gate_type:
1457
1738
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::OrSymbol,
1739
+ precalculated_tax_config:
1740
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash,
1458
1741
  stripe_config:
1459
1742
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash,
1460
1743
  tax_type:
@@ -1467,7 +1750,9 @@ module MetronomeSDK
1467
1750
  # facilitate payment using your own payment integration. Select NONE if you do not
1468
1751
  # wish to payment gate the commit balance.
1469
1752
  payment_gate_type:,
1470
- # Only applicable if using Stripe as your payment gateway through Metronome.
1753
+ # Only applicable if using PRECALCULATED as your tax type.
1754
+ precalculated_tax_config: nil,
1755
+ # Only applicable if using STRIPE as your payment gate type.
1471
1756
  stripe_config: nil,
1472
1757
  # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1473
1758
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
@@ -1481,6 +1766,8 @@ module MetronomeSDK
1481
1766
  {
1482
1767
  payment_gate_type:
1483
1768
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol,
1769
+ precalculated_tax_config:
1770
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1484
1771
  stripe_config:
1485
1772
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
1486
1773
  tax_type:
@@ -1534,6 +1821,51 @@ module MetronomeSDK
1534
1821
  end
1535
1822
  end
1536
1823
 
1824
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
1825
+ OrHash =
1826
+ T.type_alias do
1827
+ T.any(
1828
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1829
+ MetronomeSDK::Internal::AnyHash
1830
+ )
1831
+ end
1832
+
1833
+ # Amount of tax to be applied. This should be in the same currency and
1834
+ # denomination as the commit's invoice schedule
1835
+ sig { returns(Float) }
1836
+ attr_accessor :tax_amount
1837
+
1838
+ # Name of the tax to be applied. This may be used in an invoice line item
1839
+ # description.
1840
+ sig { returns(T.nilable(String)) }
1841
+ attr_reader :tax_name
1842
+
1843
+ sig { params(tax_name: String).void }
1844
+ attr_writer :tax_name
1845
+
1846
+ # Only applicable if using PRECALCULATED as your tax type.
1847
+ sig do
1848
+ params(tax_amount: Float, tax_name: String).returns(
1849
+ T.attached_class
1850
+ )
1851
+ end
1852
+ def self.new(
1853
+ # Amount of tax to be applied. This should be in the same currency and
1854
+ # denomination as the commit's invoice schedule
1855
+ tax_amount:,
1856
+ # Name of the tax to be applied. This may be used in an invoice line item
1857
+ # description.
1858
+ tax_name: nil
1859
+ )
1860
+ end
1861
+
1862
+ sig do
1863
+ override.returns({ tax_amount: Float, tax_name: String })
1864
+ end
1865
+ def to_hash
1866
+ end
1867
+ end
1868
+
1537
1869
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1538
1870
  OrHash =
1539
1871
  T.type_alias do
@@ -1551,16 +1883,28 @@ module MetronomeSDK
1551
1883
  end
1552
1884
  attr_accessor :payment_type
1553
1885
 
1554
- # Only applicable if using Stripe as your payment gateway through Metronome.
1886
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1887
+ # your payment type.
1888
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1889
+ attr_reader :invoice_metadata
1890
+
1891
+ sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
1892
+ attr_writer :invoice_metadata
1893
+
1894
+ # Only applicable if using STRIPE as your payment gate type.
1555
1895
  sig do
1556
1896
  params(
1557
1897
  payment_type:
1558
- MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
1898
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
1899
+ invoice_metadata: T::Hash[Symbol, String]
1559
1900
  ).returns(T.attached_class)
1560
1901
  end
1561
1902
  def self.new(
1562
1903
  # If left blank, will default to INVOICE
1563
- payment_type:
1904
+ payment_type:,
1905
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1906
+ # your payment type.
1907
+ invoice_metadata: nil
1564
1908
  )
1565
1909
  end
1566
1910
 
@@ -1568,7 +1912,8 @@ module MetronomeSDK
1568
1912
  override.returns(
1569
1913
  {
1570
1914
  payment_type:
1571
- MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1915
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol,
1916
+ invoice_metadata: T::Hash[Symbol, String]
1572
1917
  }
1573
1918
  )
1574
1919
  end
@@ -1636,6 +1981,16 @@ module MetronomeSDK
1636
1981
  :STRIPE,
1637
1982
  MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1638
1983
  )
1984
+ ANROK =
1985
+ T.let(
1986
+ :ANROK,
1987
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1988
+ )
1989
+ PRECALCULATED =
1990
+ T.let(
1991
+ :PRECALCULATED,
1992
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1993
+ )
1639
1994
 
1640
1995
  sig do
1641
1996
  override.returns(
@@ -1649,6 +2004,443 @@ module MetronomeSDK
1649
2004
  end
1650
2005
  end
1651
2006
  end
2007
+
2008
+ class Subscription < MetronomeSDK::Internal::Type::BaseModel
2009
+ OrHash =
2010
+ T.type_alias do
2011
+ T.any(
2012
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription,
2013
+ MetronomeSDK::Internal::AnyHash
2014
+ )
2015
+ end
2016
+
2017
+ sig do
2018
+ returns(
2019
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::CollectionSchedule::TaggedSymbol
2020
+ )
2021
+ end
2022
+ attr_accessor :collection_schedule
2023
+
2024
+ sig do
2025
+ returns(
2026
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::Proration
2027
+ )
2028
+ end
2029
+ attr_reader :proration
2030
+
2031
+ sig do
2032
+ params(
2033
+ proration:
2034
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::Proration::OrHash
2035
+ ).void
2036
+ end
2037
+ attr_writer :proration
2038
+
2039
+ # List of quantity schedule items for the subscription. Only includes the current
2040
+ # quantity and future quantity changes.
2041
+ sig do
2042
+ returns(
2043
+ T::Array[
2044
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::QuantitySchedule
2045
+ ]
2046
+ )
2047
+ end
2048
+ attr_accessor :quantity_schedule
2049
+
2050
+ sig { returns(Time) }
2051
+ attr_accessor :starting_at
2052
+
2053
+ sig do
2054
+ returns(
2055
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate
2056
+ )
2057
+ end
2058
+ attr_reader :subscription_rate
2059
+
2060
+ sig do
2061
+ params(
2062
+ subscription_rate:
2063
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::OrHash
2064
+ ).void
2065
+ end
2066
+ attr_writer :subscription_rate
2067
+
2068
+ sig { returns(T.nilable(String)) }
2069
+ attr_reader :id
2070
+
2071
+ sig { params(id: String).void }
2072
+ attr_writer :id
2073
+
2074
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2075
+ attr_reader :custom_fields
2076
+
2077
+ sig { params(custom_fields: T::Hash[Symbol, String]).void }
2078
+ attr_writer :custom_fields
2079
+
2080
+ sig { returns(T.nilable(String)) }
2081
+ attr_reader :description
2082
+
2083
+ sig { params(description: String).void }
2084
+ attr_writer :description
2085
+
2086
+ sig { returns(T.nilable(Time)) }
2087
+ attr_reader :ending_before
2088
+
2089
+ sig { params(ending_before: Time).void }
2090
+ attr_writer :ending_before
2091
+
2092
+ sig { returns(T.nilable(String)) }
2093
+ attr_reader :fiat_credit_type_id
2094
+
2095
+ sig { params(fiat_credit_type_id: String).void }
2096
+ attr_writer :fiat_credit_type_id
2097
+
2098
+ sig { returns(T.nilable(String)) }
2099
+ attr_reader :name
2100
+
2101
+ sig { params(name: String).void }
2102
+ attr_writer :name
2103
+
2104
+ sig do
2105
+ params(
2106
+ collection_schedule:
2107
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::CollectionSchedule::OrSymbol,
2108
+ proration:
2109
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::Proration::OrHash,
2110
+ quantity_schedule:
2111
+ T::Array[
2112
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::QuantitySchedule::OrHash
2113
+ ],
2114
+ starting_at: Time,
2115
+ subscription_rate:
2116
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::OrHash,
2117
+ id: String,
2118
+ custom_fields: T::Hash[Symbol, String],
2119
+ description: String,
2120
+ ending_before: Time,
2121
+ fiat_credit_type_id: String,
2122
+ name: String
2123
+ ).returns(T.attached_class)
2124
+ end
2125
+ def self.new(
2126
+ collection_schedule:,
2127
+ proration:,
2128
+ # List of quantity schedule items for the subscription. Only includes the current
2129
+ # quantity and future quantity changes.
2130
+ quantity_schedule:,
2131
+ starting_at:,
2132
+ subscription_rate:,
2133
+ id: nil,
2134
+ custom_fields: nil,
2135
+ description: nil,
2136
+ ending_before: nil,
2137
+ fiat_credit_type_id: nil,
2138
+ name: nil
2139
+ )
2140
+ end
2141
+
2142
+ sig do
2143
+ override.returns(
2144
+ {
2145
+ collection_schedule:
2146
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::CollectionSchedule::TaggedSymbol,
2147
+ proration:
2148
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::Proration,
2149
+ quantity_schedule:
2150
+ T::Array[
2151
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::QuantitySchedule
2152
+ ],
2153
+ starting_at: Time,
2154
+ subscription_rate:
2155
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate,
2156
+ id: String,
2157
+ custom_fields: T::Hash[Symbol, String],
2158
+ description: String,
2159
+ ending_before: Time,
2160
+ fiat_credit_type_id: String,
2161
+ name: String
2162
+ }
2163
+ )
2164
+ end
2165
+ def to_hash
2166
+ end
2167
+
2168
+ module CollectionSchedule
2169
+ extend MetronomeSDK::Internal::Type::Enum
2170
+
2171
+ TaggedSymbol =
2172
+ T.type_alias do
2173
+ T.all(
2174
+ Symbol,
2175
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::CollectionSchedule
2176
+ )
2177
+ end
2178
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2179
+
2180
+ ADVANCE =
2181
+ T.let(
2182
+ :ADVANCE,
2183
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::CollectionSchedule::TaggedSymbol
2184
+ )
2185
+ ARREARS =
2186
+ T.let(
2187
+ :ARREARS,
2188
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::CollectionSchedule::TaggedSymbol
2189
+ )
2190
+
2191
+ sig do
2192
+ override.returns(
2193
+ T::Array[
2194
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::CollectionSchedule::TaggedSymbol
2195
+ ]
2196
+ )
2197
+ end
2198
+ def self.values
2199
+ end
2200
+ end
2201
+
2202
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
2203
+ OrHash =
2204
+ T.type_alias do
2205
+ T.any(
2206
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::Proration,
2207
+ MetronomeSDK::Internal::AnyHash
2208
+ )
2209
+ end
2210
+
2211
+ sig do
2212
+ returns(
2213
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::Proration::InvoiceBehavior::TaggedSymbol
2214
+ )
2215
+ end
2216
+ attr_accessor :invoice_behavior
2217
+
2218
+ sig { returns(T::Boolean) }
2219
+ attr_accessor :is_prorated
2220
+
2221
+ sig do
2222
+ params(
2223
+ invoice_behavior:
2224
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::Proration::InvoiceBehavior::OrSymbol,
2225
+ is_prorated: T::Boolean
2226
+ ).returns(T.attached_class)
2227
+ end
2228
+ def self.new(invoice_behavior:, is_prorated:)
2229
+ end
2230
+
2231
+ sig do
2232
+ override.returns(
2233
+ {
2234
+ invoice_behavior:
2235
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::Proration::InvoiceBehavior::TaggedSymbol,
2236
+ is_prorated: T::Boolean
2237
+ }
2238
+ )
2239
+ end
2240
+ def to_hash
2241
+ end
2242
+
2243
+ module InvoiceBehavior
2244
+ extend MetronomeSDK::Internal::Type::Enum
2245
+
2246
+ TaggedSymbol =
2247
+ T.type_alias do
2248
+ T.all(
2249
+ Symbol,
2250
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::Proration::InvoiceBehavior
2251
+ )
2252
+ end
2253
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2254
+
2255
+ BILL_IMMEDIATELY =
2256
+ T.let(
2257
+ :BILL_IMMEDIATELY,
2258
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::Proration::InvoiceBehavior::TaggedSymbol
2259
+ )
2260
+ BILL_ON_NEXT_COLLECTION_DATE =
2261
+ T.let(
2262
+ :BILL_ON_NEXT_COLLECTION_DATE,
2263
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::Proration::InvoiceBehavior::TaggedSymbol
2264
+ )
2265
+
2266
+ sig do
2267
+ override.returns(
2268
+ T::Array[
2269
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::Proration::InvoiceBehavior::TaggedSymbol
2270
+ ]
2271
+ )
2272
+ end
2273
+ def self.values
2274
+ end
2275
+ end
2276
+ end
2277
+
2278
+ class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
2279
+ OrHash =
2280
+ T.type_alias do
2281
+ T.any(
2282
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::QuantitySchedule,
2283
+ MetronomeSDK::Internal::AnyHash
2284
+ )
2285
+ end
2286
+
2287
+ sig { returns(Float) }
2288
+ attr_accessor :quantity
2289
+
2290
+ sig { returns(Time) }
2291
+ attr_accessor :starting_at
2292
+
2293
+ sig { returns(T.nilable(Time)) }
2294
+ attr_reader :ending_before
2295
+
2296
+ sig { params(ending_before: Time).void }
2297
+ attr_writer :ending_before
2298
+
2299
+ sig do
2300
+ params(
2301
+ quantity: Float,
2302
+ starting_at: Time,
2303
+ ending_before: Time
2304
+ ).returns(T.attached_class)
2305
+ end
2306
+ def self.new(quantity:, starting_at:, ending_before: nil)
2307
+ end
2308
+
2309
+ sig do
2310
+ override.returns(
2311
+ { quantity: Float, starting_at: Time, ending_before: Time }
2312
+ )
2313
+ end
2314
+ def to_hash
2315
+ end
2316
+ end
2317
+
2318
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
2319
+ OrHash =
2320
+ T.type_alias do
2321
+ T.any(
2322
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate,
2323
+ MetronomeSDK::Internal::AnyHash
2324
+ )
2325
+ end
2326
+
2327
+ sig do
2328
+ returns(
2329
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
2330
+ )
2331
+ end
2332
+ attr_accessor :billing_frequency
2333
+
2334
+ sig do
2335
+ returns(
2336
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::Product
2337
+ )
2338
+ end
2339
+ attr_reader :product
2340
+
2341
+ sig do
2342
+ params(
2343
+ product:
2344
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::Product::OrHash
2345
+ ).void
2346
+ end
2347
+ attr_writer :product
2348
+
2349
+ sig do
2350
+ params(
2351
+ billing_frequency:
2352
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::BillingFrequency::OrSymbol,
2353
+ product:
2354
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::Product::OrHash
2355
+ ).returns(T.attached_class)
2356
+ end
2357
+ def self.new(billing_frequency:, product:)
2358
+ end
2359
+
2360
+ sig do
2361
+ override.returns(
2362
+ {
2363
+ billing_frequency:
2364
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol,
2365
+ product:
2366
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::Product
2367
+ }
2368
+ )
2369
+ end
2370
+ def to_hash
2371
+ end
2372
+
2373
+ module BillingFrequency
2374
+ extend MetronomeSDK::Internal::Type::Enum
2375
+
2376
+ TaggedSymbol =
2377
+ T.type_alias do
2378
+ T.all(
2379
+ Symbol,
2380
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::BillingFrequency
2381
+ )
2382
+ end
2383
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2384
+
2385
+ MONTHLY =
2386
+ T.let(
2387
+ :MONTHLY,
2388
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
2389
+ )
2390
+ QUARTERLY =
2391
+ T.let(
2392
+ :QUARTERLY,
2393
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
2394
+ )
2395
+ ANNUAL =
2396
+ T.let(
2397
+ :ANNUAL,
2398
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
2399
+ )
2400
+ WEEKLY =
2401
+ T.let(
2402
+ :WEEKLY,
2403
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
2404
+ )
2405
+
2406
+ sig do
2407
+ override.returns(
2408
+ T::Array[
2409
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
2410
+ ]
2411
+ )
2412
+ end
2413
+ def self.values
2414
+ end
2415
+ end
2416
+
2417
+ class Product < MetronomeSDK::Internal::Type::BaseModel
2418
+ OrHash =
2419
+ T.type_alias do
2420
+ T.any(
2421
+ MetronomeSDK::Models::V1::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::Product,
2422
+ MetronomeSDK::Internal::AnyHash
2423
+ )
2424
+ end
2425
+
2426
+ sig { returns(String) }
2427
+ attr_accessor :id
2428
+
2429
+ sig { returns(String) }
2430
+ attr_accessor :name
2431
+
2432
+ sig do
2433
+ params(id: String, name: String).returns(T.attached_class)
2434
+ end
2435
+ def self.new(id:, name:)
2436
+ end
2437
+
2438
+ sig { override.returns({ id: String, name: String }) }
2439
+ def to_hash
2440
+ end
2441
+ end
2442
+ end
2443
+ end
1652
2444
  end
1653
2445
  end
1654
2446
  end