metronome-sdk 0.3.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +91 -0
  3. data/README.md +9 -9
  4. data/lib/metronome_sdk/errors.rb +25 -11
  5. data/lib/metronome_sdk/file_part.rb +10 -7
  6. data/lib/metronome_sdk/internal/body_cursor_page.rb +86 -0
  7. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  8. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +86 -0
  9. data/lib/metronome_sdk/internal/transport/base_client.rb +12 -11
  10. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +8 -19
  11. data/lib/metronome_sdk/internal/type/base_model.rb +6 -13
  12. data/lib/metronome_sdk/internal/type/base_page.rb +1 -1
  13. data/lib/metronome_sdk/internal/type/enum.rb +25 -0
  14. data/lib/metronome_sdk/internal/type/file_input.rb +7 -4
  15. data/lib/metronome_sdk/internal/type/union.rb +11 -0
  16. data/lib/metronome_sdk/internal/util.rb +9 -8
  17. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  18. data/lib/metronome_sdk/models/commit.rb +26 -170
  19. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  20. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  21. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  22. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  23. data/lib/metronome_sdk/models/contract.rb +404 -0
  24. data/lib/metronome_sdk/models/contract_v2.rb +3169 -0
  25. data/lib/metronome_sdk/models/contract_without_amendments.rb +38 -1128
  26. data/lib/metronome_sdk/models/credit.rb +9 -156
  27. data/lib/metronome_sdk/models/discount.rb +2 -1
  28. data/lib/metronome_sdk/models/hierarchy_configuration.rb +173 -0
  29. data/lib/metronome_sdk/models/override.rb +6 -101
  30. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  31. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  32. data/lib/metronome_sdk/models/payment_gate_config.rb +150 -0
  33. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +150 -0
  34. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  35. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  36. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  37. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  38. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  39. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  40. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  41. data/lib/metronome_sdk/models/subscription.rb +311 -0
  42. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  43. data/lib/metronome_sdk/models/v1/alert_archive_params.rb +8 -4
  44. data/lib/metronome_sdk/models/v1/alert_create_params.rb +42 -42
  45. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  46. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  47. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  48. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +58 -411
  49. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  50. data/lib/metronome_sdk/models/v1/contract_create_params.rb +315 -1459
  51. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  52. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  53. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  54. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  55. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  56. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  57. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +2 -1
  58. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  59. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  60. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  61. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  62. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  63. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  64. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  65. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  67. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  68. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  69. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  70. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  71. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  73. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  74. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  75. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  76. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  77. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  78. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  79. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  80. data/lib/metronome_sdk/models/v1/customer_detail.rb +11 -2
  81. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  82. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +6 -18
  83. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +3 -3
  84. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  85. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  86. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  87. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +4 -6
  88. data/lib/metronome_sdk/models/v1/customers/alert_reset_params.rb +2 -2
  89. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +37 -8
  90. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  91. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  92. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +10 -60
  93. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  94. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +48 -54
  95. data/lib/metronome_sdk/models/v1/customers/invoice.rb +197 -66
  96. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  97. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rb +30 -0
  98. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  99. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  100. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  101. data/lib/metronome_sdk/models/v1/payment.rb +151 -0
  102. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +28 -0
  103. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +18 -0
  104. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +28 -0
  105. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +18 -0
  106. data/lib/metronome_sdk/models/v1/payment_list_params.rb +53 -0
  107. data/lib/metronome_sdk/models/v1/payment_status.rb +19 -0
  108. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  109. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  110. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  111. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  112. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  113. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  114. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  115. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  116. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +37 -58
  117. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +34 -49
  118. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +552 -2265
  119. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +417 -2317
  120. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  121. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  122. data/lib/metronome_sdk/models.rb +38 -0
  123. data/lib/metronome_sdk/resources/v1/alerts.rb +90 -16
  124. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  125. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  126. data/lib/metronome_sdk/resources/v1/contracts/products.rb +25 -6
  127. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  128. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  129. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  130. data/lib/metronome_sdk/resources/v1/contracts.rb +255 -18
  131. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  132. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  133. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +127 -13
  134. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  135. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  136. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +179 -8
  137. data/lib/metronome_sdk/resources/v1/customers.rb +175 -15
  138. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  139. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  140. data/lib/metronome_sdk/resources/v1/payments.rb +102 -0
  141. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  142. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  143. data/lib/metronome_sdk/resources/v1/usage.rb +188 -13
  144. data/lib/metronome_sdk/resources/v1.rb +4 -0
  145. data/lib/metronome_sdk/resources/v2/contracts.rb +120 -18
  146. data/lib/metronome_sdk/version.rb +1 -1
  147. data/lib/metronome_sdk.rb +33 -3
  148. data/rbi/metronome_sdk/errors.rbi +31 -4
  149. data/rbi/metronome_sdk/file_part.rbi +1 -1
  150. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  151. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  152. data/rbi/metronome_sdk/internal/transport/base_client.rbi +4 -5
  153. data/rbi/metronome_sdk/internal/type/base_page.rbi +1 -1
  154. data/rbi/metronome_sdk/internal/util.rbi +1 -1
  155. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  156. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  157. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  158. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  159. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  160. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  161. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  162. data/rbi/metronome_sdk/models/contract_v2.rbi +6415 -0
  163. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +186 -2509
  164. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  165. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  166. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +424 -0
  167. data/rbi/metronome_sdk/models/override.rbi +8 -193
  168. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  169. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  170. data/rbi/metronome_sdk/models/payment_gate_config.rbi +317 -0
  171. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +326 -0
  172. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  173. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  174. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  175. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  176. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  177. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  178. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  179. data/rbi/metronome_sdk/models/subscription.rbi +635 -0
  180. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  181. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +6 -4
  182. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +57 -50
  183. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  184. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  185. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +49 -768
  186. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  187. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1843 -4119
  188. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  189. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  190. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  191. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  192. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +2 -0
  193. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  194. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  195. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  196. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  197. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  198. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  199. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  203. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  204. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  205. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  206. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  207. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  208. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  209. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +10 -0
  210. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  211. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +6 -21
  212. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +10 -9
  213. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  214. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  215. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  216. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +4 -4
  217. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +2 -2
  218. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +68 -8
  219. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  220. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  221. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +6 -90
  222. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  223. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +54 -47
  224. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +316 -68
  225. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbi +50 -0
  226. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  227. data/rbi/metronome_sdk/models/v1/payment.rbi +316 -0
  228. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +48 -0
  229. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +35 -0
  230. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +48 -0
  231. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +35 -0
  232. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +91 -0
  233. data/rbi/metronome_sdk/models/v1/payment_status.rbi +33 -0
  234. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  235. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  236. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  237. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  238. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  239. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  240. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +74 -76
  241. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +74 -76
  242. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3875 -7234
  243. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1733 -6207
  244. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  245. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  246. data/rbi/metronome_sdk/models.rbi +44 -0
  247. data/rbi/metronome_sdk/resources/v1/alerts.rbi +101 -27
  248. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  249. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  250. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +25 -5
  251. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  252. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  253. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  254. data/rbi/metronome_sdk/resources/v1/contracts.rbi +258 -16
  255. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  256. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  257. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +133 -11
  258. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  259. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  260. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +159 -7
  261. data/rbi/metronome_sdk/resources/v1/customers.rbi +162 -14
  262. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  263. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  264. data/rbi/metronome_sdk/resources/v1/payments.rbi +72 -0
  265. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  266. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  267. data/rbi/metronome_sdk/resources/v1/usage.rbi +191 -13
  268. data/rbi/metronome_sdk/resources/v1.rbi +3 -0
  269. data/rbi/metronome_sdk/resources/v2/contracts.rbi +134 -23
  270. data/sig/metronome_sdk/errors.rbs +7 -0
  271. data/sig/metronome_sdk/file_part.rbs +1 -1
  272. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  273. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  274. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  275. data/sig/metronome_sdk/models/commit.rbs +17 -170
  276. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  277. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  278. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  279. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  280. data/sig/metronome_sdk/models/contract.rbs +398 -0
  281. data/sig/metronome_sdk/models/contract_v2.rbs +3108 -0
  282. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  283. data/sig/metronome_sdk/models/credit.rbs +12 -170
  284. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +152 -0
  285. data/sig/metronome_sdk/models/override.rbs +12 -101
  286. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  287. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  288. data/sig/metronome_sdk/models/payment_gate_config.rbs +124 -0
  289. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +124 -0
  290. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  291. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  292. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  293. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  294. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  295. data/sig/metronome_sdk/models/subscription.rbs +295 -0
  296. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  297. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  298. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +26 -341
  299. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +219 -1184
  300. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  301. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  302. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  303. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  304. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  305. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  306. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  307. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  308. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  309. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  310. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  311. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  312. data/sig/metronome_sdk/models/v1/customer_detail.rbs +5 -0
  313. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +0 -7
  314. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +6 -4
  315. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  316. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  317. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  318. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  319. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  320. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  321. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +6 -50
  322. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  323. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  324. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +137 -24
  325. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbs +32 -0
  326. data/sig/metronome_sdk/models/v1/payment.rbs +191 -0
  327. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +30 -0
  328. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +15 -0
  329. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +30 -0
  330. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +15 -0
  331. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +56 -0
  332. data/sig/metronome_sdk/models/v1/payment_status.rbs +19 -0
  333. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  334. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +28 -43
  335. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +28 -43
  336. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +412 -1793
  337. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +342 -2149
  338. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  339. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  340. data/sig/metronome_sdk/models.rbs +38 -0
  341. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  342. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  343. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  344. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  345. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  346. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  347. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  348. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +6 -0
  349. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  350. data/sig/metronome_sdk/resources/v1/payments.rbs +30 -0
  351. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  352. data/sig/metronome_sdk/resources/v1.rbs +2 -0
  353. data/sig/metronome_sdk/resources/v2/contracts.rbs +10 -4
  354. metadata +101 -11
  355. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  356. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  357. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  358. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  359. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  360. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  361. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  362. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  363. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -16,7 +16,7 @@ module MetronomeSDK
