metronome-sdk 0.3.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +91 -0
  3. data/README.md +9 -9
  4. data/lib/metronome_sdk/errors.rb +25 -11
  5. data/lib/metronome_sdk/file_part.rb +10 -7
  6. data/lib/metronome_sdk/internal/body_cursor_page.rb +86 -0
  7. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  8. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +86 -0
  9. data/lib/metronome_sdk/internal/transport/base_client.rb +12 -11
  10. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +8 -19
  11. data/lib/metronome_sdk/internal/type/base_model.rb +6 -13
  12. data/lib/metronome_sdk/internal/type/base_page.rb +1 -1
  13. data/lib/metronome_sdk/internal/type/enum.rb +25 -0
  14. data/lib/metronome_sdk/internal/type/file_input.rb +7 -4
  15. data/lib/metronome_sdk/internal/type/union.rb +11 -0
  16. data/lib/metronome_sdk/internal/util.rb +9 -8
  17. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  18. data/lib/metronome_sdk/models/commit.rb +26 -170
  19. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  20. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  21. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  22. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  23. data/lib/metronome_sdk/models/contract.rb +404 -0
  24. data/lib/metronome_sdk/models/contract_v2.rb +3169 -0
  25. data/lib/metronome_sdk/models/contract_without_amendments.rb +38 -1128
  26. data/lib/metronome_sdk/models/credit.rb +9 -156
  27. data/lib/metronome_sdk/models/discount.rb +2 -1
  28. data/lib/metronome_sdk/models/hierarchy_configuration.rb +173 -0
  29. data/lib/metronome_sdk/models/override.rb +6 -101
  30. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  31. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  32. data/lib/metronome_sdk/models/payment_gate_config.rb +150 -0
  33. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +150 -0
  34. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  35. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  36. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  37. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  38. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  39. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  40. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  41. data/lib/metronome_sdk/models/subscription.rb +311 -0
  42. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  43. data/lib/metronome_sdk/models/v1/alert_archive_params.rb +8 -4
  44. data/lib/metronome_sdk/models/v1/alert_create_params.rb +42 -42
  45. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  46. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  47. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  48. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +58 -411
  49. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  50. data/lib/metronome_sdk/models/v1/contract_create_params.rb +315 -1459
  51. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  52. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  53. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  54. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  55. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  56. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  57. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +2 -1
  58. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  59. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  60. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  61. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  62. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  63. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  64. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  65. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  67. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  68. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  69. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  70. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  71. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  73. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  74. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  75. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  76. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  77. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  78. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  79. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  80. data/lib/metronome_sdk/models/v1/customer_detail.rb +11 -2
  81. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  82. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +6 -18
  83. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +3 -3
  84. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  85. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  86. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  87. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +4 -6
  88. data/lib/metronome_sdk/models/v1/customers/alert_reset_params.rb +2 -2
  89. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +37 -8
  90. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  91. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  92. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +10 -60
  93. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  94. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +48 -54
  95. data/lib/metronome_sdk/models/v1/customers/invoice.rb +197 -66
  96. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  97. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rb +30 -0
  98. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  99. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  100. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  101. data/lib/metronome_sdk/models/v1/payment.rb +151 -0
  102. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +28 -0
  103. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +18 -0
  104. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +28 -0
  105. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +18 -0
  106. data/lib/metronome_sdk/models/v1/payment_list_params.rb +53 -0
  107. data/lib/metronome_sdk/models/v1/payment_status.rb +19 -0
  108. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  109. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  110. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  111. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  112. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  113. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  114. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  115. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  116. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +37 -58
  117. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +34 -49
  118. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +552 -2265
  119. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +417 -2317
  120. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  121. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  122. data/lib/metronome_sdk/models.rb +38 -0
  123. data/lib/metronome_sdk/resources/v1/alerts.rb +90 -16
  124. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  125. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  126. data/lib/metronome_sdk/resources/v1/contracts/products.rb +25 -6
  127. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  128. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  129. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  130. data/lib/metronome_sdk/resources/v1/contracts.rb +255 -18
  131. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  132. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  133. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +127 -13
  134. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  135. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  136. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +179 -8
  137. data/lib/metronome_sdk/resources/v1/customers.rb +175 -15
  138. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  139. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  140. data/lib/metronome_sdk/resources/v1/payments.rb +102 -0
  141. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  142. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  143. data/lib/metronome_sdk/resources/v1/usage.rb +188 -13
  144. data/lib/metronome_sdk/resources/v1.rb +4 -0
  145. data/lib/metronome_sdk/resources/v2/contracts.rb +120 -18
  146. data/lib/metronome_sdk/version.rb +1 -1
  147. data/lib/metronome_sdk.rb +33 -3
  148. data/rbi/metronome_sdk/errors.rbi +31 -4
  149. data/rbi/metronome_sdk/file_part.rbi +1 -1
  150. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  151. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  152. data/rbi/metronome_sdk/internal/transport/base_client.rbi +4 -5
  153. data/rbi/metronome_sdk/internal/type/base_page.rbi +1 -1
  154. data/rbi/metronome_sdk/internal/util.rbi +1 -1
  155. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  156. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  157. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  158. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  159. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  160. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  161. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  162. data/rbi/metronome_sdk/models/contract_v2.rbi +6415 -0
  163. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +186 -2509
  164. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  165. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  166. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +424 -0
  167. data/rbi/metronome_sdk/models/override.rbi +8 -193
  168. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  169. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  170. data/rbi/metronome_sdk/models/payment_gate_config.rbi +317 -0
  171. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +326 -0
  172. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  173. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  174. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  175. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  176. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  177. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  178. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  179. data/rbi/metronome_sdk/models/subscription.rbi +635 -0
  180. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  181. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +6 -4
  182. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +57 -50
  183. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  184. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  185. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +49 -768
  186. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  187. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1843 -4119
  188. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  189. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  190. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  191. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  192. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +2 -0
  193. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  194. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  195. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  196. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  197. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  198. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  199. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  203. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  204. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  205. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  206. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  207. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  208. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  209. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +10 -0
  210. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  211. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +6 -21
  212. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +10 -9
  213. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  214. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  215. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  216. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +4 -4
  217. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +2 -2
  218. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +68 -8
  219. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  220. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  221. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +6 -90
  222. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  223. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +54 -47
  224. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +316 -68
  225. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbi +50 -0
  226. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  227. data/rbi/metronome_sdk/models/v1/payment.rbi +316 -0
  228. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +48 -0
  229. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +35 -0
  230. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +48 -0
  231. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +35 -0
  232. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +91 -0
  233. data/rbi/metronome_sdk/models/v1/payment_status.rbi +33 -0
  234. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  235. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  236. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  237. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  238. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  239. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  240. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +74 -76
  241. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +74 -76
  242. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3875 -7234
  243. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1733 -6207
  244. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  245. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  246. data/rbi/metronome_sdk/models.rbi +44 -0
  247. data/rbi/metronome_sdk/resources/v1/alerts.rbi +101 -27
  248. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  249. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  250. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +25 -5
  251. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  252. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  253. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  254. data/rbi/metronome_sdk/resources/v1/contracts.rbi +258 -16
  255. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  256. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  257. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +133 -11
  258. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  259. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  260. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +159 -7
  261. data/rbi/metronome_sdk/resources/v1/customers.rbi +162 -14
  262. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  263. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  264. data/rbi/metronome_sdk/resources/v1/payments.rbi +72 -0
  265. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  266. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  267. data/rbi/metronome_sdk/resources/v1/usage.rbi +191 -13
  268. data/rbi/metronome_sdk/resources/v1.rbi +3 -0
  269. data/rbi/metronome_sdk/resources/v2/contracts.rbi +134 -23
  270. data/sig/metronome_sdk/errors.rbs +7 -0
  271. data/sig/metronome_sdk/file_part.rbs +1 -1
  272. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  273. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  274. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  275. data/sig/metronome_sdk/models/commit.rbs +17 -170
  276. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  277. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  278. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  279. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  280. data/sig/metronome_sdk/models/contract.rbs +398 -0
  281. data/sig/metronome_sdk/models/contract_v2.rbs +3108 -0
  282. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  283. data/sig/metronome_sdk/models/credit.rbs +12 -170
  284. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +152 -0
  285. data/sig/metronome_sdk/models/override.rbs +12 -101
  286. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  287. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  288. data/sig/metronome_sdk/models/payment_gate_config.rbs +124 -0
  289. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +124 -0
  290. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  291. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  292. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  293. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  294. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  295. data/sig/metronome_sdk/models/subscription.rbs +295 -0
  296. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  297. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  298. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +26 -341
  299. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +219 -1184
  300. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  301. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  302. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  303. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  304. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  305. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  306. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  307. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  308. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  309. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  310. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  311. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  312. data/sig/metronome_sdk/models/v1/customer_detail.rbs +5 -0
  313. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +0 -7
  314. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +6 -4
  315. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  316. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  317. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  318. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  319. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  320. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  321. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +6 -50
  322. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  323. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  324. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +137 -24
  325. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbs +32 -0
  326. data/sig/metronome_sdk/models/v1/payment.rbs +191 -0
  327. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +30 -0
  328. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +15 -0
  329. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +30 -0
  330. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +15 -0
  331. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +56 -0
  332. data/sig/metronome_sdk/models/v1/payment_status.rbs +19 -0
  333. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  334. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +28 -43
  335. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +28 -43
  336. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +412 -1793
  337. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +342 -2149
  338. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  339. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  340. data/sig/metronome_sdk/models.rbs +38 -0
  341. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  342. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  343. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  344. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  345. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  346. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  347. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  348. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +6 -0
  349. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  350. data/sig/metronome_sdk/resources/v1/payments.rbs +30 -0
  351. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  352. data/sig/metronome_sdk/resources/v1.rbs +2 -0
  353. data/sig/metronome_sdk/resources/v2/contracts.rbs +10 -4
  354. metadata +101 -11
  355. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  356. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  357. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  358. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  359. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  360. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  361. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  362. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  363. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -25,9 +25,7 @@ module MetronomeSDK
