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
@@ -46,23 +46,13 @@ module MetronomeSDK
46
46
  attr_writer :amendment_id
47
47
 
48
48
  # This field's availability is dependent on your client's configuration.
49
- sig do
50
- returns(
51
- T.nilable(
52
- MetronomeSDK::V1::Customers::Invoice::BillableStatus::TaggedSymbol
53
- )
54
- )
55
- end
49
+ sig { returns(T.nilable(T.anything)) }
56
50
  attr_reader :billable_status
57
51
 
58
- sig do
59
- params(
60
- billable_status:
61
- MetronomeSDK::V1::Customers::Invoice::BillableStatus::OrSymbol
62
- ).void
63
- end
52
+ sig { params(billable_status: T.anything).void }
64
53
  attr_writer :billable_status
65
54
 
55
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
66
56
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
67
57
  attr_reader :contract_custom_fields
68
58
 
@@ -104,6 +94,7 @@ module MetronomeSDK
104
94
  sig { params(custom_fields: T::Hash[Symbol, T.anything]).void }
105
95
  attr_writer :custom_fields
106
96
 
97
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
107
98
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
108
99
  attr_reader :customer_custom_fields
109
100
 
@@ -175,6 +166,7 @@ module MetronomeSDK
175
166
  sig { params(netsuite_sales_order_id: String).void }
176
167
  attr_writer :netsuite_sales_order_id
177
168
 
169
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
178
170
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
179
171
  attr_reader :plan_custom_fields
180
172
 
@@ -242,8 +234,7 @@ module MetronomeSDK
242
234
  total: Float,
243
235
  type: String,
244
236
  amendment_id: String,
245
- billable_status:
246
- MetronomeSDK::V1::Customers::Invoice::BillableStatus::OrSymbol,
237
+ billable_status: T.anything,
247
238
  contract_custom_fields: T::Hash[Symbol, String],
248
239
  contract_id: String,
249
240
  correction_record:
@@ -284,6 +275,7 @@ module MetronomeSDK
284
275
  amendment_id: nil,
285
276
  # This field's availability is dependent on your client's configuration.
286
277
  billable_status: nil,
278
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
287
279
  contract_custom_fields: nil,
288
280
  contract_id: nil,
289
281
  correction_record: nil,
@@ -291,6 +283,7 @@ module MetronomeSDK
291
283
  # invoices only.
292
284
  created_at: nil,
293
285
  custom_fields: nil,
286
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
294
287
  customer_custom_fields: nil,
295
288
  # End of the usage period this invoice covers (UTC)
296
289
  end_timestamp: nil,
@@ -301,6 +294,7 @@ module MetronomeSDK
301
294
  net_payment_terms_days: nil,
302
295
  # This field's availability is dependent on your client's configuration.
303
296
  netsuite_sales_order_id: nil,
297
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
304
298
  plan_custom_fields: nil,
305
299
  plan_id: nil,
306
300
  plan_name: nil,
@@ -326,8 +320,7 @@ module MetronomeSDK
326
320
  total: Float,
327
321
  type: String,
328
322
  amendment_id: String,
329
- billable_status:
330
- MetronomeSDK::V1::Customers::Invoice::BillableStatus::TaggedSymbol,
323
+ billable_status: T.anything,
331
324
  contract_custom_fields: T::Hash[Symbol, String],
332
325
  contract_id: String,
333
326
  correction_record:
@@ -384,11 +377,29 @@ module MetronomeSDK
384
377
  sig { returns(Float) }
385
378
  attr_accessor :total
386
379
 
