metronome-sdk 0.1.0.pre.alpha.3 → 0.1.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 (417) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +56 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  7. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  8. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  9. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  10. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  11. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  12. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  14. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  15. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  16. data/lib/metronome_sdk/internal/util.rb +8 -9
  17. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  18. data/lib/metronome_sdk/models/commit.rb +1053 -0
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +2043 -0
  20. data/lib/metronome_sdk/models/credit.rb +677 -0
  21. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  22. data/lib/metronome_sdk/models/discount.rb +68 -0
  23. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  24. data/lib/metronome_sdk/models/id.rb +15 -0
  25. data/lib/metronome_sdk/models/override.rb +381 -0
  26. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  27. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  28. data/lib/metronome_sdk/models/rate.rb +101 -0
  29. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  30. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  31. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  32. data/lib/metronome_sdk/models/tier.rb +21 -0
  33. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  34. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  35. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  37. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  39. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  40. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  41. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  42. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  43. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  45. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  46. data/lib/metronome_sdk/models/v1/contract_create_params.rb +792 -104
  47. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  49. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  50. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  54. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  55. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  57. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  58. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  59. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  60. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  61. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  62. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  63. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  64. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  65. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  81. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  82. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  83. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  85. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  86. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  87. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  88. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  89. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  90. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  91. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  92. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  93. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  94. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  95. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  96. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  97. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  98. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  99. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  100. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  101. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  102. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  103. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +9 -1
  105. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  106. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  108. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +9 -1
  109. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  110. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  111. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  112. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  113. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  114. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  115. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  116. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  117. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  118. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  119. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  120. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  121. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  122. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  123. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  124. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  125. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  126. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  127. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  129. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  130. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1127 -105
  131. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  132. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +577 -643
  133. data/lib/metronome_sdk/models/v2/contract_list_response.rb +917 -746
  134. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +917 -748
  135. data/lib/metronome_sdk/models.rb +36 -4
  136. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  137. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  138. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  139. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  140. data/lib/metronome_sdk/resources/v1/contracts.rb +11 -5
  141. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  142. data/lib/metronome_sdk/resources/v1/customers/commits.rb +5 -3
  143. data/lib/metronome_sdk/resources/v1/customers/credits.rb +3 -1
  144. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  145. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  146. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  147. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  148. data/lib/metronome_sdk/version.rb +1 -1
  149. data/lib/metronome_sdk.rb +31 -2
  150. data/rbi/metronome_sdk/errors.rbi +16 -0
  151. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  152. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  153. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  154. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  155. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  156. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  157. data/rbi/metronome_sdk/models/commit.rbi +2046 -0
  158. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +4260 -0
  159. data/rbi/metronome_sdk/models/credit.rbi +1314 -0
  160. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  161. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  162. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  163. data/rbi/metronome_sdk/models/id.rbi +23 -0
  164. data/rbi/metronome_sdk/models/override.rbi +675 -0
  165. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  166. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  167. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  168. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  169. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  170. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  171. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  172. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  173. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  174. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  175. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  176. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  177. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  178. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  179. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  180. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  181. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  182. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  183. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  184. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  185. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1738 -210
  186. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  187. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  188. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  189. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  190. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  191. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  192. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  193. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  194. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  195. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  199. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  201. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  202. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  203. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  204. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  214. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  215. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  216. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  217. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  218. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  219. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  220. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  221. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  222. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  223. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  224. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  225. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  226. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  227. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  228. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  229. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  230. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  231. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  232. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  233. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  234. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  235. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  236. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  237. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  238. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  239. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  240. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  241. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  242. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  243. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +11 -0
  244. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  245. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  246. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  247. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +11 -0
  248. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  249. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  250. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  251. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  252. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  253. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  254. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  255. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  256. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  257. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  258. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  259. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  260. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  261. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  262. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  263. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  264. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  265. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  266. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  267. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  268. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  269. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +2463 -206
  270. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  271. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1381 -1550
  272. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +2017 -1466
  273. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +2017 -1466
  274. data/rbi/metronome_sdk/models.rbi +32 -0
  275. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  276. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  277. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  278. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  279. data/rbi/metronome_sdk/resources/v1/contracts.rbi +13 -4
  280. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  281. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +9 -4
  282. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +3 -0
  283. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  284. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  285. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  286. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  287. data/sig/metronome_sdk/errors.rbs +9 -0
  288. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  289. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  290. data/sig/metronome_sdk/models/commit.rbs +1063 -0
  291. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1828 -0
  292. data/sig/metronome_sdk/models/credit.rbs +686 -0
  293. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  294. data/sig/metronome_sdk/models/discount.rbs +63 -0
  295. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  296. data/sig/metronome_sdk/models/id.rbs +13 -0
  297. data/sig/metronome_sdk/models/override.rbs +399 -0
  298. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  299. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  300. data/sig/metronome_sdk/models/rate.rbs +94 -0
  301. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  302. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  303. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  304. data/sig/metronome_sdk/models/tier.rbs +17 -0
  305. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  308. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  309. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  310. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  311. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  312. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  313. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  314. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  315. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  317. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +694 -84
  318. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  319. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  320. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  321. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  322. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  323. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  324. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  325. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  326. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  327. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  328. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  330. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  331. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  333. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  334. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  336. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  337. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  338. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  340. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  341. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  342. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  343. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  344. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  345. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  346. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  347. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  348. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  349. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  350. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  351. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  352. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  353. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  354. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  355. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  356. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  357. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  358. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  359. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  360. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  361. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  362. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  363. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  364. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  365. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  366. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  367. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  368. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  369. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  370. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  371. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  372. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  373. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  374. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +7 -0
  375. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  376. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  377. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  378. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +7 -0
  379. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  380. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  381. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  382. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  383. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  384. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  385. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  387. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  388. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  389. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  390. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  391. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  392. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  393. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  394. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  395. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  396. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  397. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  398. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  399. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  400. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +989 -77
  401. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  402. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +510 -655
  403. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +970 -809
  404. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +970 -809
  405. data/sig/metronome_sdk/models.rbs +32 -0
  406. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  407. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  408. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  409. data/sig/metronome_sdk/resources/v1/contracts.rbs +4 -1
  410. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  411. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  412. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  413. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  414. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  415. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  416. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  417. metadata +97 -10
