metronome-sdk 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +61 -0
  3. data/README.md +9 -9
  4. data/lib/metronome_sdk/internal/body_cursor_page.rb +86 -0
  5. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +86 -0
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -4
  7. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +1 -9
  8. data/lib/metronome_sdk/internal/type/array_of.rb +1 -0
  9. data/lib/metronome_sdk/internal/type/base_model.rb +9 -14
  10. data/lib/metronome_sdk/internal/type/converter.rb +27 -0
  11. data/lib/metronome_sdk/internal/type/hash_of.rb +1 -0
  12. data/lib/metronome_sdk/internal/type/union.rb +20 -7
  13. data/lib/metronome_sdk/internal/util.rb +1 -1
  14. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  15. data/lib/metronome_sdk/models/commit.rb +26 -170
  16. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  17. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  18. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  19. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  20. data/lib/metronome_sdk/models/contract.rb +404 -0
  21. data/lib/metronome_sdk/models/contract_v2.rb +2919 -0
  22. data/lib/metronome_sdk/models/contract_without_amendments.rb +36 -1126
  23. data/lib/metronome_sdk/models/credit.rb +9 -156
  24. data/lib/metronome_sdk/models/discount.rb +2 -1
  25. data/lib/metronome_sdk/models/hierarchy_configuration.rb +76 -0
  26. data/lib/metronome_sdk/models/override.rb +6 -101
  27. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  28. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  29. data/lib/metronome_sdk/models/payment_gate_config.rb +149 -0
  30. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +149 -0
  31. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  32. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  33. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  34. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  35. data/lib/metronome_sdk/models/schedule_point_in_time.rb +14 -1
  36. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  37. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  38. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  39. data/lib/metronome_sdk/models/subscription.rb +227 -0
  40. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  41. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -6
  42. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  43. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  44. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  45. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +110 -415
  46. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  47. data/lib/metronome_sdk/models/v1/contract_create_params.rb +287 -1480
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  49. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +9 -1
  55. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  56. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  57. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  60. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  61. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  62. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  63. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  66. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  67. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  68. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  69. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  70. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  71. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  72. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  73. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  74. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  75. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  76. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  77. data/lib/metronome_sdk/models/v1/customer_detail.rb +2 -1
  78. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  79. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +1 -3
  80. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  81. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  82. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  83. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +1 -3
  84. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +30 -1
  85. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  86. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  87. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +20 -61
  88. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  89. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +8 -16
  90. data/lib/metronome_sdk/models/v1/customers/invoice.rb +68 -43
  91. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  92. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  93. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  94. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  95. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  96. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  97. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  98. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  99. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  100. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  101. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  102. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  103. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +38 -58
  104. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +35 -49
  105. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +469 -2302
  106. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +358 -2414
  107. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  108. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  109. data/lib/metronome_sdk/models.rb +38 -0
  110. data/lib/metronome_sdk/resources/v1/alerts.rb +72 -2
  111. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  112. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  113. data/lib/metronome_sdk/resources/v1/contracts/products.rb +27 -6
  114. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  115. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  116. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  117. data/lib/metronome_sdk/resources/v1/contracts.rb +254 -18
  118. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  119. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  120. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +103 -8
  121. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  122. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  123. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +124 -8
  124. data/lib/metronome_sdk/resources/v1/customers.rb +169 -12
  125. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  126. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  127. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  128. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  129. data/lib/metronome_sdk/resources/v1/usage.rb +185 -12
  130. data/lib/metronome_sdk/resources/v2/contracts.rb +118 -18
  131. data/lib/metronome_sdk/version.rb +1 -1
  132. data/lib/metronome_sdk.rb +24 -3
  133. data/rbi/metronome_sdk/errors.rbi +2 -2
  134. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  135. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  136. data/rbi/metronome_sdk/internal/type/converter.rbi +58 -0
  137. data/rbi/metronome_sdk/internal/type/union.rbi +9 -2
  138. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  139. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  140. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  141. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  142. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  143. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  144. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  145. data/rbi/metronome_sdk/models/contract_v2.rbi +5822 -0
  146. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +184 -2507
  147. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  148. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  149. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +180 -0
  150. data/rbi/metronome_sdk/models/override.rbi +8 -193
  151. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  152. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  153. data/rbi/metronome_sdk/models/payment_gate_config.rbi +312 -0
  154. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +321 -0
  155. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  156. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  157. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  158. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  159. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +17 -1
  160. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  161. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  162. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  163. data/rbi/metronome_sdk/models/subscription.rbi +460 -0
  164. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  165. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -3
  166. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  167. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  168. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +120 -771
  169. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  170. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1613 -4069
  171. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  172. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  173. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  174. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  175. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +11 -0
  176. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  177. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  178. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  179. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  180. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  181. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  182. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  183. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  184. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  185. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  186. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  187. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  188. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  189. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  190. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  191. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  192. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +2 -0
  193. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  194. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  195. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  196. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  197. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +60 -0
  198. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  199. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  200. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +19 -90
  201. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  202. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +6 -3
  203. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +76 -0
  204. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  205. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  206. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  207. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  208. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  209. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  210. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  211. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +66 -76
  212. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +66 -76
  213. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3563 -7329
  214. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1181 -6070
  215. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  216. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  217. data/rbi/metronome_sdk/models.rbi +44 -0
  218. data/rbi/metronome_sdk/resources/v1/alerts.rbi +72 -2
  219. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  220. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  221. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +27 -5
  222. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  223. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  224. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  225. data/rbi/metronome_sdk/resources/v1/contracts.rbi +257 -16
  226. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  227. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  228. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +108 -5
  229. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  230. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  231. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +123 -7
  232. data/rbi/metronome_sdk/resources/v1/customers.rbi +156 -11
  233. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  234. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  235. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  236. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  237. data/rbi/metronome_sdk/resources/v1/usage.rbi +188 -12
  238. data/rbi/metronome_sdk/resources/v2/contracts.rbi +128 -23
  239. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  240. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  241. data/sig/metronome_sdk/internal/type/converter.rbs +17 -0
  242. data/sig/metronome_sdk/internal/type/union.rbs +2 -2
  243. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  244. data/sig/metronome_sdk/models/commit.rbs +17 -170
  245. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  246. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  247. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  248. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  249. data/sig/metronome_sdk/models/contract.rbs +398 -0
  250. data/sig/metronome_sdk/models/contract_v2.rbs +2881 -0
  251. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  252. data/sig/metronome_sdk/models/credit.rbs +12 -170
  253. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +71 -0
  254. data/sig/metronome_sdk/models/override.rbs +12 -101
  255. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  256. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  257. data/sig/metronome_sdk/models/payment_gate_config.rbs +123 -0
  258. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +123 -0
  259. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  260. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  261. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  262. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +7 -0
  263. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  264. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  265. data/sig/metronome_sdk/models/subscription.rbs +215 -0
  266. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  267. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  268. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +62 -343
  269. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +218 -1234
  270. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  271. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  272. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  273. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  274. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +7 -0
  275. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  276. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  277. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  278. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  279. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  280. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  281. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  282. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  283. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  284. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  285. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  286. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  287. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  288. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  289. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +13 -50
  290. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  291. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  292. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +5 -0
  293. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  294. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +24 -43
  295. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +24 -43
  296. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +400 -1911
  297. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +256 -2249
  298. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  299. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  300. data/sig/metronome_sdk/models.rbs +38 -0
  301. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +1 -0
  302. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  303. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  304. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  305. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  306. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  307. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  308. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  309. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  310. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  311. data/sig/metronome_sdk/resources/v2/contracts.rbs +9 -4
  312. metadata +74 -11
  313. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  314. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  315. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  316. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  317. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  318. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  319. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  320. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  321. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -352,6 +352,16 @@ module MetronomeSDK