387
- # The type of line item. Possible values are 'aws_royalty',
388
- # 'applied_commit_or_credit', 'scheduled', 'commit_purchase', 'cpu_conversion',
389
- # 'discount', 'gcp_royalty', 'postpaid_trueup', 'professional_services',
390
- # 'subscription', 'usage', 'legacy', 'minimum', 'product_charge',
391
- # 'trial_discount', 'rollover', 'seat', 'grouped_charge'.
380
+ # The type of line item.
381
+ #
382
+ # - `scheduled`: Line item is associated with a scheduled charge. View the
383
+ # scheduled_charge_id on the line item.
384
+ # - `commit_purchase`: Line item is associated with a payment for a prepaid
385
+ # commit. View the commit_id on the line item.
386
+ # - `usage`: Line item is associated with a usage product or composite product.
387
+ # View the product_id on the line item to determine which product.
388
+ # - `subscription`: Line item is associated with a subscription. e.g. monthly
389
+ # recurring payment for an in-advance subscription.
390
+ # - `applied_commit_or_credit`: On metronome invoices, applied commits and credits
391
+ # are associated with their own line items. These line items have negative
392
+ # totals. Use the applied_commit_or_credit object on the line item to understand
393
+ # the id of the applied commit or credit, and its type. Note that the
394
+ # application of a postpaid commit is associated with a line item, but the total
395
+ # on the line item is not included in the invoice's total as postpaid commits
396
+ # are paid in-arrears.
397
+ # - `cpu_conversion`: Line item converting between a custom pricing unit and fiat
398
+ # currency, using the conversion rate set on the rate card. This line item will
399
+ # appear when there are products priced in custom pricing units, and there is
400
+ # insufficient prepaid commit/credit in that custom pricing unit to fully cover
401
+ # the spend. Then, the outstanding spend in custom pricing units will be
402
+ # converted to fiat currency using a cpu_conversion line item.
392
403
  sig { returns(String) }
393
404
  attr_accessor :type
394
405
 
@@ -412,6 +423,7 @@ module MetronomeSDK
412
423
  end
413
424
  attr_writer :applied_commit_or_credit
414
425
 
426
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
415
427
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
416
428
  attr_reader :commit_custom_fields
417
429
 
@@ -454,12 +466,14 @@ module MetronomeSDK
454
466
  sig { params(commit_type: String).void }
455
467
  attr_writer :commit_type
456
468
 
469
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
457
470
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
458
471
  attr_reader :custom_fields
459
472
 
460
473
  sig { params(custom_fields: T::Hash[Symbol, String]).void }
461
474
  attr_writer :custom_fields
462
475
 
476
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
463
477
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
464
478
  attr_reader :discount_custom_fields
465
479
 
@@ -569,6 +583,7 @@ module MetronomeSDK
569
583
  sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
570
584
  attr_writer :pricing_group_values
571
585
 
586
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
572
587
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
573
588
  attr_reader :product_custom_fields
574
589
 
@@ -600,6 +615,7 @@ module MetronomeSDK
600
615
  sig { params(product_type: String).void }
601
616
  attr_writer :product_type
602
617
 
618
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
603
619
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
604
620
  attr_reader :professional_service_custom_fields
605
621
 
@@ -640,6 +656,7 @@ module MetronomeSDK
640
656
  end
641
657
  attr_writer :reseller_type
642
658
 
659
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
643
660
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
644
661
  attr_reader :scheduled_charge_custom_fields
645
662
 
@@ -685,6 +702,7 @@ module MetronomeSDK
685
702
  end
686
703
  attr_writer :sub_line_items
687
704
 
705
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
688
706
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
689
707
  attr_reader :subscription_custom_fields
690
708
 
@@ -772,16 +790,35 @@ module MetronomeSDK
772
790
  credit_type:,
773
791
  name:,
774
792
  total:,
775
- # The type of line item. Possible values are 'aws_royalty',
776
- # 'applied_commit_or_credit', 'scheduled', 'commit_purchase', 'cpu_conversion',
777
- # 'discount', 'gcp_royalty', 'postpaid_trueup', 'professional_services',
778
- # 'subscription', 'usage', 'legacy', 'minimum', 'product_charge',
779
- # 'trial_discount', 'rollover', 'seat', 'grouped_charge'.
793
+ # The type of line item.
794
+ #
795
+ # - `scheduled`: Line item is associated with a scheduled charge. View the
796
+ # scheduled_charge_id on the line item.
797
+ # - `commit_purchase`: Line item is associated with a payment for a prepaid
798
+ # commit. View the commit_id on the line item.
799
+ # - `usage`: Line item is associated with a usage product or composite product.
800
+ # View the product_id on the line item to determine which product.
801
+ # - `subscription`: Line item is associated with a subscription. e.g. monthly
802
+ # recurring payment for an in-advance subscription.
803
+ # - `applied_commit_or_credit`: On metronome invoices, applied commits and credits
804
+ # are associated with their own line items. These line items have negative
805
+ # totals. Use the applied_commit_or_credit object on the line item to understand
806
+ # the id of the applied commit or credit, and its type. Note that the
807
+ # application of a postpaid commit is associated with a line item, but the total
808
+ # on the line item is not included in the invoice's total as postpaid commits
809
+ # are paid in-arrears.
810
+ # - `cpu_conversion`: Line item converting between a custom pricing unit and fiat
811
+ # currency, using the conversion rate set on the rate card. This line item will
812
+ # appear when there are products priced in custom pricing units, and there is
813
+ # insufficient prepaid commit/credit in that custom pricing unit to fully cover
814
+ # the spend. Then, the outstanding spend in custom pricing units will be
815
+ # converted to fiat currency using a cpu_conversion line item.
780
816
  type:,