16
16
  )
17
17
  end
18
18
 
19
- # The Metronome ID of the alert
19
+ # The Metronome ID of the threshold notification
20
20
  sig { returns(String) }
21
21
  attr_accessor :alert_id
22
22
 
@@ -24,8 +24,31 @@ module MetronomeSDK
24
24
  sig { returns(String) }
25
25
  attr_accessor :customer_id
26
26
 
27
- # When parallel alerts are enabled during migration, this flag denotes whether to
28
- # fetch alerts for plans or contracts.
27
+ # Only present for `spend_threshold_reached` notifications. Retrieve the
28
+ # notification for a specific group key-value pair.
29
+ sig do
30
+ returns(
31
+ T.nilable(
32
+ T::Array[
33
+ MetronomeSDK::V1::Customers::AlertRetrieveParams::GroupValue
34
+ ]
35
+ )
36
+ )
37
+ end
38
+ attr_reader :group_values
39
+
40
+ sig do
41
+ params(
42
+ group_values:
43
+ T::Array[
44
+ MetronomeSDK::V1::Customers::AlertRetrieveParams::GroupValue::OrHash
45
+ ]
46
+ ).void
47
+ end
48
+ attr_writer :group_values
49
+
50
+ # When parallel threshold notifications are enabled during migration, this flag
51
+ # denotes whether to fetch notifications for plans or contracts.
29
52
  sig do