25
25
  #
26
26
  # @return [Array<MetronomeSDK::Models::V1::Customers::Invoice::LineItem>]
27
27
  required :line_items,
28
- -> {
29
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::LineItem]
30
- }
28
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::LineItem] }
31
29
 
32
30
  # @!attribute status
33
31
  #
@@ -52,10 +50,11 @@ module MetronomeSDK
52
50
  # @!attribute billable_status
53
51
  # This field's availability is dependent on your client's configuration.
54
52
  #
55
- # @return [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::BillableStatus, nil]
56
- optional :billable_status, enum: -> { MetronomeSDK::V1::Customers::Invoice::BillableStatus }
53
+ # @return [Object, nil]
54
+ optional :billable_status, MetronomeSDK::Internal::Type::Unknown
57
55
 
58
56
  # @!attribute contract_custom_fields
57
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
59
58
  #
60
59
  # @return [Hash{Symbol=>String}, nil]
61
60
  optional :contract_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -83,6 +82,7 @@ module MetronomeSDK
83
82
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
84
83
 
85
84
  # @!attribute customer_custom_fields
85
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
86
86
  #
87
87
  # @return [Hash{Symbol=>String}, nil]
88
88
  optional :customer_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -102,9 +102,7 @@ module MetronomeSDK
102
102
  #