781
817
  # Details about the credit or commit that was applied to this line item. Only
782
818
  # present on line items with product of `USAGE`, `SUBSCRIPTION` or `COMPOSITE`
783
819
  # types.
784
820
  applied_commit_or_credit: nil,
821
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
785
822
  commit_custom_fields: nil,
786
823
  # For line items with product of `USAGE`, `SUBSCRIPTION`, or `COMPOSITE` types,
787
824
  # the ID of the credit or commit that was applied to this line item. For line
@@ -794,7 +831,9 @@ module MetronomeSDK
794
831
  # `PrepaidCommit` (for commit types `PREPAID` and `CREDIT`) or `PostpaidCommit`
795
832
  # (for commit type `POSTPAID`).
796
833
  commit_type: nil,
834
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
797
835
  custom_fields: nil,
836
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
798
837
  discount_custom_fields: nil,
799
838
  # ID of the discount applied to this line item.
800
839
  discount_id: nil,
@@ -822,6 +861,7 @@ module MetronomeSDK
822
861
  # Includes the pricing group values associated with this line item if dimensional
823
862
  # pricing is used.
824
863
  pricing_group_values: nil,
864
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
825
865
  product_custom_fields: nil,
826
866
  # ID of the product associated with the line item.
827
867
  product_id: nil,
@@ -833,17 +873,20 @@ module MetronomeSDK
833
873
  # `CompositeProductListItem` (for `COMPOSITE` type products). For scheduled
834
874
  # charges, commit and credit payments, the value is `FixedProductListItem`.
835
875
  product_type: nil,
876
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
836
877
  professional_service_custom_fields: nil,
837
878
  professional_service_id: nil,
838
879
  # The quantity associated with the line item.
839
880
  quantity: nil,
840
881
  reseller_type: nil,
882
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
841
883
  scheduled_charge_custom_fields: nil,
842
884
  # ID of scheduled charge.
843
885
  scheduled_charge_id: nil,
844
886
  # The line item's start date (inclusive).
845
887
  starting_at: nil,
846
888
  sub_line_items: nil,
889
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
847
890
  subscription_custom_fields: nil,
848
891
  # Populated if the line item has a tiered price.
849
892
  tier: nil,
@@ -1067,6 +1110,7 @@ module MetronomeSDK
1067
1110
  )
1068
1111
  end
1069
1112
 
1113
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1070
1114
  sig { returns(T::Hash[Symbol, String]) }
1071
1115
  attr_accessor :custom_fields
1072
1116
 
@@ -1172,6 +1216,7 @@ module MetronomeSDK
1172
1216
  ).returns(T.attached_class)
1173
1217
  end
