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
@@ -12,202 +12,154 @@ module MetronomeSDK
12
12
  )
13
13
  end
14
14
 
15
+ sig { returns(T::Boolean) }
16
+ attr_accessor :enforce_uniqueness
17
+
15
18
  sig do
16
19
  returns(
17
- T::Array[
18
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data
19
- ]
20
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
20
21
  )
21
22
  end
22
- attr_accessor :data
23
+ attr_accessor :entity
23
24
 
24
- sig { returns(T.nilable(String)) }
25
- attr_accessor :next_page
25
+ sig { returns(String) }
26
+ attr_accessor :key
26
27
 
27
28
  sig do
28
29
  params(
29
- data:
30
- T::Array[
31
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::OrHash
32
- ],
33
- next_page: T.nilable(String)
30
+ enforce_uniqueness: T::Boolean,
31
+ entity:
32
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::OrSymbol,
33
+ key: String
34
34
  ).returns(T.attached_class)
35
35
  end
36
- def self.new(data:, next_page:)
36
+ def self.new(enforce_uniqueness:, entity:, key:)
37
37
  end
38
38
 
39
39
  sig do
40
40
  override.returns(
41
41
  {
42
- data:
43
- T::Array[
44
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data
45
- ],
46
- next_page: T.nilable(String)
42
+ enforce_uniqueness: T::Boolean,
43
+ entity:
44
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol,
45
+ key: String
47
46
  }
48
47
  )
49
48
  end
50
49
  def to_hash
51
50
  end
52
51
 
53
- class Data < MetronomeSDK::Internal::Type::BaseModel
54
- OrHash =
52
+ module Entity
53
+ extend MetronomeSDK::Internal::Type::Enum
54
+
55
+ TaggedSymbol =
55
56
  T.type_alias do