103
103
  # @return [Array<MetronomeSDK::Models::V1::Customers::Invoice::InvoiceAdjustment>, nil]
104
104
  optional :invoice_adjustments,
105
- -> {
106
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::InvoiceAdjustment]
107
- }
105
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::InvoiceAdjustment] }
108
106
 
109
107
  # @!attribute issued_at
110
108
  # When the invoice was issued (UTC)
@@ -124,6 +122,7 @@ module MetronomeSDK
124
122
  optional :netsuite_sales_order_id, String
125
123
 
126
124
  # @!attribute plan_custom_fields
125
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
127
126
  #
128
127
  # @return [Hash{Symbol=>String}, nil]
129
128
  optional :plan_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -181,9 +180,9 @@ module MetronomeSDK
181
180
  #
182
181
  # @param amendment_id [String]
183
182
  #
184
- # @param billable_status [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::BillableStatus] This field's availability is dependent on your client's configuration.
183
+ # @param billable_status [Object] This field's availability is dependent on your client's configuration.
185
184
  #
186
- # @param contract_custom_fields [Hash{Symbol=>String}]
185
+ # @param contract_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
187
186
  #
188
187
  # @param contract_id [String]
189
188
  #
@@ -193,7 +192,7 @@ module MetronomeSDK
193
192
  #
194
193
  # @param custom_fields [Hash{Symbol=>Object}]
195
194
  #
196
- # @param customer_custom_fields [Hash{Symbol=>String}]
195
+ # @param customer_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
197
196
  #
198
197
  # @param end_timestamp [Time] End of the usage period this invoice covers (UTC)
199
198
  #
@@ -207,7 +206,7 @@ module MetronomeSDK
207
206
  #
208
207
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
209
208
  #
210
- # @param plan_custom_fields [Hash{Symbol=>String}]
209
+ # @param plan_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
211
210
  #
212
211
  # @param plan_id [String]
213
212
  #
@@ -238,11 +237,29 @@ module MetronomeSDK
238
237
  required :total, Float
239
238
 
240
239
  # @!attribute type
241
- # The type of line item. Possible values are 'aws_royalty',
242
- # 'applied_commit_or_credit', 'scheduled', 'commit_purchase', 'cpu_conversion',
243
- # 'discount', 'gcp_royalty', 'postpaid_trueup', 'professional_services',
244
- # 'subscription', 'usage', 'legacy', 'minimum', 'product_charge',
245
- # 'trial_discount', 'rollover', 'seat', 'grouped_charge'.
240
+ # The type of line item.
241
+ #
242
+ # - `scheduled`: Line item is associated with a scheduled charge. View the
243
+ # scheduled_charge_id on the line item.
244
+ # - `commit_purchase`: Line item is associated with a payment for a prepaid
245
+ # commit. View the commit_id on the line item.
246
+ # - `usage`: Line item is associated with a usage product or composite product.
247
+ # View the product_id on the line item to determine which product.
248
+ # - `subscription`: Line item is associated with a subscription. e.g. monthly
249
+ # recurring payment for an in-advance subscription.
250
+ # - `applied_commit_or_credit`: On metronome invoices, applied commits and credits
251
+ # are associated with their own line items. These line items have negative
252
+ # totals. Use the applied_commit_or_credit object on the line item to understand
253
+ # the id of the applied commit or credit, and its type. Note that the
254
+ # application of a postpaid commit is associated with a line item, but the total
255
+ # on the line item is not included in the invoice's total as postpaid commits
256
+ # are paid in-arrears.
257
+ # - `cpu_conversion`: Line item converting between a custom pricing unit and fiat
258
+ # currency, using the conversion rate set on the rate card. This line item will
259
+ # appear when there are products priced in custom pricing units, and there is
260
+ # insufficient prepaid commit/credit in that custom pricing unit to fully cover
261
+ # the spend. Then, the outstanding spend in custom pricing units will be
262
+ # converted to fiat currency using a cpu_conversion line item.
246
263
  #