352
352
  :send_invoice,
353
353
  MetronomeSDK::V1::Customers::BillingConfigCreateParams::StripeCollectionMethod::TaggedSymbol
354
354
  )
355
+ AUTO_CHARGE_PAYMENT_INTENT =
356
+ T.let(
357
+ :auto_charge_payment_intent,
358
+ MetronomeSDK::V1::Customers::BillingConfigCreateParams::StripeCollectionMethod::TaggedSymbol
359
+ )
360
+ MANUALLY_CHARGE_PAYMENT_INTENT =
361
+ T.let(
362
+ :manually_charge_payment_intent,
363
+ MetronomeSDK::V1::Customers::BillingConfigCreateParams::StripeCollectionMethod::TaggedSymbol
364
+ )
355
365
 
356
366
  sig do
357
367
  override.returns(
@@ -438,6 +438,16 @@ module MetronomeSDK
438
438
  :send_invoice,
439
439
  MetronomeSDK::Models::V1::Customers::BillingConfigRetrieveResponse::Data::StripeCollectionMethod::TaggedSymbol
440
440
  )
441
+ AUTO_CHARGE_PAYMENT_INTENT =
442
+ T.let(
443
+ :auto_charge_payment_intent,
444
+ MetronomeSDK::Models::V1::Customers::BillingConfigRetrieveResponse::Data::StripeCollectionMethod::TaggedSymbol
445
+ )
446
+ MANUALLY_CHARGE_PAYMENT_INTENT =
447
+ T.let(
448
+ :manually_charge_payment_intent,
449
+ MetronomeSDK::Models::V1::Customers::BillingConfigRetrieveResponse::Data::StripeCollectionMethod::TaggedSymbol
450
+ )
441
451
 