1174
1218
  def self.new(
1219
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1175
1220
  custom_fields:,
1176
1221
  name:,
1177
1222
  quantity:,
@@ -1342,41 +1387,6 @@ module MetronomeSDK
1342
1387
  end
1343
1388
  end
1344
1389
 
1345
- # This field's availability is dependent on your client's configuration.
1346
- module BillableStatus
1347
- extend MetronomeSDK::Internal::Type::Enum
1348
-
1349
- TaggedSymbol =
1350
- T.type_alias do
1351
- T.all(
1352
- Symbol,
1353
- MetronomeSDK::V1::Customers::Invoice::BillableStatus
1354
- )
1355
- end
1356
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1357
-
1358
- BILLABLE =
1359
- T.let(
1360
- :billable,
1361
- MetronomeSDK::V1::Customers::Invoice::BillableStatus::TaggedSymbol
1362
- )
1363
- UNBILLABLE =
1364
- T.let(
1365
- :unbillable,
1366
- MetronomeSDK::V1::Customers::Invoice::BillableStatus::TaggedSymbol
1367
- )
1368
-
1369
- sig do
1370
- override.returns(
1371
- T::Array[
1372
- MetronomeSDK::V1::Customers::Invoice::BillableStatus::TaggedSymbol
1373
- ]
1374
- )
1375
- end
1376
- def self.values
1377
- end
1378
- end
1379
-
1380
1390
  class CorrectionRecord < MetronomeSDK::Internal::Type::BaseModel
1381
1391
  OrHash =
1382
1392
  T.type_alias do
@@ -1482,12 +1492,51 @@ module MetronomeSDK
1482
1492
  sig { params(invoice_id: String).void }
1483
1493
  attr_writer :invoice_id
1484
1494
 
1495
+ # The subtotal amount invoiced, if available from the billing provider.
1496
+ sig { returns(T.nilable(Float)) }
1497
+ attr_reader :invoiced_sub_total
1498
+
1499
+ sig { params(invoiced_sub_total: Float).void }
1500
+ attr_writer :invoiced_sub_total
1501
+
1502
+ # The total amount invoiced, if available from the billing provider.
1503
+ sig { returns(T.nilable(Float)) }
1504
+ attr_reader :invoiced_total
1505
+
1506
+ sig { params(invoiced_total: Float).void }
1507
+ attr_writer :invoiced_total
1508
+
1485
1509
  sig { returns(T.nilable(Time)) }
1486
1510
  attr_reader :issued_at_timestamp
1487
1511
 
1488
1512
  sig { params(issued_at_timestamp: Time).void }
1489
1513
  attr_writer :issued_at_timestamp
1490
1514
 
1515
+ # A URL to the PDF of the invoice, if available from the billing provider.
1516
+ sig { returns(T.nilable(String)) }
1517
+ attr_reader :pdf_url
1518
+
1519
+ sig { params(pdf_url: String).void }
1520
+ attr_writer :pdf_url
1521
+
1522
+ # Tax details for the invoice, if available from the billing provider.
1523
+ sig do
1524
+ returns(
1525
+ T.nilable(
1526
+ MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax
1527
+ )
1528
+ )
1529
+ end
1530
+ attr_reader :tax
1531
+
1532
+ sig do
1533
+ params(
1534
+ tax:
1535
+ MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax::OrHash
1536
+ ).void
1537
+ end
1538
+ attr_writer :tax
1539
+
1491
1540
  sig do
1492
1541
  params(
1493
1542
  billing_provider_type:
@@ -1495,14 +1544,27 @@ module MetronomeSDK
1495
1544
  external_status:
1496
1545
  MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::OrSymbol,
1497
1546
  invoice_id: String,
1498
- issued_at_timestamp: Time
1547
+ invoiced_sub_total: Float,
1548
+ invoiced_total: Float,
1549
+ issued_at_timestamp: Time,
1550
+ pdf_url: String,
1551
+ tax:
1552
+ MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax::OrHash
1499
1553
  ).returns(T.attached_class)
1500
1554
  end
1501
1555
  def self.new(
1502
1556
  billing_provider_type:,
1503
1557
  external_status: nil,
1504
1558
  invoice_id: nil,
1505
- issued_at_timestamp: nil
1559
+ # The subtotal amount invoiced, if available from the billing provider.
1560
+ invoiced_sub_total: nil,
1561
+ # The total amount invoiced, if available from the billing provider.
1562
+ invoiced_total: nil,
1563
+ issued_at_timestamp: nil,
1564
+ # A URL to the PDF of the invoice, if available from the billing provider.
1565
+ pdf_url: nil,
1566
+ # Tax details for the invoice, if available from the billing provider.
1567
+ tax: nil
1506
1568
  )
1507
1569
  end
1508
1570
 
@@ -1514,7 +1576,12 @@ module MetronomeSDK
1514
1576
  external_status:
1515
1577
  MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol,
1516
1578
  invoice_id: String,
1517
- issued_at_timestamp: Time
1579
+ invoiced_sub_total: Float,
1580
+ invoiced_total: Float,
1581
+ issued_at_timestamp: Time,
1582
+ pdf_url: String,
1583
+ tax:
1584
+ MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax
1518
1585
  }
1519
1586
  )
1520
1587
  end
@@ -1663,6 +1730,67 @@ module MetronomeSDK
1663
1730
  def self.values
1664
1731
  end
1665
1732
  end