30
53
  returns(
31
54
  T.nilable(
@@ -47,18 +70,25 @@ module MetronomeSDK
47
70
  params(
48
71
  alert_id: String,
49
72
  customer_id: String,
73
+ group_values:
74
+ T::Array[
75
+ MetronomeSDK::V1::Customers::AlertRetrieveParams::GroupValue::OrHash
76
+ ],
50
77
  plans_or_contracts:
51
78
  MetronomeSDK::V1::Customers::AlertRetrieveParams::PlansOrContracts::OrSymbol,
52
79
  request_options: MetronomeSDK::RequestOptions::OrHash
53
80
  ).returns(T.attached_class)
54
81
  end
55
82
  def self.new(
56
- # The Metronome ID of the alert
83
+ # The Metronome ID of the threshold notification
57
84
  alert_id:,
58
85
  # The Metronome ID of the customer
59
86
  customer_id:,
60
- # When parallel alerts are enabled during migration, this flag denotes whether to
61
- # fetch alerts for plans or contracts.
87
+ # Only present for `spend_threshold_reached` notifications. Retrieve the
88
+ # notification for a specific group key-value pair.
89
+ group_values: nil,
90
+ # When parallel threshold notifications are enabled during migration, this flag
91
+ # denotes whether to fetch notifications for plans or contracts.
62
92
  plans_or_contracts: nil,
63
93
  request_options: {}
64
94
  )
@@ -69,6 +99,10 @@ module MetronomeSDK
69
99
  {
70
100
  alert_id: String,
71
101
  customer_id: String,
102
+ group_values:
103
+ T::Array[
104
+ MetronomeSDK::V1::Customers::AlertRetrieveParams::GroupValue
105
+ ],
72
106
  plans_or_contracts:
73
107
  MetronomeSDK::V1::Customers::AlertRetrieveParams::PlansOrContracts::OrSymbol,
74
108
  request_options: MetronomeSDK::RequestOptions
@@ -78,8 +112,34 @@ module MetronomeSDK
78
112
  def to_hash
79
113
  end
80
114
 
81
- # When parallel alerts are enabled during migration, this flag denotes whether to
82
- # fetch alerts for plans or contracts.
115
+ class GroupValue < MetronomeSDK::Internal::Type::BaseModel
116
+ OrHash =
117
+ T.type_alias do
118
+ T.any(
119
+ MetronomeSDK::V1::Customers::AlertRetrieveParams::GroupValue,
120
+ MetronomeSDK::Internal::AnyHash
121
+ )
122
+ end
123
+
124
+ sig { returns(String) }
125
+ attr_accessor :key
126
+
127
+ sig { returns(String) }
128
+ attr_accessor :value
129
+
130
+ # Scopes threshold notification evaluation to a specific presentation group key on
131
+ # individual line items. Only present for spend notifications.
132
+ sig { params(key: String, value: String).returns(T.attached_class) }
133
+ def self.new(key:, value:)
134
+ end
135
+
136
+ sig { override.returns({ key: String, value: String }) }
137
+ def to_hash
138
+ end
139
+ end
140
+
141
+ # When parallel threshold notifications are enabled during migration, this flag
142
+ # denotes whether to fetch notifications for plans or contracts.
83
143
  module PlansOrContracts
84
144
  extend MetronomeSDK::Internal::Type::Enum
85
145
 
@@ -352,6 +352,16 @@ module MetronomeSDK
352
352
  :send_invoice,
353
353
  MetronomeSDK::V1::Customers::BillingConfigCreateParams::StripeCollectionMethod::TaggedSymbol
354
354
  )
355
+ AUTO_CHARGE_PAYMENT_INTENT =
356
+ T.let(
357
+ :auto_charge_payment_intent,
358
+ MetronomeSDK::V1::Customers::BillingConfigCreateParams::StripeCollectionMethod::TaggedSymbol
359
+ )
360
+ MANUALLY_CHARGE_PAYMENT_INTENT =
361
+ T.let(
362
+ :manually_charge_payment_intent,
363
+ MetronomeSDK::V1::Customers::BillingConfigCreateParams::StripeCollectionMethod::TaggedSymbol
364
+ )
355
365
 
356
366
  sig do
357
367
  override.returns(
@@ -438,6 +438,16 @@ module MetronomeSDK
438
438
  :send_invoice,
439
439
  MetronomeSDK::Models::V1::Customers::BillingConfigRetrieveResponse::Data::StripeCollectionMethod::TaggedSymbol
440
440
  )
441
+ AUTO_CHARGE_PAYMENT_INTENT =
442
+ T.let(
443
+ :auto_charge_payment_intent,
444
+ MetronomeSDK::Models::V1::Customers::BillingConfigRetrieveResponse::Data::StripeCollectionMethod::TaggedSymbol
445
+ )
446
+ MANUALLY_CHARGE_PAYMENT_INTENT =
447
+ T.let(
448
+ :manually_charge_payment_intent,
449
+ MetronomeSDK::Models::V1::Customers::BillingConfigRetrieveResponse::Data::StripeCollectionMethod::TaggedSymbol
450
+ )
441
451
 
442
452
  sig do
443
453
  override.returns(
@@ -79,6 +79,7 @@ module MetronomeSDK
79
79
  sig { params(applicable_product_tags: T::Array[String]).void }
80
80
  attr_writer :applicable_product_tags
81
81
 
82
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
82
83
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
83
84
  attr_reader :custom_fields
84
85
 
@@ -165,22 +166,13 @@ module MetronomeSDK
165
166
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
166
167
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
167
168
  sig do
168
- returns(
169
- T.nilable(
170
- T::Array[
171
- MetronomeSDK::V1::Customers::CommitCreateParams::Specifier
172
- ]
173
- )
174
- )
169
+ returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput]))
175
170
  end