@@ -39,13 +39,7 @@ module MetronomeSDK
39
39
  sig { returns(String) }
40
40
  attr_accessor :customer_id
41
41
 
42
- sig do
43
- returns(
44
- T::Array[
45
- MetronomeSDK::Models::V1::CreditGrantListResponse::Deduction
46
- ]
47
- )
48
- end
42
+ sig { returns(T::Array[MetronomeSDK::V1::CreditLedgerEntry]) }
49
43
  attr_accessor :deductions
50
44
 
51
45
  sig { returns(Time) }
@@ -87,13 +81,7 @@ module MetronomeSDK
87
81
  end
88
82
  attr_writer :paid_amount
89
83
 
90
- sig do
91
- returns(
92
- T::Array[
93
- MetronomeSDK::Models::V1::CreditGrantListResponse::PendingDeduction
94
- ]
95
- )
96
- end
84
+ sig { returns(T::Array[MetronomeSDK::V1::CreditLedgerEntry]) }
97
85
  attr_accessor :pending_deductions
98
86
 
99
87
  sig { returns(Float) }
@@ -146,10 +134,7 @@ module MetronomeSDK
146
134
  MetronomeSDK::Models::V1::CreditGrantListResponse::Balance::OrHash,
147
135
  custom_fields: T::Hash[Symbol, String],
148
136
  customer_id: String,
149
- deductions:
150
- T::Array[
151
- MetronomeSDK::Models::V1::CreditGrantListResponse::Deduction::OrHash
152
- ],
137
+ deductions: T::Array[MetronomeSDK::V1::CreditLedgerEntry::OrHash],
153
138
  effective_at: Time,
154
139
  expires_at: Time,
155
140
  grant_amount:
@@ -158,9 +143,7 @@ module MetronomeSDK
158
143
  paid_amount:
159
144
  MetronomeSDK::Models::V1::CreditGrantListResponse::PaidAmount::OrHash,
160
145
  pending_deductions:
161
- T::Array[
162
- MetronomeSDK::Models::V1::CreditGrantListResponse::PendingDeduction::OrHash
163
- ],
146
+ T::Array[MetronomeSDK::V1::CreditLedgerEntry::OrHash],
164
147
  priority: Float,
165
148
  credit_grant_type: T.nilable(String),