56
- T.any(
57
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data,
58
- MetronomeSDK::Internal::AnyHash
57
+ T.all(
58
+ Symbol,
59
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity
59
60
  )
60
61
  end
62
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
61
63
 
62
- sig { returns(T::Boolean) }
63
- attr_accessor :enforce_uniqueness
64
-
65
- sig do
66
- returns(
67
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
64
+ ALERT =
65
+ T.let(
66
+ :alert,
67
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
68
+ )
69
+ BILLABLE_METRIC =
70
+ T.let(
71
+ :billable_metric,
72
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
73
+ )
74
+ CHARGE =
75
+ T.let(
76
+ :charge,
77
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
78
+ )
79
+ COMMIT =
80
+ T.let(
81
+ :commit,
82
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
83
+ )
84
+ CONTRACT_CREDIT =
85
+ T.let(
86
+ :contract_credit,
87
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
88
+ )
89
+ CONTRACT_PRODUCT =
90
+ T.let(
91
+ :contract_product,
92
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
93
+ )
94
+ CONTRACT =
95
+ T.let(
96
+ :contract,
97
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
98
+ )
99
+ CREDIT_GRANT =
100
+ T.let(
101
+ :credit_grant,
102
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
103
+ )
104
+ CUSTOMER_PLAN =
105
+ T.let(
106
+ :customer_plan,
107
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
108
+ )
109
+ CUSTOMER =
110
+ T.let(
111
+ :customer,
112
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
113
+ )
114
+ DISCOUNT =
115
+ T.let(
116
+ :discount,
117
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
118
+ )
119
+ INVOICE =
120
+ T.let(
121
+ :invoice,
122
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
123
+ )
124
+ PLAN =
125
+ T.let(
126
+ :plan,
127
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
128
+ )
129
+ PROFESSIONAL_SERVICE =
130
+ T.let(
131
+ :professional_service,
132
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
133
+ )
134
+ PRODUCT =
135
+ T.let(
136
+ :product,
137
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
138
+ )
139
+ RATE_CARD =
140
+ T.let(
141
+ :rate_card,
142
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
143
+ )
144
+ SCHEDULED_CHARGE =
145
+ T.let(
146
+ :scheduled_charge,
147
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
148
+ )
149
+ SUBSCRIPTION =
150
+ T.let(
151
+ :subscription,
152
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
68
153
  )
69
- end
70
- attr_accessor :entity
71
-
72
- sig { returns(String) }
73
- attr_accessor :key
74
-
75
- sig do
76
- params(
77
- enforce_uniqueness: T::Boolean,
78
- entity:
79
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::OrSymbol,
80
- key: String
81
- ).returns(T.attached_class)
82
- end
83
- def self.new(enforce_uniqueness:, entity:, key:)
84
- end
85
154
 
86
155
  sig do
87
156
  override.returns(
88
- {
89
- enforce_uniqueness: T::Boolean,
90
- entity:
91
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol,
92
- key: String
93
- }
157
+ T::Array[
158
+ MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Entity::TaggedSymbol
159
+ ]
94
160
  )
95
161
  end
96
- def to_hash
97
- end
98
-
99
- module Entity
100
- extend MetronomeSDK::Internal::Type::Enum
101
-
102
- TaggedSymbol =
103
- T.type_alias do
104
- T.all(
105
- Symbol,
106
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity
107
- )
108
- end
109
- OrSymbol = T.type_alias { T.any(Symbol, String) }
110
-
111
- ALERT =
112
- T.let(
113
- :alert,
114
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
115
- )
116
- BILLABLE_METRIC =
117
- T.let(
118
- :billable_metric,
119
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
120
- )
121
- CHARGE =
122
- T.let(
123
- :charge,
124
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
125
- )
126
- COMMIT =
127
- T.let(
128
- :commit,
129
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
130
- )
131
- CONTRACT_CREDIT =
132
- T.let(
133
- :contract_credit,
134
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
135
- )
136
- CONTRACT_PRODUCT =
137
- T.let(
138
- :contract_product,
139
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
140
- )
141
- CONTRACT =
142
- T.let(
143
- :contract,
144
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
145
- )
146
- CREDIT_GRANT =
147
- T.let(
148
- :credit_grant,
149
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
150
- )
151
- CUSTOMER_PLAN =
152
- T.let(
153
- :customer_plan,
154
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
155
- )
156
- CUSTOMER =
157
- T.let(
158
- :customer,
159
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
160
- )
161
- DISCOUNT =
162
- T.let(
163
- :discount,
164
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
165
- )
166
- INVOICE =
167
- T.let(
168
- :invoice,
169
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
170
- )
171
- PLAN =
172
- T.let(
173
- :plan,
174
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
175
- )
176
- PROFESSIONAL_SERVICE =
177
- T.let(
178
- :professional_service,
179
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
180
- )
181
- PRODUCT =
182
- T.let(
183
- :product,
184
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
185
- )
186
- RATE_CARD =
187
- T.let(
188
- :rate_card,
189
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
190
- )
191
- SCHEDULED_CHARGE =
192
- T.let(
193
- :scheduled_charge,
194
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
195
- )
196
- SUBSCRIPTION =
197
- T.let(
198
- :subscription,
199
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
200
- )
201
-
202
- sig do
203
- override.returns(
204
- T::Array[
205
- MetronomeSDK::Models::V1::CustomFieldListKeysResponse::Data::Entity::TaggedSymbol
206
- ]
207
- )
208
- end
209
- def self.values
210
- end
162
+ def self.values
211
163
  end
212
164
  end
213
165
  end
@@ -15,6 +15,7 @@ module MetronomeSDK
15
15
  )
16
16
  end
17
17
 
18
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
18
19
  sig { returns(T::Hash[Symbol, String]) }
19
20
  attr_accessor :custom_fields
20
21
 
@@ -37,7 +38,13 @@ module MetronomeSDK
37
38
  request_options: MetronomeSDK::RequestOptions::OrHash
38
39
  ).returns(T.attached_class)
39
40
  end
40
- def self.new(custom_fields:, entity:, entity_id:, request_options: {})
41
+ def self.new(
42
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
43
+ custom_fields:,
44
+ entity:,
45
+ entity_id:,
46
+ request_options: {}
47
+ )
41
48
  end
42
49
 
43
50
  sig do
@@ -26,6 +26,7 @@ module MetronomeSDK
26
26
  sig { returns(String) }
27
27
  attr_accessor :name
28
28
 
29
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
29
30
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
30
31
  attr_reader :custom_fields
31
32
 
@@ -51,6 +52,7 @@ module MetronomeSDK
51
52
  # in usage events
52
53
  ingest_aliases:,
53
54
  name:,
55
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
54
56
  custom_fields: nil
55
57
  )
56
58
  end
@@ -34,6 +34,7 @@ module MetronomeSDK
34
34
  end
35
35
  attr_writer :billing_config
