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
@@ -64,6 +64,7 @@ module MetronomeSDK
64
64
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
65
65
 
66
66
  # @!attribute custom_fields
67
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
67
68
  #
68
69
  # @return [Hash{Symbol=>String}, nil]
69
70
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -120,11 +121,8 @@ module MetronomeSDK
120
121
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
121
122
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
122
123
  #
123
- # @return [Array<MetronomeSDK::Models::V1::Customers::CommitCreateParams::Specifier>, nil]
124
- optional :specifiers,
125
- -> {
126
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CommitCreateParams::Specifier]
127
- }
124
+ # @return [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil]
125
+ optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] }
128
126
 
129
127
  # @!attribute uniqueness_key
130
128
  # Prevents the creation of duplicates. If a request to create a commit or credit
@@ -155,7 +153,7 @@ module MetronomeSDK
155
153
  #
156
154
  # @param applicable_product_tags [Array<String>] Which tags the commit applies to. If applicable*product_ids, applicable_product*
157
155
  #
158
- # @param custom_fields [Hash{Symbol=>String}]
156
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
159
157
  #
160
158
  # @param description [String] Used only in UI/API. It is not exposed to end customers.
161
159
  #
@@ -171,7 +169,7 @@ module MetronomeSDK
171
169
  #
172
170
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
173
171
  #
174
- # @param specifiers [Array<MetronomeSDK::Models::V1::Customers::CommitCreateParams::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
172
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifierInput>] List of filters that determine what kind of customer usage draws down a commit o
175
173
  #
176
174
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a commit or credit i
177
175
  #
@@ -182,9 +180,7 @@ module MetronomeSDK
182
180
  #
183
181
  # @return [Array<MetronomeSDK::Models::V1::Customers::CommitCreateParams::AccessSchedule::ScheduleItem>]
184
182
  required :schedule_items,
185
- -> {
186
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CommitCreateParams::AccessSchedule::ScheduleItem]
187
- }
183
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CommitCreateParams::AccessSchedule::ScheduleItem] }
188
184
 
189
185
  # @!attribute credit_type_id
190
186
  # Defaults to USD (cents) if not passed
@@ -258,18 +254,14 @@ module MetronomeSDK
258
254
  #
259
255
  # @return [MetronomeSDK::Models::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule, nil]
260
256
  optional :recurring_schedule,
261
- -> {
262
- MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule
263
- }
257
+ -> { MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule }
264
258
 
265
259
  # @!attribute schedule_items
266
260
  # Either provide amount or provide both unit_price and quantity.
267
261
  #
268
262
  # @return [Array<MetronomeSDK::Models::V1::Customers::CommitCreateParams::InvoiceSchedule::ScheduleItem>, nil]
269
263
  optional :schedule_items,
270
- -> {
271
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::ScheduleItem]
272
- }
264
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::ScheduleItem] }
273
265
 
274
266
  # @!method initialize(credit_type_id: nil, do_not_invoice: nil, recurring_schedule: nil, schedule_items: nil)
275
267
  # Some parameter documentations has been truncated, see
@@ -295,9 +287,7 @@ module MetronomeSDK
295
287
  #
296
288
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::AmountDistribution]
297
289
  required :amount_distribution,
298
- enum: -> {
299
- MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::AmountDistribution
300
- }
290
+ enum: -> { MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::AmountDistribution }
301
291
 
302
292
  # @!attribute ending_before
303
293
  # RFC 3339 timestamp (exclusive).
@@ -309,9 +299,7 @@ module MetronomeSDK
309
299
  #
310
300
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::Frequency]
311
301
  required :frequency,
312
- enum: -> {
313
- MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::Frequency
314
- }
302
+ enum: -> { MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::Frequency }
315
303
 
316
304
  # @!attribute starting_at
317
305
  # RFC 3339 timestamp (inclusive).
@@ -447,44 +435,6 @@ module MetronomeSDK
447
435
  # @!method self.values