166
149
  invoice_id: T.nilable(String),
@@ -215,10 +198,7 @@ module MetronomeSDK
215
198
  MetronomeSDK::Models::V1::CreditGrantListResponse::Balance,
216
199
  custom_fields: T::Hash[Symbol, String],
217
200
  customer_id: String,
218
- deductions:
219
- T::Array[
220
- MetronomeSDK::Models::V1::CreditGrantListResponse::Deduction
221
- ],
201
+ deductions: T::Array[MetronomeSDK::V1::CreditLedgerEntry],
222
202
  effective_at: Time,
223
203
  expires_at: Time,
224
204
  grant_amount:
@@ -226,10 +206,7 @@ module MetronomeSDK
226
206
  name: String,
227
207
  paid_amount:
228
208
  MetronomeSDK::Models::V1::CreditGrantListResponse::PaidAmount,
229
- pending_deductions:
230
- T::Array[
231
- MetronomeSDK::Models::V1::CreditGrantListResponse::PendingDeduction
232
- ],
209
+ pending_deductions: T::Array[MetronomeSDK::V1::CreditLedgerEntry],
233
210
  priority: Float,
234
211
  credit_grant_type: T.nilable(String),
235
212
  invoice_id: T.nilable(String),
@@ -305,89 +282,6 @@ module MetronomeSDK
305
282
  end
306
283
  end
307
284
 
308
- class Deduction < MetronomeSDK::Internal::Type::BaseModel
309
- OrHash =
310
- T.type_alias do
311
- T.any(
312
- MetronomeSDK::Models::V1::CreditGrantListResponse::Deduction,
313
- MetronomeSDK::Internal::AnyHash
314
- )
315
- end
316
-
317
- # an amount representing the change to the customer's credit balance
318
- sig { returns(Float) }
319
- attr_accessor :amount
320
-
321
- sig { returns(String) }
322
- attr_accessor :created_by
323
-
324
- # the credit grant this entry is related to
325
- sig { returns(String) }
326
- attr_accessor :credit_grant_id
327
-
328
- sig { returns(Time) }
329
- attr_accessor :effective_at
330
-
331
- sig { returns(String) }
332
- attr_accessor :reason
333
-
334
- # the running balance for this credit type at the time of the ledger entry,
335
- # including all preceding charges
336
- sig { returns(Float) }
337
- attr_accessor :running_balance
338
-
339
- # if this entry is a deduction, the Metronome ID of the invoice where the credit
340
- # deduction was consumed; if this entry is a grant, the Metronome ID of the
341
- # invoice where the grant's paid_amount was charged
342
- sig { returns(T.nilable(String)) }
343
- attr_accessor :invoice_id
344
-
345
- sig do
346
- params(
347
- amount: Float,
348
- created_by: String,
349
- credit_grant_id: String,
350
- effective_at: Time,
351
- reason: String,
352
- running_balance: Float,
353
- invoice_id: T.nilable(String)
354
- ).returns(T.attached_class)
355
- end
356
- def self.new(
357
- # an amount representing the change to the customer's credit balance
358
- amount:,
359
- created_by:,
360
- # the credit grant this entry is related to
361
- credit_grant_id:,
362
- effective_at:,
363
- reason:,
364
- # the running balance for this credit type at the time of the ledger entry,
365
- # including all preceding charges
366
- running_balance:,
367
- # if this entry is a deduction, the Metronome ID of the invoice where the credit
368
- # deduction was consumed; if this entry is a grant, the Metronome ID of the
369
- # invoice where the grant's paid_amount was charged
370
- invoice_id: nil
371
- )
372
- end
373
-
374
- sig do
375
- override.returns(
376
- {
377
- amount: Float,
378
- created_by: String,
379
- credit_grant_id: String,
380
- effective_at: Time,
381
- reason: String,
382
- running_balance: Float,
383
- invoice_id: T.nilable(String)
384
- }
385
- )
386
- end
387
- def to_hash
388
- end
389
- end
390
-
391
285
  class GrantAmount < MetronomeSDK::Internal::Type::BaseModel
392
286
  OrHash =
393
287
  T.type_alias do
@@ -401,27 +295,17 @@ module MetronomeSDK
401
295
  attr_accessor :amount
402
296
 
403
297
  # the credit type for the amount granted