36
36
 
37
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
37
38
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
38
39
  attr_reader :custom_fields
39
40
 
@@ -95,6 +96,7 @@ module MetronomeSDK
95
96
  # This will be truncated to 160 characters if the provided name is longer.
96
97
  name:,
97
98
  billing_config: nil,
99
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
98
100
  custom_fields: nil,
99
101
  customer_billing_provider_configurations: nil,
100
102
  # (deprecated, use ingest_aliases instead) an alias that can be used to refer to
@@ -469,6 +471,16 @@ module MetronomeSDK
469
471
  :send_invoice,
470
472
  MetronomeSDK::V1::CustomerCreateParams::BillingConfig::StripeCollectionMethod::TaggedSymbol
471
473
  )
474
+ AUTO_CHARGE_PAYMENT_INTENT =
475
+ T.let(
476
+ :auto_charge_payment_intent,
477
+ MetronomeSDK::V1::CustomerCreateParams::BillingConfig::StripeCollectionMethod::TaggedSymbol
478
+ )
479
+ MANUALLY_CHARGE_PAYMENT_INTENT =
480
+ T.let(
481
+ :manually_charge_payment_intent,
482
+ MetronomeSDK::V1::CustomerCreateParams::BillingConfig::StripeCollectionMethod::TaggedSymbol
483
+ )
472
484
 
473
485
  sig do
474
486
  override.returns(
@@ -536,6 +548,27 @@ module MetronomeSDK
536
548
  sig { params(delivery_method_id: String).void }
537
549
  attr_writer :delivery_method_id
538
550
 
551
+ # Specifies which tax provider Metronome should use for tax calculation when
552
+ # billing through Stripe. This is only supported for Stripe billing provider
553
+ # configurations with auto_charge_payment_intent or manual_charge_payment_intent
554
+ # collection methods.
555
+ sig do
556
+ returns(
557
+ T.nilable(
558
+ MetronomeSDK::V1::CustomerCreateParams::CustomerBillingProviderConfiguration::TaxProvider::OrSymbol
559
+ )
560
+ )
561
+ end
562
+ attr_reader :tax_provider
563
+
564
+ sig do
565
+ params(
566
+ tax_provider:
567
+ MetronomeSDK::V1::CustomerCreateParams::CustomerBillingProviderConfiguration::TaxProvider::OrSymbol
568
+ ).void
569
+ end
570
+ attr_writer :tax_provider
571
+
539
572
  sig do
540
573
  params(
541
574
  billing_provider:
@@ -543,7 +576,9 @@ module MetronomeSDK
543
576
  configuration: T::Hash[Symbol, T.anything],
544
577
  delivery_method:
545
578
  MetronomeSDK::V1::CustomerCreateParams::CustomerBillingProviderConfiguration::DeliveryMethod::OrSymbol,
546
- delivery_method_id: String
579
+ delivery_method_id: String,
580
+ tax_provider:
581
+ MetronomeSDK::V1::CustomerCreateParams::CustomerBillingProviderConfiguration::TaxProvider::OrSymbol
547
582
  ).returns(T.attached_class)
548
583
  end
549
584
  def self.new(
@@ -559,7 +594,12 @@ module MetronomeSDK
559
594
  delivery_method: nil,
560
595
  # ID of the delivery method to use for this customer. If not provided, the
561
596
  # `delivery_method` must be provided.
562
- delivery_method_id: nil
597
+ delivery_method_id: nil,
598
+ # Specifies which tax provider Metronome should use for tax calculation when
599
+ # billing through Stripe. This is only supported for Stripe billing provider
600
+ # configurations with auto_charge_payment_intent or manual_charge_payment_intent
601
+ # collection methods.
602
+ tax_provider: nil
563
603
  )
564
604
  end
565
605
 
@@ -571,7 +611,9 @@ module MetronomeSDK
571
611
  configuration: T::Hash[Symbol, T.anything],
572
612
  delivery_method:
573
613
  MetronomeSDK::V1::CustomerCreateParams::CustomerBillingProviderConfiguration::DeliveryMethod::OrSymbol,
574
- delivery_method_id: String
614
+ delivery_method_id: String,
615
+ tax_provider:
616
+ MetronomeSDK::V1::CustomerCreateParams::CustomerBillingProviderConfiguration::TaxProvider::OrSymbol
575
617
  }
576
618
  )