442
452
  sig do
443
453
  override.returns(
@@ -79,6 +79,7 @@ module MetronomeSDK
79
79
  sig { params(applicable_product_tags: T::Array[String]).void }
80
80
  attr_writer :applicable_product_tags
81
81
 
82
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
82
83
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
83
84
  attr_reader :custom_fields
84
85
 
@@ -165,22 +166,13 @@ module MetronomeSDK
165
166
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
166
167
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
167
168
  sig do
168
- returns(
169
- T.nilable(
170
- T::Array[
171
- MetronomeSDK::V1::Customers::CommitCreateParams::Specifier
172
- ]
173
- )
174
- )
169
+ returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput]))
175
170
  end
176
171
  attr_reader :specifiers
177
172
 
178
173
  sig do
179
174
  params(
180
- specifiers:
181
- T::Array[
182
- MetronomeSDK::V1::Customers::CommitCreateParams::Specifier::OrHash
183
- ]
175
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
184
176
  ).void
185
177
  end
186
178
  attr_writer :specifiers
@@ -217,10 +209,7 @@ module MetronomeSDK
217
209
  rate_type:
218
210
  MetronomeSDK::V1::Customers::CommitCreateParams::RateType::OrSymbol,
219
211
  salesforce_opportunity_id: String,
220
- specifiers:
221
- T::Array[
222
- MetronomeSDK::V1::Customers::CommitCreateParams::Specifier::OrHash
223
- ],
212
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash],
224
213
  uniqueness_key: String,
225
214
  request_options: MetronomeSDK::RequestOptions::OrHash
226
215
  ).returns(T.attached_class)
@@ -248,6 +237,7 @@ module MetronomeSDK
248
237
  # applicable_product_tags or specifiers are not provided, the commit applies to
249
238
  # all products.
250
239
  applicable_product_tags: nil,
240
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
251
241
  custom_fields: nil,
252
242
  # Used only in UI/API. It is not exposed to end customers.
253
243
  description: nil,
@@ -304,10 +294,7 @@ module MetronomeSDK
304
294
  rate_type:
305
295
  MetronomeSDK::V1::Customers::CommitCreateParams::RateType::OrSymbol,
306
296
  salesforce_opportunity_id: String,
307
- specifiers:
308
- T::Array[
309
- MetronomeSDK::V1::Customers::CommitCreateParams::Specifier
310
- ],
297
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput],
311
298
  uniqueness_key: String,
312
299
  request_options: MetronomeSDK::RequestOptions
313
300
  }
@@ -469,6 +456,14 @@ module MetronomeSDK
469
456
  sig { params(credit_type_id: String).void }
470
457
  attr_writer :credit_type_id
471
458
 
459
+ # This field is only applicable to commit invoice schedules. If true, this
460
+ # schedule will not generate an invoice.
461
+ sig { returns(T.nilable(T::Boolean)) }
462
+ attr_reader :do_not_invoice
463
+
464
+ sig { params(do_not_invoice: T::Boolean).void }
465
+ attr_writer :do_not_invoice
466
+
472
467
  # Enter the unit price and quantity for the charge or instead only send the
473
468
  # amount. If amount is sent, the unit price is assumed to be the amount and
474
469
  # quantity is inferred to be 1.
@@ -518,6 +513,7 @@ module MetronomeSDK
518
513
  sig do
