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

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 (403) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  6. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  7. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  8. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  9. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  10. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  11. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  12. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  14. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  15. data/lib/metronome_sdk/internal/util.rb +8 -9
  16. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  17. data/lib/metronome_sdk/models/commit.rb +1010 -0
  18. data/lib/metronome_sdk/models/contract_without_amendments.rb +1803 -0
  19. data/lib/metronome_sdk/models/credit.rb +634 -0
  20. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  21. data/lib/metronome_sdk/models/discount.rb +68 -0
  22. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  23. data/lib/metronome_sdk/models/id.rb +15 -0
  24. data/lib/metronome_sdk/models/override.rb +381 -0
  25. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  26. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  27. data/lib/metronome_sdk/models/rate.rb +101 -0
  28. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  29. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  30. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  31. data/lib/metronome_sdk/models/tier.rb +21 -0
  32. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  33. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  34. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  35. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  37. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  42. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  45. data/lib/metronome_sdk/models/v1/contract_create_params.rb +550 -102
  46. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  47. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  48. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  51. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  52. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  53. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  55. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  57. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  58. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  59. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  60. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  61. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  62. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  63. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  64. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  65. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  73. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  79. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  80. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  81. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  82. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  83. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  85. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  86. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  87. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  88. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  89. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  90. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  91. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  92. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  93. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  94. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  95. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  96. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  97. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  98. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  99. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  100. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  101. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  102. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  103. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  105. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  106. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  108. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  109. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  110. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  111. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  112. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  113. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  114. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  115. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  116. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  117. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  118. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  119. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  120. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  121. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  122. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  123. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  124. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  125. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  126. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +885 -103
  127. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +351 -625
  129. data/lib/metronome_sdk/models/v2/contract_list_response.rb +590 -749
  130. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +590 -751
  131. data/lib/metronome_sdk/models.rb +36 -4
  132. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  133. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  134. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  135. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  136. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -4
  137. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  138. data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -2
  139. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  140. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  141. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  142. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  143. data/lib/metronome_sdk/version.rb +1 -1
  144. data/lib/metronome_sdk.rb +31 -2
  145. data/rbi/metronome_sdk/errors.rbi +16 -0
  146. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  147. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  148. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  149. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  150. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  151. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  152. data/rbi/metronome_sdk/models/commit.rbi +1962 -0
  153. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +3676 -0
  154. data/rbi/metronome_sdk/models/credit.rbi +1230 -0
  155. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  156. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  157. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  158. data/rbi/metronome_sdk/models/id.rbi +23 -0
  159. data/rbi/metronome_sdk/models/override.rbi +675 -0
  160. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  161. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  162. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  163. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  164. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  165. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  166. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  167. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  168. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  169. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  170. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  171. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  172. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  173. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  174. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  175. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  176. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  177. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  178. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  179. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  180. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1100 -172
  181. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  182. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  183. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  184. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  185. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  186. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  187. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  188. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  189. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  190. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  191. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  192. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  193. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  194. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  195. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  199. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  203. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  204. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  214. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  215. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  216. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  217. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  218. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  219. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  220. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  221. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  222. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  223. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  224. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  225. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  226. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  227. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  228. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  229. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  230. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  231. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  232. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  233. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  234. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  235. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  236. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  237. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  238. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  239. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  240. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  241. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  242. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  243. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  244. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  245. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  246. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  247. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  248. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  249. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  250. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  251. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  252. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  253. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  254. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  255. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  256. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  257. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  258. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  259. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  260. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  261. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1859 -202
  262. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  263. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +700 -1447
  264. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +1204 -1472
  265. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +1204 -1472
  266. data/rbi/metronome_sdk/models.rbi +32 -0
  267. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  268. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  269. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  270. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  271. data/rbi/metronome_sdk/resources/v1/contracts.rbi +10 -4
  272. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  273. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +6 -4
  274. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  275. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  276. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  277. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  278. data/sig/metronome_sdk/errors.rbs +9 -0
  279. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  280. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  281. data/sig/metronome_sdk/models/commit.rbs +1020 -0
  282. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1582 -0
  283. data/sig/metronome_sdk/models/credit.rbs +643 -0
  284. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  285. data/sig/metronome_sdk/models/discount.rbs +63 -0
  286. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  287. data/sig/metronome_sdk/models/id.rbs +13 -0
  288. data/sig/metronome_sdk/models/override.rbs +399 -0
  289. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  290. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  291. data/sig/metronome_sdk/models/rate.rbs +94 -0
  292. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  293. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  294. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  295. data/sig/metronome_sdk/models/tier.rbs +17 -0
  296. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  297. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  298. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  299. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  300. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  301. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  302. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  303. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  304. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  305. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  308. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +448 -84
  309. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  310. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  311. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  312. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  313. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  314. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  315. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  317. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  318. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  319. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  321. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  322. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  323. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  324. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  325. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  326. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  327. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  328. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  336. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  337. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  338. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  340. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  341. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  342. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  343. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  344. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  345. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  346. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  347. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  348. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  349. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  350. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  351. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  352. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  353. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  354. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  355. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  356. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  357. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  358. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  359. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  360. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  361. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  362. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  363. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  364. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  365. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  366. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  367. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  368. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  369. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  370. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  371. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  372. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  373. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  374. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  375. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  376. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  377. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  378. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  379. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  380. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  381. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  382. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  383. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  384. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  385. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  387. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  388. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +743 -77
  389. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  390. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +274 -665
  391. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +567 -759
  392. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +567 -759
  393. data/sig/metronome_sdk/models.rbs +32 -0
  394. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  395. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  396. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  397. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -1
  398. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  399. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  400. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  401. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  402. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  403. metadata +95 -8
@@ -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