448
436
  # @return [Array<Symbol>]
449
437
  end
450
-
451
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
452
- # @!attribute presentation_group_values
453
- #
454
- # @return [Hash{Symbol=>String}, nil]
455
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
456
-
457
- # @!attribute pricing_group_values
458
- #
459
- # @return [Hash{Symbol=>String}, nil]
460
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
461
-
462
- # @!attribute product_id
463
- # If provided, the specifier will only apply to the product with the specified ID.
464
- #
465
- # @return [String, nil]
466
- optional :product_id, String
467
-
468
- # @!attribute product_tags
469
- # If provided, the specifier will only apply to products with all the specified
470
- # tags.
471
- #
472
- # @return [Array<String>, nil]
473
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
474
-
475
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
476
- # Some parameter documentations has been truncated, see
477
- # {MetronomeSDK::Models::V1::Customers::CommitCreateParams::Specifier} for more
478
- # details.
479
- #
480
- # @param presentation_group_values [Hash{Symbol=>String}]
481
- #
482
- # @param pricing_group_values [Hash{Symbol=>String}]
483
- #
484
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
485
- #
486
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
487
- end
488
438
  end
489
439
  end
490
440
  end
@@ -54,6 +54,7 @@ module MetronomeSDK
54
54
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
55
55
 
56
56
  # @!attribute custom_fields
57
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
57
58
  #
58
59
  # @return [Hash{Symbol=>String}, nil]
59
60
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -93,11 +94,8 @@ module MetronomeSDK
93
94
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
94
95
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
95
96
  #
96
- # @return [Array<MetronomeSDK::Models::V1::Customers::CreditCreateParams::Specifier>, nil]
97
- optional :specifiers,
98
- -> {
99
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CreditCreateParams::Specifier]
100
- }
97
+ # @return [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil]
98
+ optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] }
101
99
 
102
100
  # @!attribute uniqueness_key
103
101
  # Prevents the creation of duplicates. If a request to create a commit or credit
@@ -126,7 +124,7 @@ module MetronomeSDK
126
124
  #
127
125
  # @param applicable_product_tags [Array<String>] Which tags the credit applies to. If both applicable*product_ids and applicable*
128
126
  #
129
- # @param custom_fields [Hash{Symbol=>String}]
127
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
130
128
  #
131
129
  # @param description [String] Used only in UI/API. It is not exposed to end customers.
132
130
  #
@@ -138,7 +136,7 @@ module MetronomeSDK
138
136
  #
139
137
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
140
138
  #
141
- # @param specifiers [Array<MetronomeSDK::Models::V1::Customers::CreditCreateParams::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
139
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifierInput>] List of filters that determine what kind of customer usage draws down a commit o
142
140
  #
143
141
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a commit or credit i
144
142
  #
@@ -149,9 +147,7 @@ module MetronomeSDK
149
147
  #
150
148
  # @return [Array<MetronomeSDK::Models::V1::Customers::CreditCreateParams::AccessSchedule::ScheduleItem>]
151
149
  required :schedule_items,
152
- -> {
153
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CreditCreateParams::AccessSchedule::ScheduleItem]
154
- }
150
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CreditCreateParams::AccessSchedule::ScheduleItem] }
155
151
 
156
152
  # @!attribute credit_type_id
157
153
  # Defaults to USD (cents) if not passed
@@ -202,44 +198,6 @@ module MetronomeSDK
202
198
  # @!method self.values
203
199
  # @return [Array<Symbol>]
204
200
  end