247
264
  # @return [String]
248
265
  required :type, String
@@ -257,6 +274,7 @@ module MetronomeSDK
257
274
  -> { MetronomeSDK::V1::Customers::Invoice::LineItem::AppliedCommitOrCredit }
258
275
 
259
276
  # @!attribute commit_custom_fields
277
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
260
278
  #
261
279
  # @return [Hash{Symbol=>String}, nil]
262
280
  optional :commit_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -293,11 +311,13 @@ module MetronomeSDK
293
311
  optional :commit_type, String
294
312
 
295
313
  # @!attribute custom_fields
314
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
296
315
  #
297
316
  # @return [Hash{Symbol=>String}, nil]
298
317
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
299
318
 
300
319
  # @!attribute discount_custom_fields
320
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
301
321
  #
302
322
  # @return [Hash{Symbol=>String}, nil]
303
323
  optional :discount_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -381,6 +401,7 @@ module MetronomeSDK
381
401
  optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
382
402
 
383
403
  # @!attribute product_custom_fields
404
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
384
405
  #
385
406
  # @return [Hash{Symbol=>String}, nil]
386
407
  optional :product_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -408,6 +429,7 @@ module MetronomeSDK
408
429
  optional :product_type, String
409
430
 
410
431
  # @!attribute professional_service_custom_fields
432
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
411
433
  #
412
434
  # @return [Hash{Symbol=>String}, nil]
413
435
  optional :professional_service_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -429,6 +451,7 @@ module MetronomeSDK
429
451
  optional :reseller_type, enum: -> { MetronomeSDK::V1::Customers::Invoice::LineItem::ResellerType }
430
452
 
431
453
  # @!attribute scheduled_charge_custom_fields
454
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
432
455
  #
433
456
  # @return [Hash{Symbol=>String}, nil]
434
457
  optional :scheduled_charge_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -449,11 +472,10 @@ module MetronomeSDK
449
472
  #
450
473
  # @return [Array<MetronomeSDK::Models::V1::Customers::Invoice::LineItem::SubLineItem>, nil]
451
474
  optional :sub_line_items,
452
- -> {
453
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::LineItem::SubLineItem]
454
- }
475
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::LineItem::SubLineItem] }
455
476
 
456
477
  # @!attribute subscription_custom_fields
478
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
457
479
  #
458
480
  # @return [Hash{Symbol=>String}, nil]
459
481
  optional :subscription_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -480,11 +502,11 @@ module MetronomeSDK
480
502
  #
481
503
  # @param total [Float]
482
504
  #
483
- # @param type [String] The type of line item. Possible values are 'aws_royalty', 'applied_commit_or_cre
505
+ # @param type [String] The type of line item.
484
506
  #
485
507
  # @param applied_commit_or_credit [MetronomeSDK::Models::V1::Customers::Invoice::LineItem::AppliedCommitOrCredit] Details about the credit or commit that was applied to this line item. Only pres
486
508
  #
487
- # @param commit_custom_fields [Hash{Symbol=>String}]
509
+ # @param commit_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
488
510
  #
489
511
  # @param commit_id [String] For line items with product of `USAGE`, `SUBSCRIPTION`, or `COMPOSITE` types, th
490
512
  #
@@ -496,9 +518,9 @@ module MetronomeSDK
496
518
  #
497
519
  # @param commit_type [String] `PrepaidCommit` (for commit types `PREPAID` and `CREDIT`) or `PostpaidCommit` (f
498
520
  #
499
- # @param custom_fields [Hash{Symbol=>String}]
521
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
500
522
  #
501
- # @param discount_custom_fields [Hash{Symbol=>String}]
523
+ # @param discount_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
502
524
  #
503
525
  # @param discount_id [String] ID of the discount applied to this line item.
504
526
  #
@@ -526,7 +548,7 @@ module MetronomeSDK
526
548
  #
527
549
  # @param pricing_group_values [Hash{Symbol=>String}] Includes the pricing group values associated with this line item if dimensional
528
550
  #
529
- # @param product_custom_fields [Hash{Symbol=>String}]
551
+ # @param product_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
530
552
  #
531
553
  # @param product_id [String] ID of the product associated with the line item.
532
554
  #
@@ -534,7 +556,7 @@ module MetronomeSDK
534
556
  #
535
557
  # @param product_type [String] The type of the line item's product. Possible values are `FixedProductListItem`
536
558
  #