404
- sig do
405
- returns(
406
- MetronomeSDK::Models::V1::CreditGrantListResponse::GrantAmount::CreditType
407
- )
408
- end
298
+ sig { returns(MetronomeSDK::CreditTypeData) }
409
299
  attr_reader :credit_type
410
300
 
411
- sig do
412
- params(
413
- credit_type:
414
- MetronomeSDK::Models::V1::CreditGrantListResponse::GrantAmount::CreditType::OrHash
415
- ).void
416
- end
301
+ sig { params(credit_type: MetronomeSDK::CreditTypeData::OrHash).void }
417
302
  attr_writer :credit_type
418
303
 
419
304
  # the amount of credits initially granted
420
305
  sig do
421
306
  params(
422
307
  amount: Float,
423
- credit_type:
424
- MetronomeSDK::Models::V1::CreditGrantListResponse::GrantAmount::CreditType::OrHash
308
+ credit_type: MetronomeSDK::CreditTypeData::OrHash
425
309
  ).returns(T.attached_class)
426
310
  end
427
311
  def self.new(
@@ -433,40 +317,11 @@ module MetronomeSDK
433
317
 
434
318
  sig do
435
319
  override.returns(
436
- {
437
- amount: Float,
438
- credit_type:
439
- MetronomeSDK::Models::V1::CreditGrantListResponse::GrantAmount::CreditType
440
- }
320
+ { amount: Float, credit_type: MetronomeSDK::CreditTypeData }
441
321
  )
442
322
  end
443
323
  def to_hash
444
324
  end
445
-
446
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
447
- OrHash =
448
- T.type_alias do
449
- T.any(
450
- MetronomeSDK::Models::V1::CreditGrantListResponse::GrantAmount::CreditType,
451
- MetronomeSDK::Internal::AnyHash
452
- )
453
- end
454
-
455
- sig { returns(String) }
456
- attr_accessor :id
457
-
458
- sig { returns(String) }
459
- attr_accessor :name
460
-
461
- # the credit type for the amount granted
462
- sig { params(id: String, name: String).returns(T.attached_class) }
463
- def self.new(id:, name:)
464
- end
465
-
466
- sig { override.returns({ id: String, name: String }) }
467
- def to_hash
468
- end
469
- end
470
325
  end
471
326
 
472
327
  class PaidAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -482,27 +337,17 @@ module MetronomeSDK
482
337
  attr_accessor :amount
483
338
 
484
339
  # the credit type for the amount paid
485
- sig do
486
- returns(
487
- MetronomeSDK::Models::V1::CreditGrantListResponse::PaidAmount::CreditType
488
- )
489
- end
340
+ sig { returns(MetronomeSDK::CreditTypeData) }
490
341
  attr_reader :credit_type
491
342
 
492
- sig do
493
- params(
494
- credit_type:
495
- MetronomeSDK::Models::V1::CreditGrantListResponse::PaidAmount::CreditType::OrHash
496
- ).void
497
- end
343
+ sig { params(credit_type: MetronomeSDK::CreditTypeData::OrHash).void }
498
344
  attr_writer :credit_type
499
345
 
500
346
  # the amount paid for this credit grant
501
347
  sig do
502
348
  params(
503
349
  amount: Float,
504
- credit_type:
505
- MetronomeSDK::Models::V1::CreditGrantListResponse::PaidAmount::CreditType::OrHash
350
+ credit_type: MetronomeSDK::CreditTypeData::OrHash
506
351
  ).returns(T.attached_class)
507
352
  end
508
353
  def self.new(
@@ -514,119 +359,7 @@ module MetronomeSDK
514
359
 
515
360
  sig do
516
361
  override.returns(
517
- {
518
- amount: Float,
519
- credit_type:
520
- MetronomeSDK::Models::V1::CreditGrantListResponse::PaidAmount::CreditType
521
- }
522
- )
523
- end
524
- def to_hash
525
- end
526
-
527
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
528
- OrHash =
529
- T.type_alias do
530
- T.any(
531
- MetronomeSDK::Models::V1::CreditGrantListResponse::PaidAmount::CreditType,
532
- MetronomeSDK::Internal::AnyHash
533
- )
534
- end
535
-
536
- sig { returns(String) }
537
- attr_accessor :id
538
-
539
- sig { returns(String) }
540
- attr_accessor :name
541
-
542
- # the credit type for the amount paid
543
- sig { params(id: String, name: String).returns(T.attached_class) }
544
- def self.new(id:, name:)
545
- end
546
-
547
- sig { override.returns({ id: String, name: String }) }
548
- def to_hash
549
- end
550
- end
551
- end
552
-
553
- class PendingDeduction < MetronomeSDK::Internal::Type::BaseModel
554
- OrHash =
555
- T.type_alias do
556
- T.any(
557
- MetronomeSDK::Models::V1::CreditGrantListResponse::PendingDeduction,
558
- MetronomeSDK::Internal::AnyHash
559
- )
560
- end
561
-
562
- # an amount representing the change to the customer's credit balance
563
- sig { returns(Float) }
564
- attr_accessor :amount
565
-
566
- sig { returns(String) }
567
- attr_accessor :created_by
568
-
569
- # the credit grant this entry is related to
570
- sig { returns(String) }
571
- attr_accessor :credit_grant_id
572
-
573
- sig { returns(Time) }
574
- attr_accessor :effective_at
575
-
576
- sig { returns(String) }
577
- attr_accessor :reason
578
-
579
- # the running balance for this credit type at the time of the ledger entry,
580
- # including all preceding charges
581
- sig { returns(Float) }
582
- attr_accessor :running_balance
583
-
584
- # if this entry is a deduction, the Metronome ID of the invoice where the credit
585
- # deduction was consumed; if this entry is a grant, the Metronome ID of the
586
- # invoice where the grant's paid_amount was charged
587
- sig { returns(T.nilable(String)) }
588
- attr_accessor :invoice_id
589
-
590
- sig do
591
- params(
592
- amount: Float,
593
- created_by: String,
594
- credit_grant_id: String,
595
- effective_at: Time,
596
- reason: String,
597
- running_balance: Float,
598
- invoice_id: T.nilable(String)
599
- ).returns(T.attached_class)
600
- end
601
- def self.new(
602
- # an amount representing the change to the customer's credit balance
603
- amount:,
604
- created_by:,
605
- # the credit grant this entry is related to
606
- credit_grant_id:,
607
- effective_at:,
608
- reason:,
609
- # the running balance for this credit type at the time of the ledger entry,
610
- # including all preceding charges
611
- running_balance:,
612
- # if this entry is a deduction, the Metronome ID of the invoice where the credit
613
- # deduction was consumed; if this entry is a grant, the Metronome ID of the
614
- # invoice where the grant's paid_amount was charged
615
- invoice_id: nil
616
- )
617
- end
618
-
619
- sig do
620
- override.returns(
621
- {
622
- amount: Float,
623
- created_by: String,
624
- credit_grant_id: String,
625
- effective_at: Time,
626
- reason: String,
627
- running_balance: Float,
628
- invoice_id: T.nilable(String)
629
- }
362
+ { amount: Float, credit_type: MetronomeSDK::CreditTypeData }
630
363
  )
631
364
  end
632
365
  def to_hash
@@ -12,54 +12,19 @@ module MetronomeSDK
12
12
  )
13
13
  end
14
14
 
15
- sig { returns(MetronomeSDK::Models::V1::CreditGrantVoidResponse::Data) }
15
+ sig { returns(MetronomeSDK::ID) }
16
16
  attr_reader :data
17
17
 
18
- sig do
19
- params(
20
- data:
21
- MetronomeSDK::Models::V1::CreditGrantVoidResponse::Data::OrHash
22
- ).void
23
- end
18
+ sig { params(data: MetronomeSDK::ID::OrHash).void }
24
19
  attr_writer :data
25
20
 
26
- sig do
27
- params(
28
- data:
29
- MetronomeSDK::Models::V1::CreditGrantVoidResponse::Data::OrHash
30
- ).returns(T.attached_class)
31
- end
21
+ sig { params(data: MetronomeSDK::ID::OrHash).returns(T.attached_class) }
32
22
  def self.new(data:)
33
23
  end
34
24
 
35
- sig do
36
- override.returns(
37
- { data: MetronomeSDK::Models::V1::CreditGrantVoidResponse::Data }
38
- )
39
- end
25
+ sig { override.returns({ data: MetronomeSDK::ID }) }
40
26
  def to_hash
41
27
  end
42
-
43
- class Data < MetronomeSDK::Internal::Type::BaseModel
44
- OrHash =
45
- T.type_alias do
46
- T.any(
47
- MetronomeSDK::Models::V1::CreditGrantVoidResponse::Data,
48
- MetronomeSDK::Internal::AnyHash
49
- )
50
- end
51
-
52
- sig { returns(String) }
53
- attr_accessor :id
54
-
55
- sig { params(id: String).returns(T.attached_class) }
56
- def self.new(id:)
57
- end
58
-
59
- sig { override.returns({ id: String }) }
60
- def to_hash
61
- end
62
- end
63
28
  end
64
29
  end
65
30
  end
@@ -0,0 +1,90 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class CreditLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ MetronomeSDK::V1::CreditLedgerEntry,
11
+ MetronomeSDK::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # an amount representing the change to the customer's credit balance
16
+ sig { returns(Float) }
17
+ attr_accessor :amount
18
+
19
+ sig { returns(String) }
20
+ attr_accessor :created_by
21
+
22
+ # the credit grant this entry is related to
23
+ sig { returns(String) }
24
+ attr_accessor :credit_grant_id
25
+
26
+ sig { returns(Time) }
27
+ attr_accessor :effective_at
28
+
29
+ sig { returns(String) }
30
+ attr_accessor :reason
31
+
32
+ # the running balance for this credit type at the time of the ledger entry,
33
+ # including all preceding charges
34
+ sig { returns(Float) }
35
+ attr_accessor :running_balance
36
+
37
+ # if this entry is a deduction, the Metronome ID of the invoice where the credit
38
+ # deduction was consumed; if this entry is a grant, the Metronome ID of the
39
+ # invoice where the grant's paid_amount was charged
40
+ sig { returns(T.nilable(String)) }
41
+ attr_accessor :invoice_id
42
+
43
+ sig do
44
+ params(
45
+ amount: Float,
46
+ created_by: String,
47
+ credit_grant_id: String,
48
+ effective_at: Time,
49
+ reason: String,
50
+ running_balance: Float,
51
+ invoice_id: T.nilable(String)
52
+ ).returns(T.attached_class)
53
+ end
54
+ def self.new(
55
+ # an amount representing the change to the customer's credit balance
56
+ amount:,
57
+ created_by:,
58
+ # the credit grant this entry is related to
59
+ credit_grant_id:,
60
+ effective_at:,
61
+ reason:,
62
+ # the running balance for this credit type at the time of the ledger entry,
63
+ # including all preceding charges
64
+ running_balance:,
65
+ # if this entry is a deduction, the Metronome ID of the invoice where the credit
66
+ # deduction was consumed; if this entry is a grant, the Metronome ID of the
67
+ # invoice where the grant's paid_amount was charged
68
+ invoice_id: nil
69
+ )
70
+ end
71
+
72
+ sig do
73
+ override.returns(
74
+ {
75
+ amount: Float,
76
+ created_by: String,
77
+ credit_grant_id: String,
78
+ effective_at: Time,
79
+ reason: String,
80
+ running_balance: Float,
81
+ invoice_id: T.nilable(String)
82
+ }
83
+ )
84
+ end
85
+ def to_hash
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,74 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class Customer < MetronomeSDK::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(MetronomeSDK::V1::Customer, MetronomeSDK::Internal::AnyHash)
10
+ end
11
+
12
+ # the Metronome ID of the customer
13
+ sig { returns(String) }
14
+ attr_accessor :id
15
+
16
+ # (deprecated, use ingest_aliases instead) the first ID (Metronome or ingest
17
+ # alias) that can be used in usage events
18
+ sig { returns(String) }
19
+ attr_accessor :external_id
20
+
21
+ # aliases for this customer that can be used instead of the Metronome customer ID
22
+ # in usage events
23
+ sig { returns(T::Array[String]) }
24
+ attr_accessor :ingest_aliases
25
+
26
+ sig { returns(String) }
27
+ attr_accessor :name
28
+
29
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
30
+ attr_reader :custom_fields
31
+
32
+ sig { params(custom_fields: T::Hash[Symbol, String]).void }
33
+ attr_writer :custom_fields
34
+
35
+ sig do
36
+ params(
37
+ id: String,
38
+ external_id: String,
39
+ ingest_aliases: T::Array[String],
40
+ name: String,
41
+ custom_fields: T::Hash[Symbol, String]
42
+ ).returns(T.attached_class)
43
+ end
44
+ def self.new(
45
+ # the Metronome ID of the customer
46
+ id:,
47
+ # (deprecated, use ingest_aliases instead) the first ID (Metronome or ingest
48
+ # alias) that can be used in usage events
49
+ external_id:,
50
+ # aliases for this customer that can be used instead of the Metronome customer ID
51
+ # in usage events
52
+ ingest_aliases:,
53
+ name:,
54
+ custom_fields: nil
55
+ )
56
+ end
57
+
58
+ sig do
59
+ override.returns(
60
+ {
61
+ id: String,
62
+ external_id: String,
63
+ ingest_aliases: T::Array[String],
64
+ name: String,
65
+ custom_fields: T::Hash[Symbol, String]
66
+ }
67
+ )
68
+ end
69
+ def to_hash
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -3,7 +3,7 @@
3
3
  module MetronomeSDK
4
4
  module Models
5
5
  module V1
6
- class CustomerArchiveParams < MetronomeSDK::Internal::Type::BaseModel
6
+ class CustomerArchiveParams < MetronomeSDK::Models::ID
7
7
  extend MetronomeSDK::Internal::Type::RequestParameters::Converter
8
8
  include MetronomeSDK::Internal::Type::RequestParameters
9
9
 
@@ -15,22 +15,16 @@ module MetronomeSDK
15
15
  )