205
-
206
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
207
- # @!attribute presentation_group_values
208
- #
209
- # @return [Hash{Symbol=>String}, nil]
210
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
211
-
212
- # @!attribute pricing_group_values
213
- #
214
- # @return [Hash{Symbol=>String}, nil]
215
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
216
-
217
- # @!attribute product_id
218
- # If provided, the specifier will only apply to the product with the specified ID.
219
- #
220
- # @return [String, nil]
221
- optional :product_id, String
222
-
223
- # @!attribute product_tags
224
- # If provided, the specifier will only apply to products with all the specified
225
- # tags.
226
- #
227
- # @return [Array<String>, nil]
228
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
229
-
230
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
231
- # Some parameter documentations has been truncated, see
232
- # {MetronomeSDK::Models::V1::Customers::CreditCreateParams::Specifier} for more
233
- # details.
234
- #
235
- # @param presentation_group_values [Hash{Symbol=>String}]
236
- #
237
- # @param pricing_group_values [Hash{Symbol=>String}]
238
- #
239
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
240
- #
241
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
242
- end
243
201
  end
244
202
  end
245
203
  end
@@ -4,6 +4,7 @@ module MetronomeSDK
4
4
  module Models
5
5
  module V1
6
6
  module Customers
7
+ # @see MetronomeSDK::Resources::V1::Customers::Alerts#list
7
8
  class CustomerAlert < MetronomeSDK::Internal::Type::BaseModel
8
9
  # @!attribute alert
9
10
  #
@@ -11,8 +12,8 @@ module MetronomeSDK
11
12
  required :alert, -> { MetronomeSDK::V1::Customers::CustomerAlert::Alert }
12
13
 
13
14
  # @!attribute customer_status
14
- # The status of the customer alert. If the alert is archived, null will be
15
- # returned.
15
+ # The status of the threshold notification. If the notification is archived, null
16
+ # will be returned.
16
17
  #
17
18
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::CustomerAlert::CustomerStatus, nil]
18
19
  required :customer_status,
@@ -20,7 +21,7 @@ module MetronomeSDK
20
21
  nil?: true
21
22
 
22
23
  # @!attribute triggered_by
23
- # If present, indicates the reason the alert was triggered.
24
+ # If present, indicates the reason the threshold notification was triggered.
24
25
  #
25
26
  # @return [String, nil]
26
27
  optional :triggered_by, String, nil?: true
@@ -31,52 +32,53 @@ module MetronomeSDK
31
32
  #
32
33
  # @param alert [MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert]
33
34
  #
34
- # @param customer_status [Symbol, MetronomeSDK::Models::V1::Customers::CustomerAlert::CustomerStatus, nil] The status of the customer alert. If the alert is archived, null will be returne
35
+ # @param customer_status [Symbol, MetronomeSDK::Models::V1::Customers::CustomerAlert::CustomerStatus, nil] The status of the threshold notification. If the notification is archived, null
35
36
  #
36
- # @param triggered_by [String, nil] If present, indicates the reason the alert was triggered.
37
+ # @param triggered_by [String, nil] If present, indicates the reason the threshold notification was triggered.
37
38
 
38
39
  # @see MetronomeSDK::Models::V1::Customers::CustomerAlert#alert
39
40
  class Alert < MetronomeSDK::Internal::Type::BaseModel
40
41
  # @!attribute id
41
- # the Metronome ID of the alert
42
+ # the Metronome ID of the threshold notification
42
43
  #
43
44
  # @return [String]
44
45
  required :id, String
45
46
 
46
47
  # @!attribute name
47
- # Name of the alert
48
+ # Name of the threshold notification
48
49
  #
49
50
  # @return [String]
50
51
  required :name, String
51
52
 
52
53
  # @!attribute status
53
- # Status of the alert
54
+ # Status of the threshold notification
54
55
  #
55
56
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::Status]
56
57
  required :status, enum: -> { MetronomeSDK::V1::Customers::CustomerAlert::Alert::Status }
57
58
 
58
59
  # @!attribute threshold
59
- # Threshold value of the alert policy
60
+ # Threshold value of the notification policy
60
61
  #
61
62
  # @return [Float]
62
63
  required :threshold, Float
63
64
 
64
65
  # @!attribute type
65
- # Type of the alert
66
+ # Type of the threshold notification
66
67
  #