537
- # @param professional_service_custom_fields [Hash{Symbol=>String}]
559
+ # @param professional_service_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
538
560
  #
539
561
  # @param professional_service_id [String]
540
562
  #
@@ -542,7 +564,7 @@ module MetronomeSDK
542
564
  #
543
565
  # @param reseller_type [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::LineItem::ResellerType]
544
566
  #
545
- # @param scheduled_charge_custom_fields [Hash{Symbol=>String}]
567
+ # @param scheduled_charge_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
546
568
  #
547
569
  # @param scheduled_charge_id [String] ID of scheduled charge.
548
570
  #
@@ -550,7 +572,7 @@ module MetronomeSDK
550
572
  #
551
573
  # @param sub_line_items [Array<MetronomeSDK::Models::V1::Customers::Invoice::LineItem::SubLineItem>]
552
574
  #
553
- # @param subscription_custom_fields [Hash{Symbol=>String}]
575
+ # @param subscription_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
554
576
  #
555
577
  # @param tier [MetronomeSDK::Models::V1::Customers::Invoice::LineItem::Tier] Populated if the line item has a tiered price.
556
578
  #
@@ -566,10 +588,7 @@ module MetronomeSDK
566
588
  # @!attribute type
567
589
  #
568
590
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::LineItem::AppliedCommitOrCredit::Type]
569
- required :type,
570
- enum: -> {
571
- MetronomeSDK::V1::Customers::Invoice::LineItem::AppliedCommitOrCredit::Type
572
- }
591
+ required :type, enum: -> { MetronomeSDK::V1::Customers::Invoice::LineItem::AppliedCommitOrCredit::Type }
573
592
 
574
593
  # @!method initialize(id:, type:)
575
594
  # Details about the credit or commit that was applied to this line item. Only
@@ -620,6 +639,7 @@ module MetronomeSDK
620
639
 
621
640
  class SubLineItem < MetronomeSDK::Internal::Type::BaseModel
622
641
  # @!attribute custom_fields
642
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
623
643
  #
624
644
  # @return [Hash{Symbol=>String}]
625
645
  required :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -672,25 +692,20 @@ module MetronomeSDK
672
692
  # when the current tier started and ends (for tiered charges only)
673
693
  #
674
694
  # @return [MetronomeSDK::Models::V1::Customers::Invoice::LineItem::SubLineItem::TierPeriod, nil]
675
- optional :tier_period,
676
- -> {
677
- MetronomeSDK::V1::Customers::Invoice::LineItem::SubLineItem::TierPeriod
678
- }
695
+ optional :tier_period, -> { MetronomeSDK::V1::Customers::Invoice::LineItem::SubLineItem::TierPeriod }
679
696
 
680
697
  # @!attribute tiers
681
698
  #
682
699
  # @return [Array<MetronomeSDK::Models::V1::Customers::Invoice::LineItem::SubLineItem::Tier>, nil]
683
700
  optional :tiers,
684
- -> {
685
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::LineItem::SubLineItem::Tier]
686
- }
701
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::LineItem::SubLineItem::Tier] }
687
702
 
688
703
  # @!method initialize(custom_fields:, name:, quantity:, subtotal:, charge_id: nil, credit_grant_id: nil, end_date: nil, price: nil, start_date: nil, tier_period: nil, tiers: nil)
689
704
  # Some parameter documentations has been truncated, see
690
705
  # {MetronomeSDK::Models::V1::Customers::Invoice::LineItem::SubLineItem} for more
691
706
  # details.
692
707
  #
693
- # @param custom_fields [Hash{Symbol=>String}]
708
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
694
709
  #
695
710
  # @param name [String]
696
711
  #
@@ -790,19 +805,6 @@ module MetronomeSDK
790
805
  end
791
806
  end
792
807
 
793
- # This field's availability is dependent on your client's configuration.
794
- #
795
- # @see MetronomeSDK::Models::V1::Customers::Invoice#billable_status
796
- module BillableStatus
797
- extend MetronomeSDK::Internal::Type::Enum
798
-
799
- BILLABLE = :billable
800
- UNBILLABLE = :unbillable
801
-
802
- # @!method self.values
803
- # @return [Array<Symbol>]
804
- end
805
-
806
808
  # @see MetronomeSDK::Models::V1::Customers::Invoice#correction_record
807
809
  class CorrectionRecord < MetronomeSDK::Internal::Type::BaseModel
808
810
  # @!attribute corrected_invoice_id
@@ -838,33 +840,65 @@ module MetronomeSDK
838
840
  #
839
841
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType]
840
842
  required :billing_provider_type,
841
- enum: -> {
842
- MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType
843
- }
843
+ enum: -> { MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType }
844
844
 
845
845
  # @!attribute external_status
846
846
  #
847
847
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus, nil]
848
848
  optional :external_status,
849
- enum: -> {
850
- MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus
851
- }
849
+ enum: -> { MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus }
852
850
 
853
851
  # @!attribute invoice_id