16
16
  end
17
17
 
18
- sig { returns(String) }
19
- attr_accessor :id
20
-
21
18
  sig do
22
- params(
23
- id: String,
24
- request_options: MetronomeSDK::RequestOptions::OrHash
25
- ).returns(T.attached_class)
19
+ params(request_options: MetronomeSDK::RequestOptions::OrHash).returns(
20
+ T.attached_class
21
+ )
26
22
  end
27
- def self.new(id:, request_options: {})
23
+ def self.new(request_options: {})
28
24
  end
29
25
 
30
26
  sig do
31
- override.returns(
32
- { id: String, request_options: MetronomeSDK::RequestOptions }
33
- )
27
+ override.returns({ request_options: MetronomeSDK::RequestOptions })
34
28
  end
35
29
  def to_hash
36
30
  end
@@ -12,54 +12,19 @@ module MetronomeSDK
12
12
  )
13
13
  end
14
14
 
15
- sig { returns(MetronomeSDK::Models::V1::CustomerArchiveResponse::Data) }
15
+ sig { returns(MetronomeSDK::ID) }
16
16
  attr_reader :data
17
17
 
18
- sig do
19
- params(
20
- data:
21
- MetronomeSDK::Models::V1::CustomerArchiveResponse::Data::OrHash
22
- ).void
23
- end
18
+ sig { params(data: MetronomeSDK::ID::OrHash).void }
24
19
  attr_writer :data