519
514
  params(
520
515
  credit_type_id: String,
516
+ do_not_invoice: T::Boolean,
521
517
  recurring_schedule:
522
518
  MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule::OrHash,
523
519
  schedule_items:
@@ -529,6 +525,9 @@ module MetronomeSDK
529
525
  def self.new(
530
526
  # Defaults to USD (cents) if not passed.
531
527
  credit_type_id: nil,
528
+ # This field is only applicable to commit invoice schedules. If true, this
529
+ # schedule will not generate an invoice.
530
+ do_not_invoice: nil,
532
531
  # Enter the unit price and quantity for the charge or instead only send the
533
532
  # amount. If amount is sent, the unit price is assumed to be the amount and
534
533
  # quantity is inferred to be 1.
@@ -542,6 +541,7 @@ module MetronomeSDK
542
541
  override.returns(
543
542
  {
544
543
  credit_type_id: String,
544
+ do_not_invoice: T::Boolean,
545
545
  recurring_schedule:
546
546
  MetronomeSDK::V1::Customers::CommitCreateParams::InvoiceSchedule::RecurringSchedule,
547
547
  schedule_items:
@@ -866,77 +866,6 @@ module MetronomeSDK
866
866
  def self.values
867
867
  end
868
868
  end
869
-
870
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
871
- OrHash =
872
- T.type_alias do
873
- T.any(
874
- MetronomeSDK::V1::Customers::CommitCreateParams::Specifier,
875
- MetronomeSDK::Internal::AnyHash
876
- )
877
- end
878
-
879
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
880
- attr_reader :presentation_group_values
881
-
882
- sig do
883
- params(presentation_group_values: T::Hash[Symbol, String]).void
884
- end
885
- attr_writer :presentation_group_values
886
-
887
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
888
- attr_reader :pricing_group_values
889
-
890
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
891
- attr_writer :pricing_group_values
892
-
893
- # If provided, the specifier will only apply to the product with the specified ID.
894
- sig { returns(T.nilable(String)) }
895
- attr_reader :product_id
896
-
897
- sig { params(product_id: String).void }
898
- attr_writer :product_id
899
-
900
- # If provided, the specifier will only apply to products with all the specified
901
- # tags.
902
- sig { returns(T.nilable(T::Array[String])) }
903
- attr_reader :product_tags
904
-
905
- sig { params(product_tags: T::Array[String]).void }
906
- attr_writer :product_tags
907
-
908
- sig do
909
- params(
910
- presentation_group_values: T::Hash[Symbol, String],
911
- pricing_group_values: T::Hash[Symbol, String],
912
- product_id: String,
913
- product_tags: T::Array[String]
914
- ).returns(T.attached_class)
915
- end
916
- def self.new(
917
- presentation_group_values: nil,
918
- pricing_group_values: nil,
919
- # If provided, the specifier will only apply to the product with the specified ID.
920
- product_id: nil,
921
- # If provided, the specifier will only apply to products with all the specified
922
- # tags.
923
- product_tags: nil
924
- )
925
- end
926
-
927
- sig do
928
- override.returns(
929
- {
930
- presentation_group_values: T::Hash[Symbol, String],
931
- pricing_group_values: T::Hash[Symbol, String],
932
- product_id: String,
933
- product_tags: T::Array[String]
934
- }
935
- )
936
- end
937
- def to_hash
938
- end
939
- end
940
869
  end
941
870
  end
942
871
  end
@@ -67,6 +67,7 @@ module MetronomeSDK
67
67
  sig { params(applicable_product_tags: T::Array[String]).void }
68
68
  attr_writer :applicable_product_tags
69
69
 
70
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
70
71
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
71
72
  attr_reader :custom_fields
72
73
 
@@ -123,22 +124,13 @@ module MetronomeSDK
123
124
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
124
125
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
125
126
  sig do
126
- returns(
127
- T.nilable(
128
- T::Array[
129
- MetronomeSDK::V1::Customers::CreditCreateParams::Specifier
130
- ]
131
- )
132
- )
127
+ returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput]))
133
128
  end
134
129
  attr_reader :specifiers
135
130
 
136
131
  sig do
137
132
  params(
138
- specifiers:
139
- T::Array[
140
- MetronomeSDK::V1::Customers::CreditCreateParams::Specifier::OrHash
141
- ]
133
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
142
134
  ).void
143
135
  end
144
136
  attr_writer :specifiers
@@ -170,10 +162,7 @@ module MetronomeSDK
170
162
  rate_type:
171
163
  MetronomeSDK::V1::Customers::CreditCreateParams::RateType::OrSymbol,
172
164
  salesforce_opportunity_id: String,
173
- specifiers:
174
- T::Array[
175
- MetronomeSDK::V1::Customers::CreditCreateParams::Specifier::OrHash
176
- ],
165
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash],
177
166
  uniqueness_key: String,