854
852
  #
855
853
  # @return [String, nil]
856
854
  optional :invoice_id, String
857
855
 
856
+ # @!attribute invoiced_sub_total
857
+ # The subtotal amount invoiced, if available from the billing provider.
858
+ #
859
+ # @return [Float, nil]
860
+ optional :invoiced_sub_total, Float
861
+
862
+ # @!attribute invoiced_total
863
+ # The total amount invoiced, if available from the billing provider.
864
+ #
865
+ # @return [Float, nil]
866
+ optional :invoiced_total, Float
867
+
858
868
  # @!attribute issued_at_timestamp
859
869
  #
860
870
  # @return [Time, nil]
861
871
  optional :issued_at_timestamp, Time
862
872
 
863
- # @!method initialize(billing_provider_type:, external_status: nil, invoice_id: nil, issued_at_timestamp: nil)
873
+ # @!attribute pdf_url
874
+ # A URL to the PDF of the invoice, if available from the billing provider.
875
+ #
876
+ # @return [String, nil]
877
+ optional :pdf_url, String
878
+
879
+ # @!attribute tax
880
+ # Tax details for the invoice, if available from the billing provider.
881
+ #
882
+ # @return [MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax, nil]
883
+ optional :tax,
884
+ -> { MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax }
885
+
886
+ # @!method initialize(billing_provider_type:, external_status: nil, invoice_id: nil, invoiced_sub_total: nil, invoiced_total: nil, issued_at_timestamp: nil, pdf_url: nil, tax: nil)
864
887
  # @param billing_provider_type [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType]
888
+ #
865
889
  # @param external_status [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus]
890
+ #
866
891
  # @param invoice_id [String]
892
+ #
893
+ # @param invoiced_sub_total [Float] The subtotal amount invoiced, if available from the billing provider.
894
+ #
895
+ # @param invoiced_total [Float] The total amount invoiced, if available from the billing provider.
896
+ #
867
897
  # @param issued_at_timestamp [Time]
898
+ #
899
+ # @param pdf_url [String] A URL to the PDF of the invoice, if available from the billing provider.
900
+ #
901
+ # @param tax [MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax] Tax details for the invoice, if available from the billing provider.
868
902
 
869
903
  # @see MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice#billing_provider_type
870
904
  module BillingProviderType
@@ -902,6 +936,36 @@ module MetronomeSDK
902
936
  # @!method self.values
903
937
  # @return [Array<Symbol>]
904
938
  end
939
+
940
+ # @see MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice#tax
941
+ class Tax < MetronomeSDK::Internal::Type::BaseModel
942
+ # @!attribute total_tax_amount
943
+ # The total tax amount applied to the invoice.
944
+ #
945
+ # @return [Float, nil]
946
+ optional :total_tax_amount, Float
947
+
948
+ # @!attribute total_taxable_amount
949
+ # The total taxable amount of the invoice.
950
+ #
951
+ # @return [Float, nil]
952
+ optional :total_taxable_amount, Float
953
+
954
+ # @!attribute transaction_id
955
+ # The transaction ID associated with the tax calculation.
956
+ #
957
+ # @return [String, nil]
958
+ optional :transaction_id, String
959
+
960
+ # @!method initialize(total_tax_amount: nil, total_taxable_amount: nil, transaction_id: nil)
961
+ # Tax details for the invoice, if available from the billing provider.
962
+ #
963
+ # @param total_tax_amount [Float] The total tax amount applied to the invoice.
964
+ #
965
+ # @param total_taxable_amount [Float] The total taxable amount of the invoice.
966
+ #
967
+ # @param transaction_id [String] The transaction ID associated with the tax calculation.
968
+ end
905
969
  end
906
970
  end
907
971
 
@@ -924,16 +988,51 @@ module MetronomeSDK
924
988
  # @return [String, nil]
925
989
  optional :invoice_id, String
926
990
 
991
+ # @!attribute invoiced_sub_total
992
+ # The subtotal amount invoiced, if available from the billing provider.
993
+ #
994
+ # @return [Float, nil]
995
+ optional :invoiced_sub_total, Float
996
+
997
+ # @!attribute invoiced_total
998
+ # The total amount invoiced, if available from the billing provider.
999
+ #
1000
+ # @return [Float, nil]
1001
+ optional :invoiced_total, Float
1002
+
927
1003
  # @!attribute issued_at_timestamp
928
1004
  #
929
1005
  # @return [Time, nil]
930
1006
  optional :issued_at_timestamp, Time
931
1007
 