1733
+
1734
+ class Tax < MetronomeSDK::Internal::Type::BaseModel
1735
+ OrHash =
1736
+ T.type_alias do
1737
+ T.any(
1738
+ MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax,
1739
+ MetronomeSDK::Internal::AnyHash
1740
+ )
1741
+ end
1742
+
1743
+ # The total tax amount applied to the invoice.
1744
+ sig { returns(T.nilable(Float)) }
1745
+ attr_reader :total_tax_amount
1746
+
1747
+ sig { params(total_tax_amount: Float).void }
1748
+ attr_writer :total_tax_amount
1749
+
1750
+ # The total taxable amount of the invoice.
1751
+ sig { returns(T.nilable(Float)) }
1752
+ attr_reader :total_taxable_amount
1753
+
1754
+ sig { params(total_taxable_amount: Float).void }
1755
+ attr_writer :total_taxable_amount
1756
+
1757
+ # The transaction ID associated with the tax calculation.
1758
+ sig { returns(T.nilable(String)) }
1759
+ attr_reader :transaction_id
1760
+
1761
+ sig { params(transaction_id: String).void }
1762
+ attr_writer :transaction_id
1763
+
1764
+ # Tax details for the invoice, if available from the billing provider.
1765
+ sig do
1766
+ params(
1767
+ total_tax_amount: Float,
1768
+ total_taxable_amount: Float,
1769
+ transaction_id: String
1770
+ ).returns(T.attached_class)
1771
+ end
1772
+ def self.new(
1773
+ # The total tax amount applied to the invoice.
1774
+ total_tax_amount: nil,
1775
+ # The total taxable amount of the invoice.
1776
+ total_taxable_amount: nil,
1777
+ # The transaction ID associated with the tax calculation.
1778
+ transaction_id: nil
1779
+ )
1780
+ end
1781
+
1782
+ sig do
1783
+ override.returns(
1784
+ {
1785
+ total_tax_amount: Float,
1786
+ total_taxable_amount: Float,
1787
+ transaction_id: String
1788
+ }
1789
+ )
1790
+ end
1791
+ def to_hash
1792
+ end
1793
+ end
1666
1794
  end
1667
1795
  end
1668
1796
 
@@ -1705,12 +1833,51 @@ module MetronomeSDK
1705
1833
  sig { params(invoice_id: String).void }
1706
1834
  attr_writer :invoice_id
1707
1835
 
1836
+ # The subtotal amount invoiced, if available from the billing provider.
1837
+ sig { returns(T.nilable(Float)) }
1838
+ attr_reader :invoiced_sub_total
1839
+
1840
+ sig { params(invoiced_sub_total: Float).void }
1841
+ attr_writer :invoiced_sub_total
1842
+
1843
+ # The total amount invoiced, if available from the billing provider.
1844
+ sig { returns(T.nilable(Float)) }
1845
+ attr_reader :invoiced_total
1846
+
1847
+ sig { params(invoiced_total: Float).void }
1848
+ attr_writer :invoiced_total
1849
+
1708
1850
  sig { returns(T.nilable(Time)) }
1709
1851
  attr_reader :issued_at_timestamp
1710
1852
 
1711
1853
  sig { params(issued_at_timestamp: Time).void }
1712
1854
  attr_writer :issued_at_timestamp
1713
1855
 
1856
+ # A URL to the PDF of the invoice, if available from the billing provider.
1857
+ sig { returns(T.nilable(String)) }
1858
+ attr_reader :pdf_url
1859
+
1860
+ sig { params(pdf_url: String).void }
1861
+ attr_writer :pdf_url
1862
+
1863
+ # Tax details for the invoice, if available from the billing provider.
1864
+ sig do
1865
+ returns(
1866
+ T.nilable(
1867
+ MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax
1868
+ )
1869
+ )
1870
+ end
1871
+ attr_reader :tax
1872
+
1873
+ sig do
1874
+ params(
1875
+ tax:
1876
+ MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax::OrHash
1877
+ ).void
1878
+ end
1879
+ attr_writer :tax
1880
+
1714
1881
  sig do
1715
1882
  params(
1716
1883
  billing_provider_type:
@@ -1718,14 +1885,27 @@ module MetronomeSDK
1718
1885
  external_status:
1719
1886
  MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::ExternalStatus::OrSymbol,
1720
1887
  invoice_id: String,
1721
- issued_at_timestamp: Time
1888
+ invoiced_sub_total: Float,
1889
+ invoiced_total: Float,
1890
+ issued_at_timestamp: Time,
1891
+ pdf_url: String,
1892
+ tax:
1893
+ MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax::OrHash
1722
1894
  ).returns(T.attached_class)