577
619
  end
@@ -673,6 +715,49 @@ module MetronomeSDK
673
715
  def self.values
674
716
  end
675
717
  end
718
+
719
+ # Specifies which tax provider Metronome should use for tax calculation when
720
+ # billing through Stripe. This is only supported for Stripe billing provider
721
+ # configurations with auto_charge_payment_intent or manual_charge_payment_intent
722
+ # collection methods.
723
+ module TaxProvider
724
+ extend MetronomeSDK::Internal::Type::Enum
725
+
726
+ TaggedSymbol =
727
+ T.type_alias do
728
+ T.all(
729
+ Symbol,
730
+ MetronomeSDK::V1::CustomerCreateParams::CustomerBillingProviderConfiguration::TaxProvider
731
+ )
732
+ end
733
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
734
+
735
+ ANROK =
736
+ T.let(
737
+ :anrok,
738
+ MetronomeSDK::V1::CustomerCreateParams::CustomerBillingProviderConfiguration::TaxProvider::TaggedSymbol
739
+ )
740
+ AVALARA =
741
+ T.let(
742
+ :avalara,
743
+ MetronomeSDK::V1::CustomerCreateParams::CustomerBillingProviderConfiguration::TaxProvider::TaggedSymbol
744
+ )
745
+ STRIPE =
746
+ T.let(
747
+ :stripe,
748
+ MetronomeSDK::V1::CustomerCreateParams::CustomerBillingProviderConfiguration::TaxProvider::TaggedSymbol
749
+ )
750
+
751
+ sig do
752
+ override.returns(
753
+ T::Array[
754
+ MetronomeSDK::V1::CustomerCreateParams::CustomerBillingProviderConfiguration::TaxProvider::TaggedSymbol
755
+ ]
756
+ )
757
+ end
758
+ def self.values
759
+ end
760
+ end
676
761
  end
677
762
  end
678
763
  end
@@ -20,6 +20,7 @@ module MetronomeSDK
20
20
  sig { returns(Time) }
21
21
  attr_accessor :created_at
22
22
 
23
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
23
24
  sig { returns(T::Hash[Symbol, String]) }
24
25
  attr_accessor :custom_fields
25
26
 
@@ -47,6 +48,10 @@ module MetronomeSDK
47
48
  sig { returns(String) }
48
49
  attr_accessor :name
49
50
 
51
+ # RFC 3339 timestamp indicating when the customer was last updated.
52
+ sig { returns(Time) }
53
+ attr_accessor :updated_at
54
+
50
55
  # RFC 3339 timestamp indicating when the customer was archived. Null if the
51
56
  # customer is active.
52
57
  sig { returns(T.nilable(Time)) }
@@ -78,6 +83,7 @@ module MetronomeSDK
78
83
  external_id: String,
79
84
  ingest_aliases: T::Array[String],
80
85
  name: String,
86
+ updated_at: Time,
81
87
  archived_at: T.nilable(Time),
82
88
  current_billable_status:
83
89
  MetronomeSDK::V1::CustomerDetail::CurrentBillableStatus::OrHash
@@ -88,6 +94,7 @@ module MetronomeSDK
88
94
  id:,
89
95
  # RFC 3339 timestamp indicating when the customer was created.
90
96
  created_at:,
97
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
91
98
  custom_fields:,
92
99
  customer_config:,
93
100
  # (deprecated, use ingest_aliases instead) the first ID (Metronome or ingest
@@ -97,6 +104,8 @@ module MetronomeSDK
97
104
  # in usage events
98
105
  ingest_aliases:,
99
106
  name:,
107
+ # RFC 3339 timestamp indicating when the customer was last updated.
108
+ updated_at:,
100
109
  # RFC 3339 timestamp indicating when the customer was archived. Null if the
101
110
  # customer is active.
102
111
  archived_at: nil,
@@ -115,6 +124,7 @@ module MetronomeSDK
115
124
  external_id: String,
116
125
  ingest_aliases: T::Array[String],
117
126
  name: String,
127
+ updated_at: Time,
118
128
  archived_at: T.nilable(Time),
119
129
  current_billable_status:
120
130
  MetronomeSDK::V1::CustomerDetail::CurrentBillableStatus
@@ -67,6 +67,7 @@ module MetronomeSDK
67
67
  sig { params(archived_at: Time).void }
68
68
  attr_writer :archived_at
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
 