932
- # @!method initialize(billing_provider_type:, external_status: nil, invoice_id: nil, issued_at_timestamp: nil)
1008
+ # @!attribute pdf_url
1009
+ # A URL to the PDF of the invoice, if available from the billing provider.
1010
+ #
1011
+ # @return [String, nil]
1012
+ optional :pdf_url, String
1013
+
1014
+ # @!attribute tax
1015
+ # Tax details for the invoice, if available from the billing provider.
1016
+ #
1017
+ # @return [MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice::Tax, nil]
1018
+ optional :tax, -> { MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax }
1019
+
1020
+ # @!method initialize(billing_provider_type:, external_status: nil, invoice_id: nil, invoiced_sub_total: nil, invoiced_total: nil, issued_at_timestamp: nil, pdf_url: nil, tax: nil)
933
1021
  # @param billing_provider_type [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice::BillingProviderType]
1022
+ #
934
1023
  # @param external_status [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice::ExternalStatus]
1024
+ #
935
1025
  # @param invoice_id [String]
1026
+ #
1027
+ # @param invoiced_sub_total [Float] The subtotal amount invoiced, if available from the billing provider.
1028
+ #
1029
+ # @param invoiced_total [Float] The total amount invoiced, if available from the billing provider.
1030
+ #
936
1031
  # @param issued_at_timestamp [Time]
1032
+ #
1033
+ # @param pdf_url [String] A URL to the PDF of the invoice, if available from the billing provider.
1034
+ #
1035
+ # @param tax [MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice::Tax] Tax details for the invoice, if available from the billing provider.
937
1036
 
938
1037
  # @see MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice#billing_provider_type
939
1038
  module BillingProviderType
@@ -971,6 +1070,36 @@ module MetronomeSDK
971
1070
  # @!method self.values
972
1071
  # @return [Array<Symbol>]
973
1072
  end
1073
+
1074
+ # @see MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice#tax
1075
+ class Tax < MetronomeSDK::Internal::Type::BaseModel
1076
+ # @!attribute total_tax_amount
1077
+ # The total tax amount applied to the invoice.
1078
+ #
1079
+ # @return [Float, nil]
1080
+ optional :total_tax_amount, Float
1081
+
1082
+ # @!attribute total_taxable_amount
1083
+ # The total taxable amount of the invoice.
1084
+ #
1085
+ # @return [Float, nil]
1086
+ optional :total_taxable_amount, Float
1087
+
1088
+ # @!attribute transaction_id
1089
+ # The transaction ID associated with the tax calculation.
1090
+ #
1091
+ # @return [String, nil]
1092
+ optional :transaction_id, String
1093
+
1094
+ # @!method initialize(total_tax_amount: nil, total_taxable_amount: nil, transaction_id: nil)
1095
+ # Tax details for the invoice, if available from the billing provider.
1096
+ #
1097
+ # @param total_tax_amount [Float] The total tax amount applied to the invoice.
1098
+ #
1099
+ # @param total_taxable_amount [Float] The total taxable amount of the invoice.
1100
+ #
1101
+ # @param transaction_id [String] The transaction ID associated with the tax calculation.
1102
+ end
974
1103
  end
975
1104
 
976
1105
  class InvoiceAdjustment < MetronomeSDK::Internal::Type::BaseModel
@@ -990,6 +1119,7 @@ module MetronomeSDK
990
1119
  required :total, Float
991
1120
 
992
1121
  # @!attribute credit_grant_custom_fields
1122
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
993
1123
  #
994
1124
  # @return [Hash{Symbol=>String}, nil]
995
1125
  optional :credit_grant_custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -1001,9 +1131,13 @@ module MetronomeSDK
1001
1131
 
1002
1132
  # @!method initialize(credit_type:, name:, total:, credit_grant_custom_fields: nil, credit_grant_id: nil)
1003
1133
  # @param credit_type [MetronomeSDK::Models::CreditTypeData]
1134
+ #
1004
1135
  # @param name [String]
1136
+ #
1005
1137
  # @param total [Float]
1006
- # @param credit_grant_custom_fields [Hash{Symbol=>String}]
1138
+ #
1139
+ # @param credit_grant_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1140
+ #
1007
1141
  # @param credit_grant_id [String]
1008
1142
  end
1009
1143
 
@@ -1022,10 +1156,7 @@ module MetronomeSDK
1022
1156
  # @!attribute reseller_type
1023
1157
  #
1024
1158
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::ResellerRoyalty::ResellerType]
1025
- required :reseller_type,
1026
- enum: -> {
1027
- MetronomeSDK::V1::Customers::Invoice::ResellerRoyalty::ResellerType
1028
- }
1159
+ required :reseller_type, enum: -> { MetronomeSDK::V1::Customers::Invoice::ResellerRoyalty::ResellerType }
1029
1160
 
1030
1161
  # @!attribute aws_options
1031
1162
  #
@@ -72,10 +72,7 @@ module MetronomeSDK
72
72
  # The granularity of the breakdowns to return. Defaults to day.
73
73
  #
74
74
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::InvoiceListBreakdownsParams::WindowSize, nil]
75
- optional :window_size,
76
- enum: -> {
77
- MetronomeSDK::V1::Customers::InvoiceListBreakdownsParams::WindowSize
78
- }
75
+ optional :window_size, enum: -> { MetronomeSDK::V1::Customers::InvoiceListBreakdownsParams::WindowSize }
79
76
 