178
167
  request_options: MetronomeSDK::RequestOptions::OrHash
179
168
  ).returns(T.attached_class)
@@ -195,6 +184,7 @@ module MetronomeSDK
195
184
  # Which tags the credit applies to. If both applicable_product_ids and
196
185
  # applicable_product_tags are not provided, the credit applies to all products.
197
186
  applicable_product_tags: nil,
187
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
198
188
  custom_fields: nil,
199
189
  # Used only in UI/API. It is not exposed to end customers.
200
190
  description: nil,
@@ -237,10 +227,7 @@ module MetronomeSDK
237
227
  rate_type:
238
228
  MetronomeSDK::V1::Customers::CreditCreateParams::RateType::OrSymbol,
239
229
  salesforce_opportunity_id: String,
240
- specifiers:
241
- T::Array[
242
- MetronomeSDK::V1::Customers::CreditCreateParams::Specifier
243
- ],
230
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput],
244
231
  uniqueness_key: String,
245
232
  request_options: MetronomeSDK::RequestOptions
246
233
  }
@@ -384,77 +371,6 @@ module MetronomeSDK
384
371
  def self.values
385
372
  end
386
373
  end
387
-
388
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
389
- OrHash =
390
- T.type_alias do
391
- T.any(
392
- MetronomeSDK::V1::Customers::CreditCreateParams::Specifier,
393
- MetronomeSDK::Internal::AnyHash
394
- )
395
- end
396
-
397
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
398
- attr_reader :presentation_group_values
399
-
400
- sig do
401
- params(presentation_group_values: T::Hash[Symbol, String]).void
402
- end
403
- attr_writer :presentation_group_values
404
-
405
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
406
- attr_reader :pricing_group_values
407
-
408
- sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
409
- attr_writer :pricing_group_values
410
-
411
- # If provided, the specifier will only apply to the product with the specified ID.
412
- sig { returns(T.nilable(String)) }
413
- attr_reader :product_id
414
-
415
- sig { params(product_id: String).void }
416
- attr_writer :product_id
417
-
418
- # If provided, the specifier will only apply to products with all the specified
419
- # tags.
420
- sig { returns(T.nilable(T::Array[String])) }
421
- attr_reader :product_tags
422
-
423
- sig { params(product_tags: T::Array[String]).void }
424
- attr_writer :product_tags
425
-
426
- sig do
427
- params(
428
- presentation_group_values: T::Hash[Symbol, String],
429
- pricing_group_values: T::Hash[Symbol, String],
430
- product_id: String,
431
- product_tags: T::Array[String]
432
- ).returns(T.attached_class)
433
- end
434
- def self.new(
435
- presentation_group_values: nil,
436
- pricing_group_values: nil,
437
- # If provided, the specifier will only apply to the product with the specified ID.
438
- product_id: nil,
439
- # If provided, the specifier will only apply to products with all the specified
440
- # tags.
441
- product_tags: nil
442
- )
443
- end
444
-
445
- sig do
446
- override.returns(
447
- {
448
- presentation_group_values: T::Hash[Symbol, String],
449
- pricing_group_values: T::Hash[Symbol, String],
450
- product_id: String,
451
- product_tags: T::Array[String]
452
- }
453
- )
454
- end
455
- def to_hash
456
- end
457
- end
458
374
  end
459
375
  end
460
376
  end
@@ -570,13 +570,16 @@ module MetronomeSDK
570
570
  sig { returns(String) }
571
571
  attr_accessor :key
572
572
 
573
- sig { returns(String) }
574
- attr_accessor :value
573
+ sig { returns(T.nilable(String)) }
574
+ attr_reader :value
575
+
576
+ sig { params(value: String).void }
577
+ attr_writer :value
575
578
 
576
579
  sig do
577
580
  params(key: String, value: String).returns(T.attached_class)
578
581
  end
579
- def self.new(key:, value:)
582
+ def self.new(key:, value: nil)
580
583
  end
581
584
 