@@ -159,6 +160,7 @@ module MetronomeSDK
159
160
  # RFC 3339 timestamp indicating when the billable metric was archived. If not
160
161
  # provided, the billable metric is not archived.
161
162
  archived_at: nil,
163
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
162
164
  custom_fields: nil,
163
165
  # An optional filtering rule to match the 'event_type' property of an event.
164
166
  event_type_filter: nil,
@@ -104,15 +104,6 @@ module MetronomeSDK
104
104
  sig { returns(String) }
105
105
  attr_accessor :event_type
106
106
 
107
- # This has no effect for preview events, but may be set for consistency with Event
108
- # objects. They will be processed even if they do not match the customer's ID or
109
- # ingest aliases.
110
- sig { returns(T.nilable(String)) }
111
- attr_reader :customer_id
112
-
113
- sig { params(customer_id: String).void }
114
- attr_writer :customer_id
115
-
116
107
  sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
117
108
  attr_reader :properties
118
109
 
@@ -126,9 +117,9 @@ module MetronomeSDK
126
117
  sig { params(timestamp: String).void }
127
118
  attr_writer :timestamp
128
119
 
129
- # This has no effect for preview events, but may be set for consistency with Event
130
- # objects. Duplicate transaction_ids are NOT filtered out, even within the same
131
- # request.
120
+ # Optional unique identifier for event deduplication. When provided, preview
121
+ # events are automatically deduplicated against historical events from the past 34
122
+ # days. Duplicate transaction IDs within the same request will return an error.
132
123
  sig { returns(T.nilable(String)) }
133
124
  attr_reader :transaction_id
134
125
 
@@ -138,7 +129,6 @@ module MetronomeSDK
138
129
  sig do
139
130
  params(
140
131
  event_type: String,
141
- customer_id: String,
142
132
  properties: T::Hash[Symbol, T.anything],
143
133
  timestamp: String,
144
134
  transaction_id: String
@@ -146,16 +136,12 @@ module MetronomeSDK
146
136
  end
147
137
  def self.new(
148
138
  event_type:,
149
- # This has no effect for preview events, but may be set for consistency with Event
150
- # objects. They will be processed even if they do not match the customer's ID or
151
- # ingest aliases.
152
- customer_id: nil,
153
139
  properties: nil,
154
140
  # RFC 3339 formatted. If not provided, the current time will be used.
155
141
  timestamp: nil,
156
- # This has no effect for preview events, but may be set for consistency with Event
157
- # objects. Duplicate transaction_ids are NOT filtered out, even within the same
158
- # request.
142
+ # Optional unique identifier for event deduplication. When provided, preview
143
+ # events are automatically deduplicated against historical events from the past 34
144
+ # days. Duplicate transaction IDs within the same request will return an error.
159
145
  transaction_id: nil
160
146
  )
161
147
  end
@@ -164,7 +150,6 @@ module MetronomeSDK
164
150
  override.returns(
165
151
  {
166
152
  event_type: String,
167
- customer_id: String,
168
153
  properties: T::Hash[Symbol, T.anything],
169
154
  timestamp: String,
170
155
  transaction_id: String
@@ -12,21 +12,22 @@ module MetronomeSDK
12
12
  )
13
13
  end
14
14
 
15
- sig { returns(MetronomeSDK::V1::Customers::Invoice) }
16
- attr_reader :data
17
-
18
- sig { params(data: MetronomeSDK::V1::Customers::Invoice::OrHash).void }
19
- attr_writer :data
15
+ sig { returns(T::Array[MetronomeSDK::V1::Customers::Invoice]) }
16
+ attr_accessor :data
20
17
 
21
18
  sig do
22
- params(data: MetronomeSDK::V1::Customers::Invoice::OrHash).returns(
23
- T.attached_class
24
- )
19
+ params(
20
+ data: T::Array[MetronomeSDK::V1::Customers::Invoice::OrHash]
21
+ ).returns(T.attached_class)
25
22
  end
26
23
  def self.new(data:)
27
24
  end
28
25
 
29
- sig { override.returns({ data: MetronomeSDK::V1::Customers::Invoice }) }
26
+ sig do
27
+ override.returns(
28
+ { data: T::Array[MetronomeSDK::V1::Customers::Invoice] }
29
+ )
30
+ end
30
31
  def to_hash
31
32
  end
32
33
  end