80
77
  # @!method initialize(customer_id:, ending_before:, starting_on:, credit_type_id: nil, limit: nil, next_page: nil, skip_zero_qty_line_items: nil, sort: nil, status: nil, window_size: nil, request_options: {})
81
78
  # Some parameter documentations has been truncated, see
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Customers
7
+ # @see MetronomeSDK::Resources::V1::Customers::Invoices#retrieve_pdf
8
+ class InvoiceRetrievePdfParams < MetronomeSDK::Internal::Type::BaseModel
9
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
10
+ include MetronomeSDK::Internal::Type::RequestParameters
11
+
12
+ # @!attribute customer_id
13
+ #
14
+ # @return [String]
15
+ required :customer_id, String
16
+
17
+ # @!attribute invoice_id
18
+ #
19
+ # @return [String]
20
+ required :invoice_id, String
21
+
22
+ # @!method initialize(customer_id:, invoice_id:, request_options: {})
23
+ # @param customer_id [String]
24
+ # @param invoice_id [String]
25
+ # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -46,9 +46,7 @@ module MetronomeSDK
46
46
  #
47
47
  # @return [Array<MetronomeSDK::Models::V1::Customers::PlanAddParams::OverageRateAdjustment>, nil]
48
48
  optional :overage_rate_adjustments,
49
- -> {
50
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::PlanAddParams::OverageRateAdjustment]
51
- }
49
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::PlanAddParams::OverageRateAdjustment] }
52
50
 
53
51
  # @!attribute price_adjustments
54
52
  # A list of price adjustments can be applied on top of the pricing in the plans.
@@ -58,9 +56,7 @@ module MetronomeSDK
58
56
  #
59
57
  # @return [Array<MetronomeSDK::Models::V1::Customers::PlanAddParams::PriceAdjustment>, nil]
60
58
  optional :price_adjustments,
61
- -> {
62
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::PlanAddParams::PriceAdjustment]
63
- }
59
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::PlanAddParams::PriceAdjustment] }
64
60
 
65
61
  # @!attribute trial_spec
66
62
  # A custom trial can be set for the customer's plan. See the
@@ -13,6 +13,7 @@ module MetronomeSDK
13
13
  required :id, String
14
14
 
15
15
  # @!attribute custom_fields
16
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
16
17
  #
17
18
  # @return [Hash{Symbol=>String}]
18
19
  required :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -56,7 +57,7 @@ module MetronomeSDK
56
57
  # @!method initialize(id:, custom_fields:, plan_description:, plan_id:, plan_name:, starting_on:, ending_before: nil, net_payment_terms_days: nil, trial_info: nil)
57
58
  # @param id [String] the ID of the customer plan
58
59
  #
59
- # @param custom_fields [Hash{Symbol=>String}]
60
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
60
61
  #
61
62
  # @param plan_description [String]
62
63
  #
@@ -24,27 +24,21 @@ module MetronomeSDK
24
24
  #
25
25
  # @return [Array<MetronomeSDK::Models::V1::DashboardGetEmbeddableURLParams::BmGroupKeyOverride>, nil]
26
26
  optional :bm_group_key_overrides,
27
- -> {
28
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::DashboardGetEmbeddableURLParams::BmGroupKeyOverride]
29
- }
27
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::DashboardGetEmbeddableURLParams::BmGroupKeyOverride] }
30
28
 
31
29
  # @!attribute color_overrides
32
30
  # Optional list of colors to override
33
31
  #
34
32
  # @return [Array<MetronomeSDK::Models::V1::DashboardGetEmbeddableURLParams::ColorOverride>, nil]
35
33
  optional :color_overrides,
36
- -> {
37
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::DashboardGetEmbeddableURLParams::ColorOverride]
38
- }
34
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::DashboardGetEmbeddableURLParams::ColorOverride] }
39
35
 
40
36
  # @!attribute dashboard_options
41
37
  # Optional dashboard specific options
42
38
  #
43
39
  # @return [Array<MetronomeSDK::Models::V1::DashboardGetEmbeddableURLParams::DashboardOption>, nil]
44
40
  optional :dashboard_options,
45
- -> {
46
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption]
47
- }
41
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::DashboardGetEmbeddableURLParams::DashboardOption] }
48
42
 
49
43
  # @!method initialize(customer_id:, dashboard:, bm_group_key_overrides: nil, color_overrides: nil, dashboard_options: nil, request_options: {})
50
44
  # @param customer_id [String]
@@ -90,8 +84,7 @@ module MetronomeSDK
90
84
  # names. e.g. {"a": "Asia", "b": "Euro"}
91
85
  #
92
86
  # @return [Hash{Symbol=>Object}, nil]
93
- optional :value_display_names,
94
- MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
87
+ optional :value_display_names, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
95
88
 
96
89
  # @!method initialize(group_key_name:, display_name: nil, value_display_names: nil)
97
90
  # Some parameter documentations has been truncated, see