582
585
  sig { override.returns({ key: String, value: String }) }
@@ -63,6 +63,7 @@ module MetronomeSDK
63
63
  end
64
64
  attr_writer :billable_status
65
65
 
66
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
66
67
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
67
68
  attr_reader :contract_custom_fields
68
69
 
@@ -104,6 +105,7 @@ module MetronomeSDK
104
105
  sig { params(custom_fields: T::Hash[Symbol, T.anything]).void }
105
106
  attr_writer :custom_fields
106
107
 
108
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
107
109
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
108
110
  attr_reader :customer_custom_fields
109
111
 
@@ -175,6 +177,7 @@ module MetronomeSDK
175
177
  sig { params(netsuite_sales_order_id: String).void }
176
178
  attr_writer :netsuite_sales_order_id
177
179
 
180
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
178
181
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
179
182
  attr_reader :plan_custom_fields
180
183
 
@@ -284,6 +287,7 @@ module MetronomeSDK
284
287
  amendment_id: nil,
285
288
  # This field's availability is dependent on your client's configuration.
286
289
  billable_status: nil,
290
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
287
291
  contract_custom_fields: nil,
288
292
  contract_id: nil,
289
293
  correction_record: nil,
@@ -291,6 +295,7 @@ module MetronomeSDK
291
295
  # invoices only.
292
296
  created_at: nil,
293
297
  custom_fields: nil,
298
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
294
299
  customer_custom_fields: nil,
295
300
  # End of the usage period this invoice covers (UTC)
296
301
  end_timestamp: nil,
@@ -301,6 +306,7 @@ module MetronomeSDK
301
306
  net_payment_terms_days: nil,
302
307
  # This field's availability is dependent on your client's configuration.
303
308
  netsuite_sales_order_id: nil,
309
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
304
310
  plan_custom_fields: nil,
305
311
  plan_id: nil,
306
312
  plan_name: nil,
@@ -384,6 +390,32 @@ module MetronomeSDK
384
390
  sig { returns(Float) }
385
391
  attr_accessor :total
386
392
 
393
+ # The type of line item.
394
+ #
395
+ # - `scheduled`: Line item is associated with a scheduled charge. View the
396
+ # scheduled_charge_id on the line item.
397
+ # - `commit_purchase`: Line item is associated with a payment for a prepaid
398
+ # commit. View the commit_id on the line item.
399
+ # - `usage`: Line item is associated with a usage product or composite product.
400
+ # View the product_id on the line item to determine which product.
401
+ # - `subscription`: Line item is associated with a subscription. e.g. monthly
402
+ # recurring payment for an in-advance subscription.
403
+ # - `applied_commit_or_credit`: On metronome invoices, applied commits and credits
404
+ # are associated with their own line items. These line items have negative
405
+ # totals. Use the applied_commit_or_credit object on the line item to understand
406
+ # the id of the applied commit or credit, and its type. Note that the
407
+ # application of a postpaid commit is associated with a line item, but the total
408
+ # on the line item is not included in the invoice's total as postpaid commits
409
+ # are paid in-arrears.
410
+ # - `cpu_conversion`: Line item converting between a custom pricing unit and fiat
411
+ # currency, using the conversion rate set on the rate card. This line item will
412
+ # appear when there are products priced in custom pricing units, and there is
413
+ # insufficient prepaid commit/credit in that custom pricing unit to fully cover
414
+ # the spend. Then, the outstanding spend in custom pricing units will be
415
+ # converted to fiat currency using a cpu_conversion line item.
416
+ sig { returns(String) }
417
+ attr_accessor :type
418
+
387
419
  # Details about the credit or commit that was applied to this line item. Only
388
420
  # present on line items with product of `USAGE`, `SUBSCRIPTION` or `COMPOSITE`
389
421
  # types.
@@ -404,6 +436,7 @@ module MetronomeSDK
404
436
  end
405
437
  attr_writer :applied_commit_or_credit
406
438
 
439
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
407
440
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
408
441
  attr_reader :commit_custom_fields
409
442
 
@@ -446,12 +479,14 @@ module MetronomeSDK
446
479
  sig { params(commit_type: String).void }
447
480
  attr_writer :commit_type
448
481
 
482
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
449
483
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
450
484
  attr_reader :custom_fields
451
485
 
452
486
  sig { params(custom_fields: T::Hash[Symbol, String]).void }