1723
1895
  end
1724
1896
  def self.new(
1725
1897
  billing_provider_type:,
1726
1898
  external_status: nil,
1727
1899
  invoice_id: nil,
1728
- issued_at_timestamp: nil
1900
+ # The subtotal amount invoiced, if available from the billing provider.
1901
+ invoiced_sub_total: nil,
1902
+ # The total amount invoiced, if available from the billing provider.
1903
+ invoiced_total: nil,
1904
+ issued_at_timestamp: nil,
1905
+ # A URL to the PDF of the invoice, if available from the billing provider.
1906
+ pdf_url: nil,
1907
+ # Tax details for the invoice, if available from the billing provider.
1908
+ tax: nil
1729
1909
  )
1730
1910
  end
1731
1911
 
@@ -1737,7 +1917,12 @@ module MetronomeSDK
1737
1917
  external_status:
1738
1918
  MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::ExternalStatus::TaggedSymbol,
1739
1919
  invoice_id: String,
1740
- issued_at_timestamp: Time
1920
+ invoiced_sub_total: Float,
1921
+ invoiced_total: Float,
1922
+ issued_at_timestamp: Time,
1923
+ pdf_url: String,
1924
+ tax:
1925
+ MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax
1741
1926
  }
1742
1927
  )
1743
1928
  end
@@ -1886,6 +2071,67 @@ module MetronomeSDK
1886
2071
  def self.values
1887
2072
  end
1888
2073
  end
2074
+
2075
+ class Tax < MetronomeSDK::Internal::Type::BaseModel
2076
+ OrHash =
2077
+ T.type_alias do
2078
+ T.any(
2079
+ MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax,
2080
+ MetronomeSDK::Internal::AnyHash
2081
+ )
2082
+ end
2083
+
2084
+ # The total tax amount applied to the invoice.
2085
+ sig { returns(T.nilable(Float)) }
2086
+ attr_reader :total_tax_amount
2087
+
2088
+ sig { params(total_tax_amount: Float).void }
2089
+ attr_writer :total_tax_amount
2090
+
2091
+ # The total taxable amount of the invoice.
2092
+ sig { returns(T.nilable(Float)) }
2093
+ attr_reader :total_taxable_amount
2094
+
2095
+ sig { params(total_taxable_amount: Float).void }
2096
+ attr_writer :total_taxable_amount
2097
+
2098
+ # The transaction ID associated with the tax calculation.
2099
+ sig { returns(T.nilable(String)) }
2100
+ attr_reader :transaction_id
2101
+
2102
+ sig { params(transaction_id: String).void }
2103
+ attr_writer :transaction_id
2104
+
2105
+ # Tax details for the invoice, if available from the billing provider.
2106
+ sig do
2107
+ params(
2108
+ total_tax_amount: Float,
2109
+ total_taxable_amount: Float,
2110
+ transaction_id: String
2111
+ ).returns(T.attached_class)
2112
+ end
2113
+ def self.new(
2114
+ # The total tax amount applied to the invoice.
2115
+ total_tax_amount: nil,
2116
+ # The total taxable amount of the invoice.
2117
+ total_taxable_amount: nil,
2118
+ # The transaction ID associated with the tax calculation.
2119
+ transaction_id: nil
2120
+ )
2121
+ end
2122
+
2123
+ sig do
2124
+ override.returns(
2125
+ {
2126
+ total_tax_amount: Float,
2127
+ total_taxable_amount: Float,
2128
+ transaction_id: String
2129
+ }
2130
+ )
2131
+ end
2132
+ def to_hash
2133
+ end
2134
+ end
1889
2135
  end
1890
2136
 
1891
2137
  class InvoiceAdjustment < MetronomeSDK::Internal::Type::BaseModel
@@ -1911,6 +2157,7 @@ module MetronomeSDK
1911
2157
  sig { returns(Float) }
1912
2158
  attr_accessor :total
1913
2159
 
2160
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1914
2161
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
1915
2162
  attr_reader :credit_grant_custom_fields
1916
2163
 
@@ -1938,6 +2185,7 @@ module MetronomeSDK
1938
2185
  credit_type:,
1939
2186
  name:,
1940
2187
  total:,
2188
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1941
2189
  credit_grant_custom_fields: nil,
1942
2190
  credit_grant_id: nil
1943
2191
  )