metronome-sdk 0.1.0.pre.alpha.1 → 0.1.0.pre.alpha.3

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 (723) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +97 -0
  3. data/README.md +138 -81
  4. data/SECURITY.md +2 -2
  5. data/lib/metronome_sdk/client.rb +4 -4
  6. data/lib/metronome_sdk/errors.rb +1 -1
  7. data/lib/metronome_sdk/file_part.rb +2 -2
  8. data/lib/metronome_sdk/internal/cursor_page.rb +3 -3
  9. data/lib/metronome_sdk/internal/transport/base_client.rb +80 -8
  10. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +17 -1
  11. data/lib/metronome_sdk/internal/type/array_of.rb +9 -1
  12. data/lib/metronome_sdk/internal/type/base_model.rb +76 -39
  13. data/lib/metronome_sdk/internal/type/boolean.rb +8 -0
  14. data/lib/metronome_sdk/internal/type/converter.rb +18 -0
  15. data/lib/metronome_sdk/internal/type/enum.rb +13 -0
  16. data/lib/metronome_sdk/internal/type/file_input.rb +7 -0
  17. data/lib/metronome_sdk/internal/type/hash_of.rb +9 -1
  18. data/lib/metronome_sdk/internal/type/request_parameters.rb +6 -12
  19. data/lib/metronome_sdk/internal/type/union.rb +13 -0
  20. data/lib/metronome_sdk/internal/type/unknown.rb +8 -0
  21. data/lib/metronome_sdk/internal/util.rb +131 -6
  22. data/lib/metronome_sdk/internal.rb +9 -0
  23. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +14 -3
  24. data/lib/metronome_sdk/models/v1/alert_create_params.rb +8 -16
  25. data/lib/metronome_sdk/models/v1/alert_create_response.rb +14 -3
  26. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +1 -4
  27. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +8 -2
  28. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +14 -3
  29. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +86 -12
  30. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +14 -3
  31. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +84 -10
  32. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +85 -10
  33. data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +0 -2
  34. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +241 -98
  35. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +14 -3
  36. data/lib/metronome_sdk/models/v1/contract_archive_params.rb +0 -1
  37. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +14 -3
  38. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +15 -9
  39. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +1276 -3
  40. data/lib/metronome_sdk/models/v1/contract_create_params.rb +933 -402
  41. data/lib/metronome_sdk/models/v1/contract_create_response.rb +14 -3
  42. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +0 -2
  43. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +1645 -5
  44. data/lib/metronome_sdk/models/v1/contract_list_params.rb +0 -4
  45. data/lib/metronome_sdk/models/v1/contract_list_response.rb +11371 -152
  46. data/lib/metronome_sdk/models/v1/contract_retrieve_params.rb +0 -2
  47. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +32 -7
  48. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +317 -11
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +11400 -152
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rb +34 -0
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rb +81 -0
  52. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +3 -3
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +1276 -3
  54. data/lib/metronome_sdk/models/v1/contract_update_end_date_params.rb +0 -2
  55. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +14 -3
  56. data/lib/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rb +0 -1
  57. data/lib/metronome_sdk/models/v1/contracts/named_schedule_update_params.rb +0 -1
  58. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +14 -3
  59. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +98 -13
  60. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +14 -3
  61. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +4 -5
  62. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +561 -16
  63. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +8 -2
  64. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +561 -16
  65. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +97 -18
  66. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +14 -3
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +24 -0
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +31 -0
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +6 -4
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +14 -3
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +42 -6
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +8 -2
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +32 -6
  74. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +181 -8
  75. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +42 -6
  76. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +3 -2
  77. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +14 -3
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rb +0 -1
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rb +0 -1
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +14 -3
  81. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +3 -1
  82. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +14 -3
  83. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +83 -18
  84. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +16 -3
  85. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +74 -17
  86. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +61 -15
  87. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +32 -6
  88. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +180 -8
  89. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +81 -15
  90. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +14 -3
  91. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +14 -3
  92. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +0 -4
  93. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +153 -15
  94. data/lib/metronome_sdk/models/v1/credit_grant_list_params.rb +0 -3
  95. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +175 -18
  96. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +14 -3
  97. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +1 -1
  98. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +1 -1
  99. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +3 -1
  100. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +1 -1
  101. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +1 -1
  102. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +8 -2
  103. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +14 -3
  104. data/lib/metronome_sdk/models/v1/customer_create_params.rb +13 -12
  105. data/lib/metronome_sdk/models/v1/customer_create_response.rb +50 -3
  106. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_params.rb +0 -1
  107. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +85 -10
  108. data/lib/metronome_sdk/models/v1/customer_list_params.rb +0 -2
  109. data/lib/metronome_sdk/models/v1/{customer_detail.rb → customer_list_response.rb} +15 -17
  110. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +126 -3
  111. data/lib/metronome_sdk/models/v1/customer_set_name_params.rb +0 -1
  112. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +50 -3
  113. data/lib/metronome_sdk/models/v1/customer_update_config_params.rb +0 -1
  114. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +3 -2
  115. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +276 -3
  116. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +26 -1
  117. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +279 -3
  118. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +3 -5
  119. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +1 -1
  120. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +1 -1
  121. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +0 -3
  122. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +72 -27
  123. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +14 -3
  124. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +0 -2
  125. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +1047 -3
  126. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_params.rb +0 -2
  127. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +14 -3
  128. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +58 -9
  129. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +14 -3
  130. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +0 -2
  131. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +593 -3
  132. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_params.rb +0 -1
  133. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +14 -3
  134. data/lib/metronome_sdk/models/v1/customers/invoice_add_charge_params.rb +0 -2
  135. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +4 -6
  136. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +1271 -2
  137. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +1 -4
  138. data/lib/metronome_sdk/models/v1/customers/{invoice.rb → invoice_list_response.rb} +321 -117
  139. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +1276 -3
  140. data/lib/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rb +0 -1
  141. data/lib/metronome_sdk/models/v1/customers/named_schedule_update_params.rb +0 -1
  142. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +9 -14
  143. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +14 -3
  144. data/lib/metronome_sdk/models/v1/customers/plan_end_params.rb +0 -3
  145. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +21 -3
  146. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +11 -7
  147. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +286 -3
  148. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +20 -6
  149. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +2 -2
  150. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +128 -3
  151. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +3 -1
  152. data/lib/metronome_sdk/models/v1/usage_list_params.rb +5 -7
  153. data/lib/metronome_sdk/models/v1/usage_list_response.rb +0 -1
  154. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +2 -5
  155. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +73 -11
  156. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +14 -3
  157. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +63 -7
  158. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +14 -3
  159. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1751 -462
  160. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +14 -3
  161. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +2212 -142
  162. data/lib/metronome_sdk/models/v2/contract_list_params.rb +0 -4
  163. data/lib/metronome_sdk/models/v2/contract_list_response.rb +1485 -342
  164. data/lib/metronome_sdk/models/v2/contract_retrieve_params.rb +0 -3
  165. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +1482 -336
  166. data/lib/metronome_sdk/models.rb +45 -0
  167. data/lib/metronome_sdk/request_options.rb +4 -0
  168. data/lib/metronome_sdk/resources/v1/alerts.rb +2 -12
  169. data/lib/metronome_sdk/resources/v1/audit_logs.rb +1 -4
  170. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +6 -10
  171. data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +2 -4
  172. data/lib/metronome_sdk/resources/v1/contracts/products.rb +13 -28
  173. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +2 -5
  174. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +2 -4
  175. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +7 -13
  176. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +26 -11
  177. data/lib/metronome_sdk/resources/v1/contracts.rb +43 -35
  178. data/lib/metronome_sdk/resources/v1/credit_grants.rb +6 -18
  179. data/lib/metronome_sdk/resources/v1/custom_fields.rb +5 -5
  180. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +9 -5
  181. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +3 -4
  182. data/lib/metronome_sdk/resources/v1/customers/commits.rb +6 -17
  183. data/lib/metronome_sdk/resources/v1/customers/credits.rb +6 -12
  184. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +6 -18
  185. data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +2 -4
  186. data/lib/metronome_sdk/resources/v1/customers/plans.rb +4 -14
  187. data/lib/metronome_sdk/resources/v1/customers.rb +13 -19
  188. data/lib/metronome_sdk/resources/v1/dashboards.rb +1 -1
  189. data/lib/metronome_sdk/resources/v1/invoices.rb +2 -2
  190. data/lib/metronome_sdk/resources/v1/plans.rb +5 -5
  191. data/lib/metronome_sdk/resources/v1/pricing_units.rb +1 -1
  192. data/lib/metronome_sdk/resources/v1/usage.rb +3 -8
  193. data/lib/metronome_sdk/resources/v2/contracts.rb +32 -20
  194. data/lib/metronome_sdk/version.rb +1 -1
  195. data/lib/metronome_sdk.rb +12 -28
  196. data/rbi/metronome_sdk/client.rbi +5 -4
  197. data/rbi/metronome_sdk/errors.rbi +34 -15
  198. data/rbi/metronome_sdk/file_part.rbi +9 -6
  199. data/rbi/metronome_sdk/internal/cursor_page.rbi +2 -1
  200. data/rbi/metronome_sdk/internal/transport/base_client.rbi +165 -77
  201. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +33 -13
  202. data/rbi/metronome_sdk/internal/type/array_of.rbi +40 -24
  203. data/rbi/metronome_sdk/internal/type/base_model.rbi +160 -70
  204. data/rbi/metronome_sdk/internal/type/base_page.rbi +13 -8
  205. data/rbi/metronome_sdk/internal/type/boolean.rbi +22 -14
  206. data/rbi/metronome_sdk/internal/type/converter.rbi +72 -28
  207. data/rbi/metronome_sdk/internal/type/enum.rbi +29 -13
  208. data/rbi/metronome_sdk/internal/type/file_input.rbi +13 -4
  209. data/rbi/metronome_sdk/internal/type/hash_of.rbi +40 -24
  210. data/rbi/metronome_sdk/internal/type/request_parameters.rbi +14 -4
  211. data/rbi/metronome_sdk/internal/type/union.rbi +58 -22
  212. data/rbi/metronome_sdk/internal/type/unknown.rbi +22 -6
  213. data/rbi/metronome_sdk/internal/util.rbi +272 -89
  214. data/rbi/metronome_sdk/internal.rbi +7 -0
  215. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +22 -11
  216. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +49 -6
  217. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +175 -81
  218. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +49 -6
  219. data/rbi/metronome_sdk/models/v1/audit_log_list_params.rbi +59 -26
  220. data/rbi/metronome_sdk/models/v1/audit_log_list_response.rbi +127 -45
  221. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +25 -6
  222. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +56 -6
  223. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +253 -41
  224. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +55 -6
  225. data/rbi/metronome_sdk/models/v1/billable_metric_list_params.rbi +23 -14
  226. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +253 -41
  227. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_params.rbi +22 -6
  228. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +264 -50
  229. data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +27 -18
  230. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +1808 -784
  231. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +49 -6
  232. data/rbi/metronome_sdk/models/v1/contract_archive_params.rbi +23 -14
  233. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +51 -6
  234. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +178 -110
  235. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +2611 -6
  236. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +4937 -2578
  237. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +49 -6
  238. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +30 -21
  239. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3411 -15
  240. data/rbi/metronome_sdk/models/v1/contract_list_params.rbi +26 -17
  241. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +24250 -325
  242. data/rbi/metronome_sdk/models/v1/contract_retrieve_params.rbi +24 -15
  243. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +143 -45
  244. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +804 -74
  245. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +24250 -337
  246. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbi +58 -0
  247. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbi +212 -0
  248. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbi +66 -41
  249. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +2611 -6
  250. data/rbi/metronome_sdk/models/v1/contract_set_usage_filter_params.rbi +22 -15
  251. data/rbi/metronome_sdk/models/v1/contract_update_end_date_params.rbi +24 -15
  252. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +56 -6
  253. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbi +23 -14
  254. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbi +54 -17
  255. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbi +25 -16
  256. data/rbi/metronome_sdk/models/v1/contracts/product_archive_params.rbi +23 -6
  257. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +58 -6
  258. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +308 -46
  259. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +58 -6
  260. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +66 -28
  261. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +1247 -90
  262. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +25 -6
  263. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +1278 -116
  264. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +257 -33
  265. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +58 -6
  266. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +42 -0
  267. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +75 -0
  268. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +109 -45
  269. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +58 -6
  270. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_params.rbi +23 -14
  271. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +182 -55
  272. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +25 -6
  273. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +138 -44
  274. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +509 -71
  275. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +213 -81
  276. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_params.rbi +70 -25
  277. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +58 -6
  278. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbi +24 -15
  279. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbi +54 -19
  280. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbi +26 -17
  281. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbi +22 -13
  282. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +58 -6
  283. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbi +55 -24
  284. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +58 -6
  285. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +323 -98
  286. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +60 -6
  287. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +310 -78
  288. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +277 -81
  289. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +144 -44
  290. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +482 -51
  291. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +303 -80
  292. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +53 -6
  293. data/rbi/metronome_sdk/models/v1/credit_grant_edit_params.rbi +24 -15
  294. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +51 -6
  295. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +25 -16
  296. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +383 -77
  297. data/rbi/metronome_sdk/models/v1/credit_grant_list_params.rbi +27 -18
  298. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +436 -72
  299. data/rbi/metronome_sdk/models/v1/credit_grant_void_params.rbi +23 -14
  300. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +51 -6
  301. data/rbi/metronome_sdk/models/v1/custom_field_add_key_params.rbi +122 -37
  302. data/rbi/metronome_sdk/models/v1/custom_field_delete_values_params.rbi +120 -37
  303. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_params.rbi +140 -37
  304. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +136 -43
  305. data/rbi/metronome_sdk/models/v1/custom_field_remove_key_params.rbi +126 -36
  306. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +127 -37
  307. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +25 -6
  308. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +51 -6
  309. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +247 -158
  310. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +96 -7
  311. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbi +25 -16
  312. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +237 -44
  313. data/rbi/metronome_sdk/models/v1/customer_list_costs_params.rbi +25 -16
  314. data/rbi/metronome_sdk/models/v1/customer_list_costs_response.rbi +100 -49
  315. data/rbi/metronome_sdk/models/v1/customer_list_params.rbi +26 -17
  316. data/rbi/metronome_sdk/models/v1/customer_list_response.rbi +242 -0
  317. data/rbi/metronome_sdk/models/v1/customer_retrieve_params.rbi +22 -6
  318. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +267 -7
  319. data/rbi/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbi +21 -13
  320. data/rbi/metronome_sdk/models/v1/customer_set_name_params.rbi +22 -6
  321. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +98 -7
  322. data/rbi/metronome_sdk/models/v1/customer_update_config_params.rbi +23 -14
  323. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +69 -25
  324. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +641 -9
  325. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +15 -5
  326. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +77 -5
  327. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +642 -8
  328. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +129 -79
  329. data/rbi/metronome_sdk/models/v1/customers/billing_config_delete_params.rbi +54 -29
  330. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbi +54 -29
  331. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +111 -68
  332. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +429 -171
  333. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +58 -6
  334. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +30 -21
  335. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +2183 -6
  336. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbi +24 -15
  337. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +58 -6
  338. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +250 -66
  339. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +58 -6
  340. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +30 -21
  341. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +1243 -6
  342. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbi +23 -14
  343. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +58 -6
  344. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbi +27 -18
  345. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbi +12 -2
  346. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbi +101 -43
  347. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +2579 -5
  348. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +70 -28
  349. data/rbi/metronome_sdk/models/v1/customers/invoice_list_response.rbi +2587 -0
  350. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbi +23 -14
  351. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +2628 -7
  352. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbi +23 -14
  353. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbi +54 -17
  354. data/rbi/metronome_sdk/models/v1/customers/named_schedule_update_params.rbi +25 -16
  355. data/rbi/metronome_sdk/models/v1/customers/plan_add_params.rbi +205 -119
  356. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +55 -6
  357. data/rbi/metronome_sdk/models/v1/customers/plan_end_params.rbi +25 -16
  358. data/rbi/metronome_sdk/models/v1/customers/plan_end_response.rbi +12 -2
  359. data/rbi/metronome_sdk/models/v1/customers/plan_list_params.rbi +23 -14
  360. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbi +24 -15
  361. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +98 -48
  362. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +133 -50
  363. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +215 -122
  364. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbi +44 -13
  365. data/rbi/metronome_sdk/models/v1/invoice_regenerate_params.rbi +20 -9
  366. data/rbi/metronome_sdk/models/v1/invoice_regenerate_response.rbi +42 -13
  367. data/rbi/metronome_sdk/models/v1/invoice_void_params.rbi +20 -9
  368. data/rbi/metronome_sdk/models/v1/invoice_void_response.rbi +41 -11
  369. data/rbi/metronome_sdk/models/v1/plan_get_details_params.rbi +19 -6
  370. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +572 -7
  371. data/rbi/metronome_sdk/models/v1/plan_list_charges_params.rbi +23 -14
  372. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +200 -76
  373. data/rbi/metronome_sdk/models/v1/plan_list_customers_params.rbi +71 -25
  374. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +300 -32
  375. data/rbi/metronome_sdk/models/v1/plan_list_params.rbi +22 -6
  376. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +18 -4
  377. data/rbi/metronome_sdk/models/v1/pricing_unit_list_params.rbi +22 -6
  378. data/rbi/metronome_sdk/models/v1/pricing_unit_list_response.rbi +23 -5
  379. data/rbi/metronome_sdk/models/v1/service_list_params.rbi +18 -5
  380. data/rbi/metronome_sdk/models/v1/service_list_response.rbi +73 -24
  381. data/rbi/metronome_sdk/models/v1/usage_ingest_params.rbi +51 -31
  382. data/rbi/metronome_sdk/models/v1/usage_list_params.rbi +126 -45
  383. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +51 -24
  384. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +96 -37
  385. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +28 -14
  386. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +425 -169
  387. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +53 -6
  388. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +274 -89
  389. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +53 -6
  390. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +6953 -2830
  391. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +49 -6
  392. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_params.rbi +14 -5
  393. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +8529 -3060
  394. data/rbi/metronome_sdk/models/v2/contract_list_params.rbi +26 -17
  395. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +7013 -3240
  396. data/rbi/metronome_sdk/models/v2/contract_retrieve_params.rbi +25 -16
  397. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +7017 -3332
  398. data/rbi/metronome_sdk/models.rbi +7 -0
  399. data/rbi/metronome_sdk/request_options.rbi +18 -7
  400. data/rbi/metronome_sdk/resources/v1/alerts.rbi +25 -13
  401. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +11 -5
  402. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +35 -17
  403. data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +13 -8
  404. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +61 -23
  405. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +16 -9
  406. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +21 -14
  407. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +45 -31
  408. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +77 -33
  409. data/rbi/metronome_sdk/resources/v1/contracts.rbi +170 -105
  410. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +36 -26
  411. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +34 -26
  412. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +34 -11
  413. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +28 -17
  414. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +35 -22
  415. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +31 -17
  416. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +36 -18
  417. data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +13 -8
  418. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +38 -30
  419. data/rbi/metronome_sdk/resources/v1/customers.rbi +69 -39
  420. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +21 -24
  421. data/rbi/metronome_sdk/resources/v1/invoices.rbi +16 -7
  422. data/rbi/metronome_sdk/resources/v1/plans.rbi +37 -14
  423. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +14 -4
  424. data/rbi/metronome_sdk/resources/v1/services.rbi +9 -3
  425. data/rbi/metronome_sdk/resources/v1/usage.rbi +30 -17
  426. data/rbi/metronome_sdk/resources/v1.rbi +2 -1
  427. data/rbi/metronome_sdk/resources/v2/contracts.rbi +167 -69
  428. data/rbi/metronome_sdk/resources/v2.rbi +2 -1
  429. data/sig/metronome_sdk/internal/transport/base_client.rbs +16 -1
  430. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +4 -0
  431. data/sig/metronome_sdk/internal/type/array_of.rbs +3 -0
  432. data/sig/metronome_sdk/internal/type/base_model.rbs +13 -5
  433. data/sig/metronome_sdk/internal/type/base_page.rbs +1 -1
  434. data/sig/metronome_sdk/internal/type/boolean.rbs +3 -0
  435. data/sig/metronome_sdk/internal/type/converter.rbs +2 -0
  436. data/sig/metronome_sdk/internal/type/enum.rbs +3 -0
  437. data/sig/metronome_sdk/internal/type/file_input.rbs +2 -0
  438. data/sig/metronome_sdk/internal/type/hash_of.rbs +3 -0
  439. data/sig/metronome_sdk/internal/type/request_parameters.rbs +5 -1
  440. data/sig/metronome_sdk/internal/type/union.rbs +3 -0
  441. data/sig/metronome_sdk/internal/type/unknown.rbs +3 -0
  442. data/sig/metronome_sdk/internal/util.rbs +27 -0
  443. data/sig/metronome_sdk/internal.rbs +4 -0
  444. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +5 -1
  445. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +19 -4
  446. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +32 -13
  447. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +19 -4
  448. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +10 -1
  449. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +13 -3
  450. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +12 -4
  451. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +19 -4
  452. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +82 -11
  453. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +19 -4
  454. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +6 -1
  455. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +83 -11
  456. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +4 -1
  457. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +86 -12
  458. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +10 -1
  459. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +481 -160
  460. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +19 -4
  461. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +6 -1
  462. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +19 -4
  463. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +42 -15
  464. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +1291 -4
  465. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1196 -401
  466. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +19 -4
  467. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +13 -1
  468. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1647 -3
  469. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +9 -1
  470. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +11114 -146
  471. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +7 -1
  472. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +42 -7
  473. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +312 -16
  474. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +11114 -146
  475. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbs +34 -0
  476. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbs +101 -0
  477. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +22 -5
  478. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +1291 -4
  479. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +8 -1
  480. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +7 -1
  481. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +18 -4
  482. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +6 -1
  483. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +8 -2
  484. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +8 -1
  485. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +4 -1
  486. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +21 -4
  487. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +97 -7
  488. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +21 -4
  489. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +6 -1
  490. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +489 -14
  491. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +12 -4
  492. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +492 -15
  493. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +98 -7
  494. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +21 -4
  495. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +27 -0
  496. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +34 -0
  497. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +28 -13
  498. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +21 -4
  499. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +6 -1
  500. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +52 -11
  501. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +12 -4
  502. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +41 -7
  503. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +185 -11
  504. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +55 -12
  505. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +17 -7
  506. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +21 -4
  507. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +7 -1
  508. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +8 -2
  509. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +9 -1
  510. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +5 -1
  511. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +21 -4
  512. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +9 -5
  513. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +20 -4
  514. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +94 -21
  515. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +21 -4
  516. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +88 -17
  517. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +75 -18
  518. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +41 -7
  519. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +181 -10
  520. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +102 -18
  521. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +19 -4
  522. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +7 -1
  523. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +19 -4
  524. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +8 -1
  525. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +140 -14
  526. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +10 -1
  527. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +169 -17
  528. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +6 -1
  529. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +19 -4
  530. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +6 -1
  531. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +6 -1
  532. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +5 -1
  533. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +9 -2
  534. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +5 -1
  535. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +6 -1
  536. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +12 -4
  537. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +19 -4
  538. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +33 -13
  539. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +47 -4
  540. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +8 -1
  541. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +87 -11
  542. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +8 -1
  543. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +16 -3
  544. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +9 -1
  545. data/sig/metronome_sdk/models/v1/{customer_detail.rbs → customer_list_response.rbs} +30 -17
  546. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +4 -1
  547. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +112 -4
  548. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +5 -1
  549. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +5 -1
  550. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +47 -4
  551. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +6 -1
  552. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +6 -1
  553. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +246 -4
  554. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +5 -1
  555. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +29 -2
  556. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +247 -4
  557. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +9 -1
  558. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +5 -1
  559. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +5 -1
  560. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +14 -2
  561. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +123 -27
  562. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +21 -4
  563. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +13 -1
  564. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +1060 -4
  565. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +7 -1
  566. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +20 -4
  567. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +85 -9
  568. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +21 -4
  569. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +13 -1
  570. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +599 -4
  571. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +6 -1
  572. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +20 -4
  573. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +10 -1
  574. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +1 -1
  575. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +13 -1
  576. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +1281 -8
  577. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +12 -1
  578. data/sig/metronome_sdk/models/v1/customers/{invoice.rbs → invoice_list_response.rbs} +432 -137
  579. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +6 -1
  580. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +1292 -4
  581. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +6 -1
  582. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +8 -2
  583. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +8 -1
  584. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +49 -25
  585. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +19 -4
  586. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +8 -1
  587. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +1 -1
  588. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +6 -1
  589. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +7 -1
  590. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +12 -2
  591. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +35 -6
  592. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +33 -19
  593. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +4 -2
  594. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +4 -1
  595. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +4 -2
  596. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +4 -1
  597. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +4 -2
  598. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +4 -1
  599. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +266 -4
  600. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +6 -1
  601. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +40 -6
  602. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +7 -1
  603. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +119 -5
  604. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +5 -1
  605. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +6 -1
  606. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +5 -1
  607. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +1 -1
  608. data/sig/metronome_sdk/models/v1/service_list_params.rbs +1 -1
  609. data/sig/metronome_sdk/models/v1/service_list_response.rbs +8 -2
  610. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +16 -7
  611. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +24 -13
  612. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +13 -2
  613. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +18 -7
  614. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +7 -1
  615. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +141 -50
  616. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +19 -4
  617. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +100 -26
  618. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +19 -4
  619. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +1888 -430
  620. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +19 -4
  621. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +5 -1
  622. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2826 -521
  623. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +9 -1
  624. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +1849 -334
  625. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +8 -1
  626. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +1849 -334
  627. data/sig/metronome_sdk/models.rbs +5 -0
  628. data/sig/metronome_sdk/request_options.rbs +1 -1
  629. data/sig/metronome_sdk/resources/v1/alerts.rbs +2 -2
  630. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  631. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  632. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbs +1 -1
  633. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +5 -4
  634. data/sig/metronome_sdk/resources/v1/contracts/rate_cards.rbs +9 -4
  635. data/sig/metronome_sdk/resources/v1/contracts.rbs +33 -25
  636. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +3 -3
  637. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  638. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +3 -2
  639. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -1
  640. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  641. data/sig/metronome_sdk/resources/v1/customers/plans.rbs +3 -3
  642. data/sig/metronome_sdk/resources/v1/customers.rbs +3 -3
  643. data/sig/metronome_sdk/resources/v1/dashboards.rbs +3 -3
  644. data/sig/metronome_sdk/resources/v1/usage.rbs +3 -3
  645. data/sig/metronome_sdk/resources/v2/contracts.rbs +31 -21
  646. metadata +25 -85
  647. data/lib/metronome_sdk/models/base_usage_filter.rb +0 -27
  648. data/lib/metronome_sdk/models/commit.rb +0 -848
  649. data/lib/metronome_sdk/models/contract_without_amendments.rb +0 -1431
  650. data/lib/metronome_sdk/models/credit.rb +0 -476
  651. data/lib/metronome_sdk/models/credit_type_data.rb +0 -21
  652. data/lib/metronome_sdk/models/discount.rb +0 -68
  653. data/lib/metronome_sdk/models/event_type_filter.rb +0 -35
  654. data/lib/metronome_sdk/models/id.rb +0 -15
  655. data/lib/metronome_sdk/models/override.rb +0 -368
  656. data/lib/metronome_sdk/models/pro_service.rb +0 -75
  657. data/lib/metronome_sdk/models/property_filter.rb +0 -55
  658. data/lib/metronome_sdk/models/rate.rb +0 -106
  659. data/lib/metronome_sdk/models/schedule_duration.rb +0 -50
  660. data/lib/metronome_sdk/models/schedule_point_in_time.rb +0 -62
  661. data/lib/metronome_sdk/models/scheduled_charge.rb +0 -76
  662. data/lib/metronome_sdk/models/tier.rb +0 -21
  663. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +0 -152
  664. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +0 -57
  665. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +0 -43
  666. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +0 -71
  667. data/lib/metronome_sdk/models/v1/customer.rb +0 -55
  668. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +0 -269
  669. data/lib/metronome_sdk/models/v1/plan_detail.rb +0 -200
  670. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +0 -38
  671. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +0 -38
  672. data/rbi/metronome_sdk/models/base_usage_filter.rbi +0 -27
  673. data/rbi/metronome_sdk/models/commit.rbi +0 -1283
  674. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +0 -2407
  675. data/rbi/metronome_sdk/models/credit.rbi +0 -697
  676. data/rbi/metronome_sdk/models/credit_type_data.rbi +0 -19
  677. data/rbi/metronome_sdk/models/discount.rbi +0 -90
  678. data/rbi/metronome_sdk/models/event_type_filter.rbi +0 -40
  679. data/rbi/metronome_sdk/models/id.rbi +0 -16
  680. data/rbi/metronome_sdk/models/override.rbi +0 -503
  681. data/rbi/metronome_sdk/models/pro_service.rbi +0 -92
  682. data/rbi/metronome_sdk/models/property_filter.rbi +0 -75
  683. data/rbi/metronome_sdk/models/rate.rbi +0 -143
  684. data/rbi/metronome_sdk/models/schedule_duration.rbi +0 -58
  685. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +0 -92
  686. data/rbi/metronome_sdk/models/scheduled_charge.rbi +0 -104
  687. data/rbi/metronome_sdk/models/tier.rbi +0 -22
  688. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +0 -214
  689. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +0 -80
  690. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +0 -62
  691. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +0 -81
  692. data/rbi/metronome_sdk/models/v1/customer.rbi +0 -68
  693. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +0 -175
  694. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +0 -445
  695. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +0 -1756
  696. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +0 -303
  697. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +0 -43
  698. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +0 -48
  699. data/sig/metronome_sdk/models/base_usage_filter.rbs +0 -24
  700. data/sig/metronome_sdk/models/commit.rbs +0 -750
  701. data/sig/metronome_sdk/models/contract_without_amendments.rbs +0 -1122
  702. data/sig/metronome_sdk/models/credit.rbs +0 -415
  703. data/sig/metronome_sdk/models/credit_type_data.rbs +0 -15
  704. data/sig/metronome_sdk/models/discount.rbs +0 -56
  705. data/sig/metronome_sdk/models/event_type_filter.rbs +0 -23
  706. data/sig/metronome_sdk/models/id.rbs +0 -13
  707. data/sig/metronome_sdk/models/override.rbs +0 -343
  708. data/sig/metronome_sdk/models/pro_service.rbs +0 -52
  709. data/sig/metronome_sdk/models/property_filter.rbs +0 -36
  710. data/sig/metronome_sdk/models/rate.rbs +0 -86
  711. data/sig/metronome_sdk/models/schedule_duration.rbs +0 -48
  712. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +0 -65
  713. data/sig/metronome_sdk/models/scheduled_charge.rbs +0 -62
  714. data/sig/metronome_sdk/models/tier.rbs +0 -17
  715. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +0 -104
  716. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +0 -43
  717. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +0 -38
  718. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +0 -44
  719. data/sig/metronome_sdk/models/v1/customer.rbs +0 -38
  720. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +0 -213
  721. data/sig/metronome_sdk/models/v1/plan_detail.rbs +0 -173
  722. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +0 -34
  723. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +0 -34
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9a881fed2cf5ff5c2eabfc23eb2d229ec29288933edd7d3cbb2267d61e27096b
4
- data.tar.gz: 28ce7dc9da20e9cb577dff3380d16bc071eb4bd2789ae5e3a67274fca31e8e0a
3
+ metadata.gz: 3a645770b02b7440ae82c30bcd41b416cca3d0c02650fa028b80ad469ae2af33
4
+ data.tar.gz: 607059caf25c134bc90370fc6bcc86e64a78ca3b8bffde779e7df6f95c9184ff
5
5
  SHA512:
6
- metadata.gz: 4b557ed8d9c7de4e7a764937bedfeb25e5a26c6d9f6b68610b133bebab463cf0d943f8f5d37018e296415208c85bae92002244b7e6f3943e64b162f05c7c33fe
7
- data.tar.gz: 3a2b97a7b75f283fc5f1468fb3bcbfbbf1a3d530f13105fcb9b80e37950c5b473946fd877e7a8801d476521c4c0ad2e567a2c4c2d8854f20fc73cef9161185a4
6
+ metadata.gz: 557dd905500c38ad75d825d159a590f01172d300003fd53c79b48b618f4a5386e7cc521c36be80bd456664e85189bf50528dcf5733fc2adbfec4a3949ef0fe47
7
+ data.tar.gz: c6a62d5582657414e56451293aa6ccbf3727bc47816f1747e1aacee986f9ae79bb07397200bcf7076312f1fcc0a4e45dd39cfa41c079182e013ebc9fdd28b351
data/CHANGELOG.md CHANGED
@@ -1,5 +1,102 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.3 (2025-05-30)
4
+
5
+ Full Changelog: [v0.1.0-alpha.2...v0.1.0-alpha.3](https://github.com/Metronome-Industries/metronome-ruby/compare/v0.1.0-alpha.2...v0.1.0-alpha.3)
6
+
7
+ ### Features
8
+
9
+ * **api:** add subscription quantity history endpoint ([e351c6a](https://github.com/Metronome-Industries/metronome-ruby/commit/e351c6a19805c7ee8b81bf91a53eba9aca23de3b))
10
+ * **api:** api update ([74509d0](https://github.com/Metronome-Industries/metronome-ruby/commit/74509d026a2b1d05de8f01d632265712ec76902c))
11
+ * **api:** api update ([fd3ee7b](https://github.com/Metronome-Industries/metronome-ruby/commit/fd3ee7b5a91c376610c43bca936275acc2496d9a))
12
+ * **api:** api update ([cf7391b](https://github.com/Metronome-Industries/metronome-ruby/commit/cf7391bae153f1ef054eca2b823c2ad24b2a4ca2))
13
+ * **api:** api update ([d20737d](https://github.com/Metronome-Industries/metronome-ruby/commit/d20737d6b20aff070f442cb3d839a6936cefbfd9))
14
+ * **api:** api update ([43088af](https://github.com/Metronome-Industries/metronome-ruby/commit/43088af50aedccdc33d881d798abae2ae43effd4))
15
+ * **api:** api update ([a594256](https://github.com/Metronome-Industries/metronome-ruby/commit/a5942561ba77e6737f173845b8c77851d01bc29e))
16
+ * **api:** api update ([abef131](https://github.com/Metronome-Industries/metronome-ruby/commit/abef13148c6c87616bf17b9d8ddd27fa0720b4d2))
17
+ * **api:** api update ([e43c423](https://github.com/Metronome-Industries/metronome-ruby/commit/e43c4232914c39e151e48408f5e7bc92e3bba344))
18
+ * **api:** api update ([b380b6b](https://github.com/Metronome-Industries/metronome-ruby/commit/b380b6b419c5632c69042c59e56da7dd77b1c48d))
19
+ * **api:** api update ([5f4769e](https://github.com/Metronome-Industries/metronome-ruby/commit/5f4769ef4d7618986889aa65eb27b216925b6b88))
20
+ * **api:** api update ([6bc1ed9](https://github.com/Metronome-Industries/metronome-ruby/commit/6bc1ed9258a3e91af051ad66ce1154ca8f935672))
21
+ * **api:** rename get subscription quantity history to retrieve ([f42dd95](https://github.com/Metronome-Industries/metronome-ruby/commit/f42dd9512d9753529e30d84581d773266d3430a1))
22
+ * bump default connection pool size limit to minimum of 99 ([3505102](https://github.com/Metronome-Industries/metronome-ruby/commit/35051025eee8e1cc82573c6cdb22e5cdbba8bac4))
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * correctly instantiate sorbet type aliases for enums and unions ([1f185c4](https://github.com/Metronome-Industries/metronome-ruby/commit/1f185c48f242edd584803dbe80446c7d1fda8dd0))
28
+ * prevent rubocop from mangling `===` to `is_a?` check ([c83f973](https://github.com/Metronome-Industries/metronome-ruby/commit/c83f9731040b4fb2681463e1462ce0c58fa76a9d))
29
+ * sorbet types for enums, and make tapioca detection ignore `tapioca dsl` ([20f971e](https://github.com/Metronome-Industries/metronome-ruby/commit/20f971e01e29c18fa9da3d8997501ced4201dbcf))
30
+
31
+
32
+ ### Chores
33
+
34
+ * configure new SDK language ([f533e8d](https://github.com/Metronome-Industries/metronome-ruby/commit/f533e8dd8644c8ea438f6415107dae372e066b42))
35
+ * **docs:** grammar improvements ([75acd0d](https://github.com/Metronome-Industries/metronome-ruby/commit/75acd0d91d514981f2289a30d5814b22572937e1))
36
+ * force utf-8 locale via `RUBYOPT` when formatting ([f0d61eb](https://github.com/Metronome-Industries/metronome-ruby/commit/f0d61eb00cc448aea60b083e39becc33ca1dbcda))
37
+ * refine Yard and Sorbet types and ensure linting is turned on for examples ([17087f7](https://github.com/Metronome-Industries/metronome-ruby/commit/17087f718e886d75803b500f31e271eb1372fb1d))
38
+ * update SDK settings ([cba0fb7](https://github.com/Metronome-Industries/metronome-ruby/commit/cba0fb75b0455b8a49cdf6b184a4976792a34e6e))
39
+ * use fully qualified names for yard annotations and rbs aliases ([e6c95d3](https://github.com/Metronome-Industries/metronome-ruby/commit/e6c95d341d8d28396ccc7a986afe0930749d32c8))
40
+ * use sorbet union aliases where available ([0070ea5](https://github.com/Metronome-Industries/metronome-ruby/commit/0070ea559f406fa847bc4078f346923469a404d8))
41
+ * whitespaces ([e343538](https://github.com/Metronome-Industries/metronome-ruby/commit/e343538c481650b8e1ad74a25e32635261f4d132))
42
+
43
+
44
+ ### Documentation
45
+
46
+ * rewrite much of README.md for readability ([c653f5e](https://github.com/Metronome-Industries/metronome-ruby/commit/c653f5e7a6c5b176c3ca4b566afd0ed612ef4e3d))
47
+
48
+ ## 0.1.0-alpha.2 (2025-05-14)
49
+
50
+ Full Changelog: [v0.1.0-alpha.1...v0.1.0-alpha.2](https://github.com/Metronome-Industries/metronome-ruby/compare/v0.1.0-alpha.1...v0.1.0-alpha.2)
51
+
52
+ ### Features
53
+
54
+ * **api:** api update ([a4f836d](https://github.com/Metronome-Industries/metronome-ruby/commit/a4f836d0ae211f507a54922859668ff35f94ce8e))
55
+ * **api:** api update ([688aade](https://github.com/Metronome-Industries/metronome-ruby/commit/688aade989f1758a41c10b7f7fe7e45a58f698bd))
56
+ * **api:** api update ([5ab431c](https://github.com/Metronome-Industries/metronome-ruby/commit/5ab431c2dc27ce3534f7d3afc3b4f5279438039d))
57
+ * **api:** api update ([b2a6fc9](https://github.com/Metronome-Industries/metronome-ruby/commit/b2a6fc947c7b844733d8064ec0e69997aeee34ce))
58
+ * **api:** api update ([01b3764](https://github.com/Metronome-Industries/metronome-ruby/commit/01b3764c3dcf27595b55098c751e1c2a93e5cfe5))
59
+ * **api:** api update ([6046a6d](https://github.com/Metronome-Industries/metronome-ruby/commit/6046a6db516552be6164f54f3e810461a9c18bd1))
60
+ * **api:** api update ([1aa390e](https://github.com/Metronome-Industries/metronome-ruby/commit/1aa390e7a464b8668e96574cf429b590ecc52914))
61
+ * **api:** api update ([c03bee8](https://github.com/Metronome-Industries/metronome-ruby/commit/c03bee8d5f7c5b9db872275edf5b69f912be7e13))
62
+ * **api:** api update ([9d59ec2](https://github.com/Metronome-Industries/metronome-ruby/commit/9d59ec25eed7f832cf734545fa50b3a5bd8c2bec))
63
+ * **api:** api update ([2650244](https://github.com/Metronome-Industries/metronome-ruby/commit/26502443fad8129531a2a74dcd69593a1fa64823))
64
+ * expose base client options as read only attributes ([4f569b2](https://github.com/Metronome-Industries/metronome-ruby/commit/4f569b2a9eee829bf49214da8f478f8588c600bb))
65
+ * expose recursive `#to_h` conversion ([d780fc3](https://github.com/Metronome-Industries/metronome-ruby/commit/d780fc3aa31b3d1b9418d86626ca8366f9e9a6ce))
66
+ * support sorbet aliases at the runtime ([9f251f3](https://github.com/Metronome-Industries/metronome-ruby/commit/9f251f3d72fe0032aa22feeed55417ac3ea87315))
67
+
68
+
69
+ ### Bug Fixes
70
+
71
+ * **internal:** ensure formatting always uses c.utf-8 locale ([47ab8ad](https://github.com/Metronome-Industries/metronome-ruby/commit/47ab8ad4e70b382911b002a5d06c637ebb63e9f2))
72
+ * **internal:** fix formatting script for macos ([cd28a47](https://github.com/Metronome-Industries/metronome-ruby/commit/cd28a47d72d6e2c0ca42348bb0851ce5d10a7c5b))
73
+ * **internal:** update gemspec name ([1e9d5b2](https://github.com/Metronome-Industries/metronome-ruby/commit/1e9d5b242fb7a15182ce0908bc7dd2ce141f67e0))
74
+
75
+
76
+ ### Chores
77
+
78
+ * accept all nd-json mimetype variants ([c8cc15c](https://github.com/Metronome-Industries/metronome-ruby/commit/c8cc15c35825ca171c9f831924d854bcf29a71f0))
79
+ * always check if current page is empty in `next_page?` ([af6bc25](https://github.com/Metronome-Industries/metronome-ruby/commit/af6bc253a97f594f109516027a76fb3ae143a529))
80
+ * fix misc linting / minor issues ([afd7f7c](https://github.com/Metronome-Industries/metronome-ruby/commit/afd7f7c2cd1ced12d750a19bb97c1789160d329b))
81
+ * **internal:** codegen related update ([4c6b071](https://github.com/Metronome-Industries/metronome-ruby/commit/4c6b071f35043f8f449a489fb893f83103933afa))
82
+ * **internal:** codegen related update ([ce299e2](https://github.com/Metronome-Industries/metronome-ruby/commit/ce299e225e9d43e7e7e55bfd057ffaa32d958368))
83
+ * **internal:** codegen related update ([f5b8a2b](https://github.com/Metronome-Industries/metronome-ruby/commit/f5b8a2b7e65c01e6bffd12f2c505bf175309b197))
84
+ * **internal:** codegen related update ([4e241c7](https://github.com/Metronome-Industries/metronome-ruby/commit/4e241c7c11c917708bca0abea5e9723922b3dc09))
85
+ * loosen rubocop rules that don't always make sense ([f69c36b](https://github.com/Metronome-Industries/metronome-ruby/commit/f69c36bb3fac830b3142cfceab8bb190c3c47c4f))
86
+ * migrate away from deprecated `JSON#fast_generate` ([8b10970](https://github.com/Metronome-Industries/metronome-ruby/commit/8b109703a565463d836b639dc1bd8770dfd4d650))
87
+ * re-export top level models under library namespace ([2498d75](https://github.com/Metronome-Industries/metronome-ruby/commit/2498d75c53a4aa16a05dd1776d2d1d2ca8c14815))
88
+ * remove Gemfile.lock during bootstrap ([459e324](https://github.com/Metronome-Industries/metronome-ruby/commit/459e324ac0108b3bc68e8c0a173e36dcd0242019))
89
+ * reorganize type aliases ([bc60bc8](https://github.com/Metronome-Industries/metronome-ruby/commit/bc60bc83989da9809c45477034015c6e993e5827))
90
+ * revert ignoring Gemfile.lock ([51f355e](https://github.com/Metronome-Industries/metronome-ruby/commit/51f355ec8087755200d92f1c499ee694d187288d))
91
+ * validate request option coercion correctness ([940e426](https://github.com/Metronome-Industries/metronome-ruby/commit/940e4261d5730dc65821703c5bb64971331f4be4))
92
+
93
+
94
+ ### Documentation
95
+
96
+ * illustrate environmental defaults for auth variables ([731c295](https://github.com/Metronome-Industries/metronome-ruby/commit/731c2954a9fa2c3b60f6243a02b0afdefaf738c4))
97
+ * **readme:** fix typo ([c88281b](https://github.com/Metronome-Industries/metronome-ruby/commit/c88281b645e5f0c4cd1ec042cb8a4db0f83c156c))
98
+ * remove or fix invalid readme examples ([780d102](https://github.com/Metronome-Industries/metronome-ruby/commit/780d10248cd977d4d7cb6c5d99f3e60db5716ef0))
99
+
3
100
  ## 0.1.0-alpha.1 (2025-04-28)
4
101
 
5
102
  Full Changelog: [v0.0.1-alpha.0...v0.1.0-alpha.1](https://github.com/Metronome-Industries/metronome-ruby/compare/v0.0.1-alpha.0...v0.1.0-alpha.1)
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Metronome Ruby API library
2
2
 
3
- The Metronome Ruby library provides convenient access to the Metronome REST API from any Ruby 3.1.0+ application.
3
+ The Metronome Ruby library provides convenient access to the Metronome REST API from any Ruby 3.2.0+ application. It ships with comprehensive types & docstrings in Yard, RBS, and RBI – [see below](https://github.com/Metronome-Industries/metronome-ruby#Sorbet) for usage with Sorbet. The standard library's `net/http` is used as the HTTP transport, with connection pooling via the `connection_pool` gem.
4
4
 
5
5
  It is generated with [Stainless](https://www.stainless.com/).
6
6
 
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "metronome-sdk", "~> 0.1.0.pre.alpha.1"
20
+ gem "metronome-sdk", "~> 0.1.0.pre.alpha.3"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -29,7 +29,7 @@ require "bundler/setup"
29
29
  require "metronome_sdk"
30
30
 
31
31
  metronome = MetronomeSDK::Client.new(
32
- bearer_token: "My Bearer Token" # defaults to ENV["METRONOME_BEARER_TOKEN"]
32
+ bearer_token: ENV["METRONOME_BEARER_TOKEN"] # This is the default and can be omitted
33
33
  )
34
34
 
35
35
  result = metronome.v1.usage.ingest(
@@ -47,26 +47,6 @@ result = metronome.v1.usage.ingest(
47
47
  puts(result)
48
48
  ```
49
49
 
50
- ## Sorbet
51
-
52
- This library is written with [Sorbet type definitions](https://sorbet.org/docs/rbi). However, there is no runtime dependency on the `sorbet-runtime`.
53
-
54
- When using sorbet, it is recommended to use model classes as below. This provides stronger type checking and tooling integration.
55
-
56
- ```ruby
57
- metronome.v1.usage.ingest(
58
- usage: [
59
- MetronomeSDK::Models::V1::UsageIngestParams::Usage.new(
60
- transaction_id: "90e9401f-0f8c-4cd3-9a9f-d6beb56d8d72",
61
- customer_id: "team@example.com",
62
- event_type: "heartbeat",
63
- timestamp: "2024-01-01T00:00:00Z",
64
- properties: {cluster_id: "42", cpu_seconds: 60, region: "Europe"}
65
- )
66
- ]
67
- )
68
- ```
69
-
70
50
  ### Pagination
71
51
 
72
52
  List methods in the Metronome API are paginated.
@@ -86,19 +66,37 @@ page.auto_paging_each do |product|
86
66
  end
87
67
  ```
88
68
 
89
- ### Errors
69
+ Alternatively, you can use the `#next_page?` and `#next_page` methods for more granular control working with pages.
70
+
71
+ ```ruby
72
+ if page.next_page?
73
+ new_page = page.next_page
74
+ puts(new_page.data[0].id)
75
+ end
76
+ ```
77
+
78
+ ### Handling errors
90
79
 
91
80
  When the library is unable to connect to the API, or if the API returns a non-success status code (i.e., 4xx or 5xx response), a subclass of `MetronomeSDK::Errors::APIError` will be thrown:
92
81
 
93
82
  ```ruby
94
83
  begin
95
- contract = metronome.v1.contracts.create
96
- rescue MetronomeSDK::Errors::APIError => e
97
- puts(e.status) # 400
84
+ contract = metronome.v1.contracts.create(
85
+ customer_id: "13117714-3f05-48e5-a6e9-a66093f13b4d",
86
+ starting_at: "2020-01-01T00:00:00.000Z"
87
+ )
88
+ rescue MetronomeSDK::Errors::APIConnectionError => e
89
+ puts("The server could not be reached")
90
+ puts(e.cause) # an underlying Exception, likely raised within `net/http`
91
+ rescue MetronomeSDK::Errors::RateLimitError => e
92
+ puts("A 429 status code was received; we should back off a bit.")
93
+ rescue MetronomeSDK::Errors::APIStatusError => e
94
+ puts("Another non-200-range status code was received")
95
+ puts(e.status)
98
96
  end
99
97
  ```
100
98
 
101
- Error codes are as followed:
99
+ Error codes are as follows:
102
100
 
103
101
  | Cause | Error Type |
104
102
  | ---------------- | -------------------------- |
@@ -129,16 +127,16 @@ metronome = MetronomeSDK::Client.new(
129
127
  )
130
128
 
131
129
  # Or, configure per-request:
132
- metronome.v1.contracts.create(request_options: {max_retries: 5})
130
+ metronome.v1.contracts.create(
131
+ customer_id: "13117714-3f05-48e5-a6e9-a66093f13b4d",
132
+ starting_at: "2020-01-01T00:00:00.000Z",
133
+ request_options: {max_retries: 5}
134
+ )
133
135
  ```
134
136
 
135
137
  ### Timeouts
136
138
 
137
- By default, requests will time out after 60 seconds.
138
-
139
- Timeouts are applied separately to the initial connection and the overall request time, so in some cases a request could wait 2\*timeout seconds before it fails.
140
-
141
- You can use the `timeout` option to configure or disable this:
139
+ By default, requests will time out after 60 seconds. You can use the timeout option to configure or disable this:
142
140
 
143
141
  ```ruby
144
142
  # Configure the default for all requests:
@@ -147,60 +145,61 @@ metronome = MetronomeSDK::Client.new(
147
145
  )
148
146
 
149
147
  # Or, configure per-request:
150
- metronome.v1.contracts.create(request_options: {timeout: 5})
148
+ metronome.v1.contracts.create(
149
+ customer_id: "13117714-3f05-48e5-a6e9-a66093f13b4d",
150
+ starting_at: "2020-01-01T00:00:00.000Z",
151
+ request_options: {timeout: 5}
152
+ )
151
153
  ```
152
154
 
153
- ## Model DSL
155
+ On timeout, `MetronomeSDK::Errors::APITimeoutError` is raised.
154
156
 
155
- This library uses a simple DSL to represent request parameters and response shapes in `lib/metronome_sdk/models`.
157
+ Note that requests that time out are retried by default.
156
158
 
157
- With the right [editor plugins](https://shopify.github.io/ruby-lsp), you can ctrl-click on elements of the DSL to navigate around and explore the library.
159
+ ## Advanced concepts
158
160
 
159
- In all places where a `BaseModel` type is specified, vanilla Ruby `Hash` can also be used. For example, the following are interchangeable as arguments:
161
+ ### BaseModel
160
162
 
161
- ```ruby
162
- # This has tooling readability, for auto-completion, static analysis, and goto definition with supported language services
163
- params = MetronomeSDK::Models::V1::UsageIngestParams.new(
164
- usage: [
165
- MetronomeSDK::Models::V1::UsageIngestParams::Usage.new(
166
- transaction_id: "90e9401f-0f8c-4cd3-9a9f-d6beb56d8d72",
167
- customer_id: "team@example.com",
168
- event_type: "heartbeat",
169
- timestamp: "2024-01-01T00:00:00Z",
170
- properties: {cluster_id: "42", cpu_seconds: 60, region: "Europe"}
171
- )
172
- ]
173
- )
163
+ All parameter and response objects inherit from `MetronomeSDK::Internal::Type::BaseModel`, which provides several conveniences, including:
174
164
 
175
- # This also works
176
- params = {
177
- usage: [
178
- {
179
- transaction_id: "90e9401f-0f8c-4cd3-9a9f-d6beb56d8d72",
180
- customer_id: "team@example.com",
181
- event_type: "heartbeat",
182
- timestamp: "2024-01-01T00:00:00Z",
183
- properties: {cluster_id: "42", cpu_seconds: 60, region: "Europe"}
184
- }
185
- ]
186
- }
187
- ```
165
+ 1. All fields, including unknown ones, are accessible with `obj[:prop]` syntax, and can be destructured with `obj => {prop: prop}` or pattern-matching syntax.
188
166
 
189
- ## Editor support
167
+ 2. Structural equivalence for equality; if two API calls return the same values, comparing the responses with == will return true.
190
168
 
191
- A combination of [Shopify LSP](https://shopify.github.io/ruby-lsp) and [Solargraph](https://solargraph.org/) is recommended for non-[Sorbet](https://sorbet.org) users. The former is especially good at go to definition, while the latter has much better auto-completion support.
169
+ 3. Both instances and the classes themselves can be pretty-printed.
192
170
 
193
- ## Advanced concepts
171
+ 4. Helpers such as `#to_h`, `#deep_to_h`, `#to_json`, and `#to_yaml`.
194
172
 
195
- ### Making custom/undocumented requests
173
+ ### Making custom or undocumented requests
174
+
175
+ #### Undocumented properties
176
+
177
+ You can send undocumented parameters to any endpoint, and read undocumented response properties, like so:
178
+
179
+ Note: the `extra_` parameters of the same name overrides the documented parameters.
180
+
181
+ ```ruby
182
+ contract =
183
+ metronome.v1.contracts.create(
184
+ customer_id: "13117714-3f05-48e5-a6e9-a66093f13b4d",
185
+ starting_at: "2020-01-01T00:00:00.000Z",
186
+ request_options: {
187
+ extra_query: {my_query_parameter: value},
188
+ extra_body: {my_body_parameter: value},
189
+ extra_headers: {"my-header": value}
190
+ }
191
+ )
192
+
193
+ puts(contract[:my_undocumented_property])
194
+ ```
196
195
 
197
196
  #### Undocumented request params
198
197
 
199
- If you want to explicitly send an extra param, you can do so with the `extra_query`, `extra_body`, and `extra_headers` under the `request_options:` parameter when making a requests as seen in examples above.
198
+ If you want to explicitly send an extra param, you can do so with the `extra_query`, `extra_body`, and `extra_headers` under the `request_options:` parameter when making a request, as seen in the examples above.
200
199
 
201
200
  #### Undocumented endpoints
202
201
 
203
- To make requests to undocumented endpoints, you can make requests using `client.request`. Options on the client will be respected (such as retries) when making this request.
202
+ To make requests to undocumented endpoints while retaining the benefit of auth, retries, and so on, you can make requests using `client.request`, like so:
204
203
 
205
204
  ```ruby
206
205
  response = client.request(
@@ -208,30 +207,60 @@ response = client.request(
208
207
  path: '/undocumented/endpoint',
209
208
  query: {"dog": "woof"},
210
209
  headers: {"useful-header": "interesting-value"},
211
- body: {"he": "llo"},
210
+ body: {"hello": "world"}
212
211
  )
213
212
  ```
214
213
 
215
214
  ### Concurrency & connection pooling
216
215
 
217
- The `MetronomeSDK::Client` instances are thread-safe, and should be re-used across multiple threads. By default, each `Client` have their own HTTP connection pool, with a maximum number of connections equal to thread count.
216
+ The `MetronomeSDK::Client` instances are threadsafe, but are only are fork-safe when there are no in-flight HTTP requests.
217
+
218
+ Each instance of `MetronomeSDK::Client` has its own HTTP connection pool with a default size of 99. As such, we recommend instantiating the client once per application in most settings.
218
219
 
219
- When the maximum number of connections has been checked out from the connection pool, the `Client` will wait for an in use connection to become available. The queue time for this mechanism is accounted for by the per-request timeout.
220
+ When all available connections from the pool are checked out, requests wait for a new connection to become available, with queue time counting towards the request timeout.
220
221
 
221
222
  Unless otherwise specified, other classes in the SDK do not have locks protecting their underlying data structure.
222
223
 
223
- Currently, `MetronomeSDK::Client` instances are only fork-safe if there are no in-flight HTTP requests.
224
+ ## Sorbet
225
+
226
+ This library provides comprehensive [RBI](https://sorbet.org/docs/rbi) definitions, and has no dependency on sorbet-runtime.
224
227
 
225
- ### Sorbet
228
+ You can provide typesafe request parameters like so:
226
229
 
227
- #### Argument passing trick
230
+ ```ruby
231
+ metronome.v1.usage.ingest(
232
+ usage: [
233
+ MetronomeSDK::V1::UsageIngestParams::Usage.new(
234
+ transaction_id: "90e9401f-0f8c-4cd3-9a9f-d6beb56d8d72",
235
+ customer_id: "team@example.com",
236
+ event_type: "heartbeat",
237
+ timestamp: "2024-01-01T00:00:00Z",
238
+ properties: {cluster_id: "42", cpu_seconds: 60, region: "Europe"}
239
+ )
240
+ ]
241
+ )
242
+ ```
228
243
 
229
- It is possible to pass a compatible model / parameter class to a method that expects keyword arguments by using the `**` splat operator.
244
+ Or, equivalently:
230
245
 
231
246
  ```ruby
232
- params = MetronomeSDK::Models::V1::UsageIngestParams.new(
247
+ # Hashes work, but are not typesafe:
248
+ metronome.v1.usage.ingest(
233
249
  usage: [
234
- MetronomeSDK::Models::V1::UsageIngestParams::Usage.new(
250
+ {
251
+ transaction_id: "90e9401f-0f8c-4cd3-9a9f-d6beb56d8d72",
252
+ customer_id: "team@example.com",
253
+ event_type: "heartbeat",
254
+ timestamp: "2024-01-01T00:00:00Z",
255
+ properties: {cluster_id: "42", cpu_seconds: 60, region: "Europe"}
256
+ }
257
+ ]
258
+ )
259
+
260
+ # You can also splat a full Params class:
261
+ params = MetronomeSDK::V1::UsageIngestParams.new(
262
+ usage: [
263
+ MetronomeSDK::V1::UsageIngestParams::Usage.new(
235
264
  transaction_id: "90e9401f-0f8c-4cd3-9a9f-d6beb56d8d72",
236
265
  customer_id: "team@example.com",
237
266
  event_type: "heartbeat",
@@ -243,6 +272,34 @@ params = MetronomeSDK::Models::V1::UsageIngestParams.new(
243
272
  metronome.v1.usage.ingest(**params)
244
273
  ```
245
274
 
275
+ ### Enums
276
+
277
+ Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::Enum`](https://sorbet.org/docs/tenum) instances. Instead, we provide "tagged symbols" instead, which is always a primitive at runtime:
278
+
279
+ ```ruby
280
+ # :low_credit_balance_reached
281
+ puts(MetronomeSDK::V1::AlertCreateParams::AlertType::LOW_CREDIT_BALANCE_REACHED)
282
+
283
+ # Revealed type: `T.all(MetronomeSDK::V1::AlertCreateParams::AlertType, Symbol)`
284
+ T.reveal_type(MetronomeSDK::V1::AlertCreateParams::AlertType::LOW_CREDIT_BALANCE_REACHED)
285
+ ```
286
+
287
+ Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
288
+
289
+ ```ruby
290
+ # Using the enum constants preserves the tagged type information:
291
+ metronome.v1.alerts.create(
292
+ alert_type: MetronomeSDK::V1::AlertCreateParams::AlertType::LOW_CREDIT_BALANCE_REACHED,
293
+ # …
294
+ )
295
+
296
+ # Literal values are also permissible:
297
+ metronome.v1.alerts.create(
298
+ alert_type: :low_credit_balance_reached,
299
+ # …
300
+ )
301
+ ```
302
+
246
303
  ## Versioning
247
304
 
248
305
  This package follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions. As the library is in initial development and has a major version of `0`, APIs may change at any time.
@@ -251,7 +308,7 @@ This package considers improvements to the (non-runtime) `*.rbi` and `*.rbs` typ
251
308
 
252
309
  ## Requirements
253
310
 
254
- Ruby 3.1.0 or higher.
311
+ Ruby 3.2.0 or higher.
255
312
 
256
313
  ## Contributing
257
314
 
data/SECURITY.md CHANGED
@@ -16,11 +16,11 @@ before making any information public.
16
16
  ## Reporting Non-SDK Related Security Issues
17
17
 
18
18
  If you encounter security issues that are not directly related to SDKs but pertain to the services
19
- or products provided by Metronome please follow the respective company's security reporting guidelines.
19
+ or products provided by Metronome, please follow the respective company's security reporting guidelines.
20
20
 
21
21
  ### Metronome Terms and Policies
22
22
 
23
- Please contact dev-feedback@metronome.com for any questions or concerns regarding security of our services.
23
+ Please contact dev-feedback@metronome.com for any questions or concerns regarding the security of our services.
24
24
 
25
25
  ---
26
26
 
@@ -50,10 +50,10 @@ module MetronomeSDK
50
50
  def initialize(
51
51
  bearer_token: ENV["METRONOME_BEARER_TOKEN"],
52
52
  base_url: ENV["METRONOME_BASE_URL"],
53
- max_retries: MetronomeSDK::Client::DEFAULT_MAX_RETRIES,
54
- timeout: MetronomeSDK::Client::DEFAULT_TIMEOUT_IN_SECONDS,
55
- initial_retry_delay: MetronomeSDK::Client::DEFAULT_INITIAL_RETRY_DELAY,
56
- max_retry_delay: MetronomeSDK::Client::DEFAULT_MAX_RETRY_DELAY
53
+ max_retries: self.class::DEFAULT_MAX_RETRIES,
54
+ timeout: self.class::DEFAULT_TIMEOUT_IN_SECONDS,
55
+ initial_retry_delay: self.class::DEFAULT_INITIAL_RETRY_DELAY,
56
+ max_retry_delay: self.class::DEFAULT_MAX_RETRY_DELAY
57
57
  )
58
58
  base_url ||= "https://api.metronome.com"
59
59
 
@@ -99,7 +99,7 @@ module MetronomeSDK
99
99
  # @param response [nil]
100
100
  # @param message [String, nil]
101
101
  #
102
- # @return [MetronomeSDK::Errors::APIStatusError]
102
+ # @return [self]
103
103
  def self.for(url:, status:, body:, request:, response:, message: nil)
104
104
  kwargs = {
105
105
  url: url,
@@ -45,9 +45,9 @@ module MetronomeSDK
45
45
  @filename =
46
46
  case content
47
47
  in Pathname
48
- filename.nil? ? content.basename.to_path : File.basename(filename)
48
+ filename.nil? ? content.basename.to_path : ::File.basename(filename)
49
49
  else
50
- filename.nil? ? nil : File.basename(filename)
50
+ filename.nil? ? nil : ::File.basename(filename)
51
51
  end
52
52
  @content_type = content_type
53
53
  end
@@ -24,7 +24,7 @@ module MetronomeSDK
24
24
 
25
25
  # @return [Boolean]
26
26
  def next_page?
27
- !next_page_.nil?
27
+ !data.to_a.empty? && !next_page_.to_s.empty?
28
28
  end
29
29
 
30
30
  # @raise [MetronomeSDK::HTTP::Error]
@@ -67,8 +67,8 @@ module MetronomeSDK
67
67
 
68
68
  @next_page_ = page_data[:next_page]
69
69
  case page_data
70
- in {data: Array | nil => data}
71
- @data = data&.map { MetronomeSDK::Internal::Type::Converter.coerce(@model, _1) }
70
+ in {data: Array => data}
71
+ @data = data.map { MetronomeSDK::Internal::Type::Converter.coerce(@model, _1) }
72
72
  else
73
73
  end
74
74
  end