453
487
  attr_writer :custom_fields
454
488
 
489
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
455
490
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
456
491
  attr_reader :discount_custom_fields
457
492
 
@@ -561,6 +596,7 @@ module MetronomeSDK
561
596
  sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
562
597
  attr_writer :pricing_group_values
563
598
 
599
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
564
600
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
565
601
  attr_reader :product_custom_fields
566
602
 
@@ -592,6 +628,7 @@ module MetronomeSDK
592
628
  sig { params(product_type: String).void }
593
629
  attr_writer :product_type
594
630
 
631
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
595
632
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
596
633
  attr_reader :professional_service_custom_fields
597
634
 
@@ -632,6 +669,7 @@ module MetronomeSDK
632
669
  end
633
670
  attr_writer :reseller_type
634
671
 
672
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
635
673
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
636
674
  attr_reader :scheduled_charge_custom_fields
637
675
 
@@ -677,6 +715,7 @@ module MetronomeSDK
677
715
  end
678
716
  attr_writer :sub_line_items
679
717
 
718
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
680
719
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
681
720
  attr_reader :subscription_custom_fields
682
721
 
@@ -713,6 +752,7 @@ module MetronomeSDK
713
752
  credit_type: MetronomeSDK::CreditTypeData::OrHash,
714
753
  name: String,
715
754
  total: Float,
755
+ type: String,
716
756
  applied_commit_or_credit:
717
757
  MetronomeSDK::V1::Customers::Invoice::LineItem::AppliedCommitOrCredit::OrHash,
718
758
  commit_custom_fields: T::Hash[Symbol, String],
@@ -763,10 +803,35 @@ module MetronomeSDK
763
803
  credit_type:,
764
804
  name:,
765
805
  total:,
806
+ # The type of line item.
807
+ #
808
+ # - `scheduled`: Line item is associated with a scheduled charge. View the
809
+ # scheduled_charge_id on the line item.
810
+ # - `commit_purchase`: Line item is associated with a payment for a prepaid
811
+ # commit. View the commit_id on the line item.
812
+ # - `usage`: Line item is associated with a usage product or composite product.
813
+ # View the product_id on the line item to determine which product.
814
+ # - `subscription`: Line item is associated with a subscription. e.g. monthly
815
+ # recurring payment for an in-advance subscription.
816
+ # - `applied_commit_or_credit`: On metronome invoices, applied commits and credits
817
+ # are associated with their own line items. These line items have negative
818
+ # totals. Use the applied_commit_or_credit object on the line item to understand
819
+ # the id of the applied commit or credit, and its type. Note that the
820
+ # application of a postpaid commit is associated with a line item, but the total
821
+ # on the line item is not included in the invoice's total as postpaid commits
822
+ # are paid in-arrears.
823
+ # - `cpu_conversion`: Line item converting between a custom pricing unit and fiat
824
+ # currency, using the conversion rate set on the rate card. This line item will
825
+ # appear when there are products priced in custom pricing units, and there is
826
+ # insufficient prepaid commit/credit in that custom pricing unit to fully cover
827
+ # the spend. Then, the outstanding spend in custom pricing units will be
828
+ # converted to fiat currency using a cpu_conversion line item.
829
+ type:,
766
830
  # Details about the credit or commit that was applied to this line item. Only
767
831
  # present on line items with product of `USAGE`, `SUBSCRIPTION` or `COMPOSITE`
768
832
  # types.
769
833
  applied_commit_or_credit: nil,
834
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
770
835
  commit_custom_fields: nil,
771
836
  # For line items with product of `USAGE`, `SUBSCRIPTION`, or `COMPOSITE` types,
772
837
  # the ID of the credit or commit that was applied to this line item. For line
@@ -779,7 +844,9 @@ module MetronomeSDK
779
844
  # `PrepaidCommit` (for commit types `PREPAID` and `CREDIT`) or `PostpaidCommit`
780
845
  # (for commit type `POSTPAID`).
781
846
  commit_type: nil,
847
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
782
848
  custom_fields: nil,
849
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
783
850
  discount_custom_fields: nil,
784
851
  # ID of the discount applied to this line item.
785
852
  discount_id: nil,
@@ -807,6 +874,7 @@ module MetronomeSDK
807
874
  # Includes the pricing group values associated with this line item if dimensional
808
875
  # pricing is used.