67
68
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::Type]
68
69
  required :type, enum: -> { MetronomeSDK::V1::Customers::CustomerAlert::Alert::Type }
69
70
 
70
71
  # @!attribute updated_at
71
- # Timestamp for when the alert was last updated
72
+ # Timestamp for when the threshold notification was last updated
72
73
  #
73
74
  # @return [Time]
74
75
  required :updated_at, Time
75
76
 
76
77
  # @!attribute credit_grant_type_filters
77
- # An array of strings, representing a way to filter the credit grant this alert
78
- # applies to, by looking at the credit_grant_type field on the credit grant. This
79
- # field is only defined for CreditPercentage and CreditBalance alerts
78
+ # An array of strings, representing a way to filter the credit grant this
79
+ # threshold notification applies to, by looking at the credit_grant_type field on
80
+ # the credit grant. This field is only defined for CreditPercentage and
81
+ # CreditBalance notifications
80
82
  #
81
83
  # @return [Array<String>, nil]
82
84
  optional :credit_grant_type_filters, MetronomeSDK::Internal::Type::ArrayOf[String]
@@ -87,37 +89,31 @@ module MetronomeSDK
87
89
  optional :credit_type, -> { MetronomeSDK::CreditTypeData }, nil?: true
88
90
 
89
91
  # @!attribute custom_field_filters
90
- # A list of custom field filters for alert types that support advanced filtering
92
+ # A list of custom field filters for notification types that support advanced
93
+ # filtering
91
94
  #
92
95
  # @return [Array<MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::CustomFieldFilter>, nil]
93
96
  optional :custom_field_filters,
94
- -> {
95
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter]
96
- }
97
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter] }
97
98
 
98
99
  # @!attribute group_key_filter
99
- # Scopes alert evaluation to a specific presentation group key on individual line
100
- # items. Only present for spend alerts.
100
+ # Scopes threshold notification evaluation to a specific presentation group key on
101
+ # individual line items. Only present for spend notifications.
101
102
  #
102
103
  # @return [MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::GroupKeyFilter, nil]
103
- optional :group_key_filter,
104
- -> {
105
- MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupKeyFilter
106
- }
104
+ optional :group_key_filter, -> { MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupKeyFilter }
107
105
 
108
106
  # @!attribute group_values
109
- # Only present for `spend_threshold_reached` alerts. Scope alert to a specific
110
- # group key on individual line items.
107
+ # Only present for `spend_threshold_reached` notifications. Scope notification to
108
+ # a specific group key on individual line items.
111
109
  #
112
110
  # @return [Array<MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::GroupValue>, nil]
113
111
  optional :group_values,
114
- -> {
115
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupValue]
116
- }
112
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupValue] }
117
113
 
118
114
  # @!attribute invoice_types_filter
119
- # Only supported for invoice_total_reached alerts. A list of invoice types to
120
- # evaluate.
115
+ # Only supported for invoice_total_reached threshold notifications. A list of
116
+ # invoice types to evaluate.
121
117
  #
122
118
  # @return [Array<String>, nil]
123
119
  optional :invoice_types_filter, MetronomeSDK::Internal::Type::ArrayOf[String]
@@ -134,33 +130,33 @@ module MetronomeSDK
134
130
  # Some parameter documentations has been truncated, see
135
131
  # {MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert} for more details.
136
132
  #
137
- # @param id [String] the Metronome ID of the alert
133
+ # @param id [String] the Metronome ID of the threshold notification
138
134
  #
139
- # @param name [String] Name of the alert
135
+ # @param name [String] Name of the threshold notification
140
136
  #
141
- # @param status [Symbol, MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::Status] Status of the alert
137
+ # @param status [Symbol, MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::Status] Status of the threshold notification
142
138
  #
143
- # @param threshold [Float] Threshold value of the alert policy
139
+ # @param threshold [Float] Threshold value of the notification policy
144
140
  #