176
171
  attr_reader :specifiers
177
172
 
178
173
  sig do
179
174
  params(
180
- specifiers:
181
- T::Array[
182
- MetronomeSDK::V1::Customers::CommitCreateParams::Specifier::OrHash
183
- ]
175
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
184
176
  ).void
185
177
  end
186
178
  attr_writer :specifiers
@@ -217,10 +209,7 @@ module MetronomeSDK
217
209
  rate_type:
218
210
  MetronomeSDK::V1::Customers::CommitCreateParams::RateType::OrSymbol,
219
211
  salesforce_opportunity_id: String,
220
- specifiers:
221
- T::Array[
222
- MetronomeSDK::V1::Customers::CommitCreateParams::Specifier::OrHash
223
- ],
212
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash],
224
213
  uniqueness_key: String,
225
214
  request_options: MetronomeSDK::RequestOptions::OrHash
226
215
  ).returns(T.attached_class)
@@ -248,6 +237,7 @@ module MetronomeSDK
248
237
  # applicable_product_tags or specifiers are not provided, the commit applies to
249
238
  # all products.
250
239
  applicable_product_tags: nil,
240
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
251
241
  custom_fields: nil,
252
242
  # Used only in UI/API. It is not exposed to end customers.
253
243
  description: nil,
@@ -304,10 +294,7 @@ module MetronomeSDK
304
294
  rate_type:
305
295
  MetronomeSDK::V1::Customers::CommitCreateParams::RateType::OrSymbol,
306
296
  salesforce_opportunity_id: String,
307
- specifiers:
308
- T::Array[
309
- MetronomeSDK::V1::Customers::CommitCreateParams::Specifier
310
- ],
297
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput],
311
298
  uniqueness_key: String,
312
299
  request_options: MetronomeSDK::RequestOptions
313
300
  }
@@ -879,77 +866,6 @@ module MetronomeSDK
879
866
  def self.values
880
867
  end
881
868
  end
882
-
883
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
884
- OrHash =
885
- T.type_alias do
886
- T.any(
887
- MetronomeSDK::V1::Customers::CommitCreateParams::Specifier,
888
- MetronomeSDK::Internal::AnyHash
889
- )
890
- end
891
-
892
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
893
- attr_reader :presentation_group_values
894
-
895
- sig do
896
- params(presentation_group_values: T::Hash[Symbol, String]).void
897
- end
898
- attr_writer :presentation_group_values
899
-
900
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
901
- attr_reader :pricing_group_values
902
-
903
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
904
- attr_writer :pricing_group_values
905
-
906
- # If provided, the specifier will only apply to the product with the specified ID.
907
- sig { returns(T.nilable(String)) }
908
- attr_reader :product_id
909
-
910
- sig { params(product_id: String).void }
911
- attr_writer :product_id
912
-
913
- # If provided, the specifier will only apply to products with all the specified
914
- # tags.
915
- sig { returns(T.nilable(T::Array[String])) }
916
- attr_reader :product_tags
917
-
918
- sig { params(product_tags: T::Array[String]).void }
919
- attr_writer :product_tags
920
-
921
- sig do
922
- params(
923
- presentation_group_values: T::Hash[Symbol, String],
924
- pricing_group_values: T::Hash[Symbol, String],
925
- product_id: String,
926
- product_tags: T::Array[String]
927
- ).returns(T.attached_class)
928
- end
929
- def self.new(
930
- presentation_group_values: nil,
931
- pricing_group_values: nil,
932
- # If provided, the specifier will only apply to the product with the specified ID.
933
- product_id: nil,
934
- # If provided, the specifier will only apply to products with all the specified
935
- # tags.
936
- product_tags: nil
937
- )
938
- end
939
-
940
- sig do
941
- override.returns(
942
- {
943
- presentation_group_values: T::Hash[Symbol, String],
944
- pricing_group_values: T::Hash[Symbol, String],
945
- product_id: String,
946
- product_tags: T::Array[String]
947
- }
948
- )
949
- end
950
- def to_hash
951
- end
952
- end
953
869
  end
954
870
  end
955
871
  end
@@ -67,6 +67,7 @@ module MetronomeSDK
67
67
  sig { params(applicable_product_tags: T::Array[String]).void }
68
68
  attr_writer :applicable_product_tags
69
69
 
70
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
70
71
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
71
72
  attr_reader :custom_fields
72
73
 
@@ -123,22 +124,13 @@ module MetronomeSDK
123
124
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
124
125
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
125
126
  sig do
126
- returns(
127
- T.nilable(
128
- T::Array[
129
- MetronomeSDK::V1::Customers::CreditCreateParams::Specifier
130
- ]
131
- )
132
- )
127
+ returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput]))
133
128
  end
134
129
  attr_reader :specifiers
135
130
 
136
131
  sig do
137
132
  params(
138
- specifiers:
139
- T::Array[
140
- MetronomeSDK::V1::Customers::CreditCreateParams::Specifier::OrHash
141
- ]
133
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
142
134
  ).void
143
135
  end
144
136
  attr_writer :specifiers