809
876
  pricing_group_values: nil,
877
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
810
878
  product_custom_fields: nil,
811
879
  # ID of the product associated with the line item.
812
880
  product_id: nil,
@@ -818,17 +886,20 @@ module MetronomeSDK
818
886
  # `CompositeProductListItem` (for `COMPOSITE` type products). For scheduled
819
887
  # charges, commit and credit payments, the value is `FixedProductListItem`.
820
888
  product_type: nil,
889
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
821
890
  professional_service_custom_fields: nil,
822
891
  professional_service_id: nil,
823
892
  # The quantity associated with the line item.
824
893
  quantity: nil,
825
894
  reseller_type: nil,
895
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
826
896
  scheduled_charge_custom_fields: nil,
827
897
  # ID of scheduled charge.
828
898
  scheduled_charge_id: nil,
829
899
  # The line item's start date (inclusive).
830
900
  starting_at: nil,
831
901
  sub_line_items: nil,
902
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
832
903
  subscription_custom_fields: nil,
833
904
  # Populated if the line item has a tiered price.
834
905
  tier: nil,
@@ -843,6 +914,7 @@ module MetronomeSDK
843
914
  credit_type: MetronomeSDK::CreditTypeData,
844
915
  name: String,
845
916
  total: Float,
917
+ type: String,
846
918
  applied_commit_or_credit:
847
919
  MetronomeSDK::V1::Customers::Invoice::LineItem::AppliedCommitOrCredit,
848
920
  commit_custom_fields: T::Hash[Symbol, String],
@@ -1051,6 +1123,7 @@ module MetronomeSDK
1051
1123
  )
1052
1124
  end
1053
1125
 
1126
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1054
1127
  sig { returns(T::Hash[Symbol, String]) }
1055
1128
  attr_accessor :custom_fields
1056
1129
 
@@ -1156,6 +1229,7 @@ module MetronomeSDK
1156
1229
  ).returns(T.attached_class)
1157
1230
  end
1158
1231
  def self.new(
1232
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1159
1233
  custom_fields:,
1160
1234
  name:,
1161
1235
  quantity:,
@@ -1895,6 +1969,7 @@ module MetronomeSDK
1895
1969
  sig { returns(Float) }
1896
1970
  attr_accessor :total
1897
1971
 
1972
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1898
1973
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
1899
1974
  attr_reader :credit_grant_custom_fields
1900
1975
 
@@ -1922,6 +1997,7 @@ module MetronomeSDK
1922
1997
  credit_type:,
1923
1998
  name:,
1924
1999
  total:,
2000
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1925
2001
  credit_grant_custom_fields: nil,
1926
2002
  credit_grant_id: nil
1927
2003
  )
@@ -17,6 +17,7 @@ module MetronomeSDK
17
17
  sig { returns(String) }
18
18
  attr_accessor :id
19
19
 
20
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
20
21
  sig { returns(T::Hash[Symbol, String]) }
21
22
  attr_accessor :custom_fields
22
23
 
@@ -79,6 +80,7 @@ module MetronomeSDK
79
80
  def self.new(
80
81
  # the ID of the customer plan
81
82
  id:,
83
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
82
84
  custom_fields:,
83
85
  plan_description:,
84
86
  # the ID of the plan
@@ -12,6 +12,7 @@ module MetronomeSDK
12
12
  sig { returns(String) }
13
13
  attr_accessor :id
14
14
 
15
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
15
16
  sig { returns(T::Hash[Symbol, String]) }
16
17
  attr_accessor :custom_fields
17
18
 
@@ -81,6 +82,7 @@ module MetronomeSDK
81
82
  end
82
83
  def self.new(
83
84
  id:,
85
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
84
86
  custom_fields:,
85
87
  name:,
86
88
  credit_grants: nil,
@@ -28,6 +28,7 @@ module MetronomeSDK
28
28
  sig { params(credit_type: MetronomeSDK::CreditTypeData::OrHash).void }
29
29
  attr_writer :credit_type
30
30
 
31
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
31
32
  sig { returns(T::Hash[Symbol, String]) }
32
33
  attr_accessor :custom_fields
33
34
 
@@ -112,6 +113,7 @@ module MetronomeSDK
112
113
  id:,
113
114
  charge_type:,
114
115
  credit_type:,
116
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
115
117
  custom_fields:,
116
118
  name:,
117
119
  prices:,