25
20
 
26
- sig do
27
- params(
28
- data:
29
- MetronomeSDK::Models::V1::CustomerArchiveResponse::Data::OrHash
30
- ).returns(T.attached_class)
31
- end
21
+ sig { params(data: MetronomeSDK::ID::OrHash).returns(T.attached_class) }
32
22
  def self.new(data:)
33
23
  end
34
24
 
35
- sig do
36
- override.returns(
37
- { data: MetronomeSDK::Models::V1::CustomerArchiveResponse::Data }
38
- )
39
- end
25
+ sig { override.returns({ data: MetronomeSDK::ID }) }
40
26
  def to_hash
41
27
  end
42
-
43
- class Data < MetronomeSDK::Internal::Type::BaseModel
44
- OrHash =
45
- T.type_alias do
46
- T.any(
47
- MetronomeSDK::Models::V1::CustomerArchiveResponse::Data,
48
- MetronomeSDK::Internal::AnyHash
49
- )
50
- end
51
-
52
- sig { returns(String) }
53
- attr_accessor :id
54
-
55
- sig { params(id: String).returns(T.attached_class) }
56
- def self.new(id:)
57
- end
58
-
59
- sig { override.returns({ id: String }) }
60
- def to_hash
61
- end
62
- end
63
28
  end
64
29
  end
65
30
  end