@@ -170,10 +162,7 @@ module MetronomeSDK
170
162
  rate_type:
171
163
  MetronomeSDK::V1::Customers::CreditCreateParams::RateType::OrSymbol,
172
164
  salesforce_opportunity_id: String,
173
- specifiers:
174
- T::Array[
175
- MetronomeSDK::V1::Customers::CreditCreateParams::Specifier::OrHash
176
- ],
165
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash],
177
166
  uniqueness_key: String,
178
167
  request_options: MetronomeSDK::RequestOptions::OrHash
179
168
  ).returns(T.attached_class)
@@ -195,6 +184,7 @@ module MetronomeSDK
195
184
  # Which tags the credit applies to. If both applicable_product_ids and
196
185
  # applicable_product_tags are not provided, the credit applies to all products.
197
186
  applicable_product_tags: nil,
187
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
198
188
  custom_fields: nil,
199
189
  # Used only in UI/API. It is not exposed to end customers.
200
190
  description: nil,
@@ -237,10 +227,7 @@ module MetronomeSDK
237
227
  rate_type:
238
228
  MetronomeSDK::V1::Customers::CreditCreateParams::RateType::OrSymbol,
239
229
  salesforce_opportunity_id: String,
240
- specifiers:
241
- T::Array[
242
- MetronomeSDK::V1::Customers::CreditCreateParams::Specifier
243
- ],
230
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput],
244
231
  uniqueness_key: String,
245
232
  request_options: MetronomeSDK::RequestOptions
246
233
  }
@@ -384,77 +371,6 @@ module MetronomeSDK
384
371
  def self.values
385
372
  end
386
373
  end
387
-
388
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
389
- OrHash =
390
- T.type_alias do
391
- T.any(
392
- MetronomeSDK::V1::Customers::CreditCreateParams::Specifier,
393
- MetronomeSDK::Internal::AnyHash
394
- )
395
- end
396
-
397
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
398
- attr_reader :presentation_group_values
399
-
400
- sig do
401
- params(presentation_group_values: T::Hash[Symbol, String]).void
402
- end
403
- attr_writer :presentation_group_values
404
-
405
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
406
- attr_reader :pricing_group_values
407
-
408
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
409
- attr_writer :pricing_group_values
410
-
411
- # If provided, the specifier will only apply to the product with the specified ID.
412
- sig { returns(T.nilable(String)) }
413
- attr_reader :product_id
414
-
415
- sig { params(product_id: String).void }
416
- attr_writer :product_id
417
-
418
- # If provided, the specifier will only apply to products with all the specified
419
- # tags.
420
- sig { returns(T.nilable(T::Array[String])) }
421
- attr_reader :product_tags
422
-
423
- sig { params(product_tags: T::Array[String]).void }
424
- attr_writer :product_tags
425
-
426
- sig do
427
- params(
428
- presentation_group_values: T::Hash[Symbol, String],
429
- pricing_group_values: T::Hash[Symbol, String],
430
- product_id: String,
431
- product_tags: T::Array[String]
432
- ).returns(T.attached_class)
433
- end
434
- def self.new(
435
- presentation_group_values: nil,
436
- pricing_group_values: nil,
437
- # If provided, the specifier will only apply to the product with the specified ID.
438
- product_id: nil,
439
- # If provided, the specifier will only apply to products with all the specified
440
- # tags.
441
- product_tags: nil
442
- )
443
- end
444
-
445
- sig do
446
- override.returns(
447
- {
448
- presentation_group_values: T::Hash[Symbol, String],
449
- pricing_group_values: T::Hash[Symbol, String],
450
- product_id: String,
451
- product_tags: T::Array[String]
452
- }
453
- )
454
- end
455
- def to_hash
456
- end
457
- end
458
374
  end
459
375
  end
460
376
  end
@@ -25,8 +25,8 @@ module MetronomeSDK
25
25
  end
26
26
  attr_writer :alert
27
27
 
28
- # The status of the customer alert. If the alert is archived, null will be
29
- # returned.
28
+ # The status of the threshold notification. If the notification is archived, null
29
+ # will be returned.
30
30
  sig do