145
- # @param type [Symbol, MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::Type] Type of the alert
141
+ # @param type [Symbol, MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::Type] Type of the threshold notification
146
142
  #
147
- # @param updated_at [Time] Timestamp for when the alert was last updated
143
+ # @param updated_at [Time] Timestamp for when the threshold notification was last updated
148
144
  #
149
- # @param credit_grant_type_filters [Array<String>] An array of strings, representing a way to filter the credit grant this alert ap
145
+ # @param credit_grant_type_filters [Array<String>] An array of strings, representing a way to filter the credit grant this threshol
150
146
  #
151
147
  # @param credit_type [MetronomeSDK::Models::CreditTypeData, nil]
152
148
  #
153
- # @param custom_field_filters [Array<MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::CustomFieldFilter>] A list of custom field filters for alert types that support advanced filtering
149
+ # @param custom_field_filters [Array<MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::CustomFieldFilter>] A list of custom field filters for notification types that support advanced filt
154
150
  #
155
- # @param group_key_filter [MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::GroupKeyFilter] Scopes alert evaluation to a specific presentation group key on individual line
151
+ # @param group_key_filter [MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::GroupKeyFilter] Scopes threshold notification evaluation to a specific presentation group key on
156
152
  #
157
- # @param group_values [Array<MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::GroupValue>] Only present for `spend_threshold_reached` alerts. Scope alert to a specific gro
153
+ # @param group_values [Array<MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::GroupValue>] Only present for `spend_threshold_reached` notifications. Scope notification to
158
154
  #
159
- # @param invoice_types_filter [Array<String>] Only supported for invoice_total_reached alerts. A list of invoice types to eval
155
+ # @param invoice_types_filter [Array<String>] Only supported for invoice_total_reached threshold notifications. A list of invo
160
156
  #
161
157
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
162
158
 
163
- # Status of the alert
159
+ # Status of the threshold notification
164
160
  #
165
161
  # @see MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert#status
166
162
  module Status
@@ -174,7 +170,7 @@ module MetronomeSDK
174
170
  # @return [Array<Symbol>]
175
171
  end
176
172
 
177
- # Type of the alert
173
+ # Type of the threshold notification
178
174
  #
179
175
  # @see MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert#type
180
176
  module Type
@@ -206,9 +202,7 @@ module MetronomeSDK
206
202
  #
207
203
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::CustomerAlert::Alert::CustomFieldFilter::Entity]
208
204
  required :entity,
209
- enum: -> {
210
- MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter::Entity
211
- }
205
+ enum: -> { MetronomeSDK::V1::Customers::CustomerAlert::Alert::CustomFieldFilter::Entity }
212
206
 
213
207
  # @!attribute key
214
208
  #
@@ -251,8 +245,8 @@ module MetronomeSDK
251
245
  required :value, String
252
246
 
253
247
  # @!method initialize(key:, value:)
254
- # Scopes alert evaluation to a specific presentation group key on individual line
255
- # items. Only present for spend alerts.
248
+ # Scopes threshold notification evaluation to a specific presentation group key on
249
+ # individual line items. Only present for spend notifications.
256
250
  #
257
251
  # @param key [String]
258
252
  # @param value [String]
@@ -266,17 +260,17 @@ module MetronomeSDK
266
260
 
267
261
  # @!attribute value
268
262
  #
269
- # @return [String]
270
- required :value, String
263
+ # @return [String, nil]
264
+ optional :value, String
271
265
 
272
- # @!method initialize(key:, value:)
266
+ # @!method initialize(key:, value: nil)
273
267
  # @param key [String]
274
268
  # @param value [String]
275
269
  end
276
270
  end
277
271
 
278
- # The status of the customer alert. If the alert is archived, null will be
279
- # returned.
272
+ # The status of the threshold notification. If the notification is archived, null
273
+ # will be returned.
280
274
  #
281
275
  # @see MetronomeSDK::Models::V1::Customers::CustomerAlert#customer_status
282
276
  module CustomerStatus