31
31
  returns(
32
32
  T.nilable(
@@ -36,7 +36,7 @@ module MetronomeSDK
36
36
  end
37
37
  attr_accessor :customer_status
38
38
 
39
- # If present, indicates the reason the alert was triggered.
39
+ # If present, indicates the reason the threshold notification was triggered.
40
40
  sig { returns(T.nilable(String)) }
41
41
  attr_accessor :triggered_by
42
42
 
@@ -52,10 +52,10 @@ module MetronomeSDK
52
52
  end
53
53
  def self.new(
54
54
  alert:,
55
- # The status of the customer alert. If the alert is archived, null will be
56
- # returned.
55
+ # The status of the threshold notification. If the notification is archived, null
56
+ # will be returned.
57
57
  customer_status:,
58
- # If present, indicates the reason the alert was triggered.
58
+ # If present, indicates the reason the threshold notification was triggered.
59
59
  triggered_by: nil
60
60
  )
61
61
  end
@@ -84,15 +84,15 @@ module MetronomeSDK
84
84
  )
85
85
  end
86
86
 
87
- # the Metronome ID of the alert
87
+ # the Metronome ID of the threshold notification
88
88
  sig { returns(String) }
89
89
  attr_accessor :id
90
90
 
91
- # Name of the alert
91
+ # Name of the threshold notification
92
92
  sig { returns(String) }
93
93
  attr_accessor :name
94
94
 
95
- # Status of the alert
95
+ # Status of the threshold notification
96
96
  sig do
97
97
  returns(
98
98
  MetronomeSDK::V1::Customers::CustomerAlert::Alert::Status::TaggedSymbol
@@ -100,11 +100,11 @@ module MetronomeSDK
100
100
  end
101
101
  attr_accessor :status
102
102
 
103
- # Threshold value of the alert policy
103
+ # Threshold value of the notification policy
104
104
  sig { returns(Float) }
105
105
  attr_accessor :threshold
106
106
 
107
- # Type of the alert
107
+ # Type of the threshold notification
108
108
  sig do
109
109
  returns(
110
110
  MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type::TaggedSymbol
@@ -112,13 +112,14 @@ module MetronomeSDK
112
112
  end
113
113
  attr_accessor :type
114
114
 
115
- # Timestamp for when the alert was last updated
115
+ # Timestamp for when the threshold notification was last updated
116
116
  sig { returns(Time) }
117
117
  attr_accessor :updated_at
118
118
 
119
- # An array of strings, representing a way to filter the credit grant this alert
120
- # applies to, by looking at the credit_grant_type field on the credit grant. This
121
- # field is only defined for CreditPercentage and CreditBalance alerts
119
+ # An array of strings, representing a way to filter the credit grant this
120
+ # threshold notification applies to, by looking at the credit_grant_type field on
121
+ # the credit grant. This field is only defined for CreditPercentage and
122
+ # CreditBalance notifications
122
123
  sig { returns(T.nilable(T::Array[String])) }
123
124
  attr_reader :credit_grant_type_filters
124
125
 
@@ -135,7 +136,8 @@ module MetronomeSDK
135
136
  end
136
137
  attr_writer :credit_type
137
138
 
138
- # A list of custom field filters for alert types that support advanced filtering
139
+ # A list of custom field filters for notification types that support advanced
140
+ # filtering
139
141
  sig do
140
142
  returns(
141
143
  T.nilable(
@@ -157,8 +159,8 @@ module MetronomeSDK
157
159
  end
158
160
  attr_writer :custom_field_filters
159
161
 
160
- # Scopes alert evaluation to a specific presentation group key on individual line
161
- # items. Only present for spend alerts.
162
+ # Scopes threshold notification evaluation to a specific presentation group key on
163
+ # individual line items. Only present for spend notifications.
162
164
  sig do
163
165
  returns(
164
166
  T.nilable(
@@ -176,8 +178,8 @@ module MetronomeSDK
176
178
  end
177
179
  attr_writer :group_key_filter
178
180
 
179
- # Only present for `spend_threshold_reached` alerts. Scope alert to a specific
180
- # group key on individual line items.
181
+ # Only present for `spend_threshold_reached` notifications. Scope notification to
182
+ # a specific group key on individual line items.
181
183
  sig do
182
184
  returns(
183
185
  T.nilable(
@@ -199,8 +201,8 @@ module MetronomeSDK
199
201
  end
200
202
  attr_writer :group_values
201
203
 
202
- # Only supported for invoice_total_reached alerts. A list of invoice types to
203
- # evaluate.
204
+ # Only supported for invoice_total_reached threshold notifications. A list of
205
+ # invoice types to evaluate.
204
206
  sig { returns(T.nilable(T::Array[String])) }
205
207
  attr_reader :invoice_types_filter
206
208
 
@@ -243,33 +245,35 @@ module MetronomeSDK
243
245
  ).returns(T.attached_class)
244
246
  end
245
247
  def self.new(
246
- # the Metronome ID of the alert
248
+ # the Metronome ID of the threshold notification
247
249
  id:,
248
- # Name of the alert
250
+ # Name of the threshold notification
249
251
  name:,
250
- # Status of the alert
252
+ # Status of the threshold notification
251
253
  status:,
252
- # Threshold value of the alert policy
254
+ # Threshold value of the notification policy
253
255
  threshold:,
254
- # Type of the alert
256
+ # Type of the threshold notification
255
257
  type:,
256
- # Timestamp for when the alert was last updated
258
+ # Timestamp for when the threshold notification was last updated
257
259
  updated_at:,
258
- # An array of strings, representing a way to filter the credit grant this alert
259
- # applies to, by looking at the credit_grant_type field on the credit grant. This
260
- # field is only defined for CreditPercentage and CreditBalance alerts
260
+ # An array of strings, representing a way to filter the credit grant this
261
+ # threshold notification applies to, by looking at the credit_grant_type field on
262
+ # the credit grant. This field is only defined for CreditPercentage and
263
+ # CreditBalance notifications
261
264
  credit_grant_type_filters: nil,
262
265
  credit_type: nil,
263
- # A list of custom field filters for alert types that support advanced filtering
266
+ # A list of custom field filters for notification types that support advanced
267
+ # filtering
264
268
  custom_field_filters: nil,
265
- # Scopes alert evaluation to a specific presentation group key on individual line
266
- # items. Only present for spend alerts.
269
+ # Scopes threshold notification evaluation to a specific presentation group key on
270
+ # individual line items. Only present for spend notifications.
267
271
  group_key_filter: nil,
268
- # Only present for `spend_threshold_reached` alerts. Scope alert to a specific
269
- # group key on individual line items.
272
+ # Only present for `spend_threshold_reached` notifications. Scope notification to
273
+ # a specific group key on individual line items.
270
274
  group_values: nil,
271
- # Only supported for invoice_total_reached alerts. A list of invoice types to
272
- # evaluate.
275
+ # Only supported for invoice_total_reached threshold notifications. A list of
276
+ # invoice types to evaluate.
273
277
  invoice_types_filter: nil,
274
278
  # Prevents the creation of duplicates. If a request to create a record is made
275
279
  # with a previously used uniqueness key, a new record will not be created and the
@@ -309,7 +313,7 @@ module MetronomeSDK
309
313
  def to_hash
310
314
  end
311
315
 
312
- # Status of the alert
316
+ # Status of the threshold notification
313
317
  module Status
314
318
  extend MetronomeSDK::Internal::Type::Enum
315
319
 
@@ -349,7 +353,7 @@ module MetronomeSDK
349
353
  end
350
354
  end
351
355
 
352
- # Type of the alert
356
+ # Type of the threshold notification
353
357
  module Type
354
358
  extend MetronomeSDK::Internal::Type::Enum
355
359
 
@@ -545,8 +549,8 @@ module MetronomeSDK
545
549
  sig { returns(String) }
546
550
  attr_accessor :value
547
551
 
548
- # Scopes alert evaluation to a specific presentation group key on individual line
549
- # items. Only present for spend alerts.
552
+ # Scopes threshold notification evaluation to a specific presentation group key on
553
+ # individual line items. Only present for spend notifications.
550
554
  sig do
551
555
  params(key: String, value: String).returns(T.attached_class)
552
556
  end
@@ -570,13 +574,16 @@ module MetronomeSDK
570
574
  sig { returns(String) }
571
575
  attr_accessor :key
572
576
 
573
- sig { returns(String) }
574
- attr_accessor :value
577
+ sig { returns(T.nilable(String)) }
578
+ attr_reader :value
579
+
580
+ sig { params(value: String).void }
581
+ attr_writer :value
575
582
 
576
583
  sig do
577
584
  params(key: String, value: String).returns(T.attached_class)
578
585
  end
579
- def self.new(key:, value:)
586
+ def self.new(key:, value: nil)
580
587
  end
581
588
 
582
589
  sig { override.returns({ key: String, value: String }) }
@@ -585,8 +592,8 @@ module MetronomeSDK
585
592
  end
586
593
  end
587
594
 
588
- # The status of the customer alert. If the alert is archived, null will be
589
- # returned.
595
+ # The status of the threshold notification. If the notification is archived, null
596
+ # will be returned.
590
597
  module CustomerStatus
591
598
  extend MetronomeSDK::Internal::Type::Enum
592
599