schematichq 1.5.2 → 1.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +4 -4
  3. data/.fern/replay.lock +14 -338
  4. data/.fernignore +8 -0
  5. data/.rubocop.yml +4 -0
  6. data/README.md +141 -0
  7. data/WASM_VERSION +1 -1
  8. data/custom.gemspec.rb +6 -0
  9. data/lib/schematic/accesstokens/client.rb +9 -1
  10. data/lib/schematic/accounts/client.rb +183 -21
  11. data/lib/schematic/accounts/types/update_environment_request_body.rb +2 -0
  12. data/lib/schematic/billing/client.rb +325 -34
  13. data/lib/schematic/billing/types/create_billing_price_request_body.rb +1 -1
  14. data/lib/schematic/billing/types/create_billing_product_request_body.rb +1 -1
  15. data/lib/schematic/billing/types/create_billing_subscription_request_body.rb +1 -1
  16. data/lib/schematic/billing/types/create_coupon_request_body.rb +2 -2
  17. data/lib/schematic/billing/types/create_invoice_request_body.rb +1 -1
  18. data/lib/schematic/billing/types/get_billing_settings_response.rb +13 -0
  19. data/lib/schematic/billing/types/list_billing_prices_params.rb +1 -1
  20. data/lib/schematic/billing/types/list_billing_prices_request.rb +1 -1
  21. data/lib/schematic/billing/types/list_billing_product_prices_params.rb +1 -1
  22. data/lib/schematic/billing/types/list_billing_product_prices_request.rb +1 -1
  23. data/lib/schematic/billing/types/update_billing_settings_request_body.rb +11 -0
  24. data/lib/schematic/billing/types/update_billing_settings_response.rb +13 -0
  25. data/lib/schematic/catalogs/client.rb +121 -14
  26. data/lib/schematic/checkout/client.rb +80 -9
  27. data/lib/schematic/checkout/types/checkout_data_request_body.rb +1 -1
  28. data/lib/schematic/client.rb +5 -3
  29. data/lib/schematic/companies/client.rb +380 -44
  30. data/lib/schematic/components/client.rb +70 -8
  31. data/lib/schematic/components/types/create_component_request_body.rb +1 -1
  32. data/lib/schematic/components/types/update_component_request_body.rb +1 -1
  33. data/lib/schematic/componentspublic/client.rb +8 -1
  34. data/lib/schematic/credits/client.rb +458 -46
  35. data/lib/schematic/credits/leases/check.rb +477 -0
  36. data/lib/schematic/credits/leases/lease_manager.rb +565 -0
  37. data/lib/schematic/credits/leases/lease_store.rb +240 -0
  38. data/lib/schematic/credits/leases/redis_lease_store.rb +358 -0
  39. data/lib/schematic/credits/leases/redis_reservation_store.rb +326 -0
  40. data/lib/schematic/credits/leases/reservation_store.rb +161 -0
  41. data/lib/schematic/credits/leases/server_check.rb +237 -0
  42. data/lib/schematic/credits/leases/track.rb +66 -0
  43. data/lib/schematic/credits/leases/types.rb +329 -0
  44. data/lib/schematic/credits/leases/wire_client.rb +83 -0
  45. data/lib/schematic/credits/types/acquire_credit_lease_request_body.rb +3 -1
  46. data/lib/schematic/credits/types/create_billing_credit_request_body.rb +1 -1
  47. data/lib/schematic/credits/types/create_company_credit_grant.rb +1 -1
  48. data/lib/schematic/credits/types/create_credit_bundle_request_body.rb +1 -1
  49. data/lib/schematic/credits/types/create_credit_spend_policy_request_body.rb +5 -1
  50. data/lib/schematic/credits/types/extend_credit_lease_request_body.rb +3 -1
  51. data/lib/schematic/credits/types/get_credit_balance_time_series_params.rb +18 -0
  52. data/lib/schematic/credits/types/get_credit_balance_time_series_request.rb +17 -0
  53. data/lib/schematic/credits/types/get_credit_balance_time_series_response.rb +13 -0
  54. data/lib/schematic/credits/types/get_credit_spend_policy_usage_params.rb +16 -0
  55. data/lib/schematic/credits/types/get_credit_spend_policy_usage_request.rb +15 -0
  56. data/lib/schematic/credits/types/get_credit_spend_policy_usage_response.rb +13 -0
  57. data/lib/schematic/credits/types/reserve_credits_request_body.rb +1 -1
  58. data/lib/schematic/credits/types/update_credit_spend_policy_request_body.rb +5 -1
  59. data/lib/schematic/dataexports/client.rb +36 -6
  60. data/lib/schematic/datastream/client.rb +32 -2
  61. data/lib/schematic/entitlements/client.rb +406 -25
  62. data/lib/schematic/entitlements/types/count_company_user_usage_params.rb +24 -0
  63. data/lib/schematic/entitlements/types/count_company_user_usage_request.rb +23 -0
  64. data/lib/schematic/entitlements/types/count_company_user_usage_response.rb +13 -0
  65. data/lib/schematic/entitlements/types/create_billing_linked_plan_entitlement_request_body.rb +4 -2
  66. data/lib/schematic/entitlements/types/create_company_override_request_body.rb +3 -1
  67. data/lib/schematic/entitlements/types/create_plan_entitlement_request_body.rb +4 -2
  68. data/lib/schematic/entitlements/types/get_company_user_usage_metrics_params.rb +16 -0
  69. data/lib/schematic/entitlements/types/get_company_user_usage_metrics_request.rb +15 -0
  70. data/lib/schematic/entitlements/types/get_company_user_usage_metrics_response.rb +13 -0
  71. data/lib/schematic/entitlements/types/list_company_user_usage_params.rb +24 -0
  72. data/lib/schematic/entitlements/types/list_company_user_usage_request.rb +23 -0
  73. data/lib/schematic/entitlements/types/list_company_user_usage_response.rb +13 -0
  74. data/lib/schematic/entitlements/types/update_company_override_request_body.rb +3 -1
  75. data/lib/schematic/entitlements/types/update_plan_entitlement_request_body.rb +4 -2
  76. data/lib/schematic/errors/connection_error.rb +11 -0
  77. data/lib/schematic/errors/response_error.rb +23 -2
  78. data/lib/schematic/events/client.rb +78 -9
  79. data/lib/schematic/features/client.rb +160 -18
  80. data/lib/schematic/features/types/check_and_reserve_flag_request_body.rb +1 -1
  81. data/lib/schematic/features/types/create_billing_linked_feature_request_body.rb +2 -0
  82. data/lib/schematic/features/types/create_feature_request_body.rb +2 -0
  83. data/lib/schematic/features/types/update_feature_request_body.rb +2 -0
  84. data/lib/schematic/insights/client.rb +48 -6
  85. data/lib/schematic/integrationsapi/client.rb +120 -14
  86. data/lib/schematic/internal/http/base_request.rb +30 -0
  87. data/lib/schematic/internal/http/raw_client.rb +35 -5
  88. data/lib/schematic/internal/iterators/cursor_item_iterator.rb +7 -2
  89. data/lib/schematic/internal/iterators/cursor_page_iterator.rb +68 -14
  90. data/lib/schematic/internal/iterators/item_iterator.rb +61 -15
  91. data/lib/schematic/internal/iterators/offset_item_iterator.rb +7 -2
  92. data/lib/schematic/internal/iterators/offset_page_iterator.rb +57 -9
  93. data/lib/schematic/internal/json/request.rb +11 -2
  94. data/lib/schematic/internal/multipart/multipart_request.rb +1 -0
  95. data/lib/schematic/internal/types/model.rb +7 -3
  96. data/lib/schematic/internal/types/utils.rb +7 -0
  97. data/lib/schematic/licenses/client.rb +26 -3
  98. data/lib/schematic/planbundle/client.rb +27 -3
  99. data/lib/schematic/plangroups/client.rb +28 -3
  100. data/lib/schematic/plangroups/types/create_plan_group_request_body.rb +2 -0
  101. data/lib/schematic/plangroups/types/update_plan_group_request_body.rb +2 -0
  102. data/lib/schematic/planmigrations/client.rb +104 -11
  103. data/lib/schematic/planmigrations/types/count_migrations_params.rb +2 -0
  104. data/lib/schematic/planmigrations/types/count_migrations_request.rb +2 -0
  105. data/lib/schematic/planmigrations/types/create_migration_input.rb +2 -0
  106. data/lib/schematic/planmigrations/types/list_migrations_params.rb +2 -0
  107. data/lib/schematic/planmigrations/types/list_migrations_request.rb +2 -0
  108. data/lib/schematic/plans/client.rb +213 -23
  109. data/lib/schematic/plans/types/get_plan_version_diff_params.rb +12 -0
  110. data/lib/schematic/plans/types/get_plan_version_diff_request.rb +13 -0
  111. data/lib/schematic/plans/types/get_plan_version_diff_response.rb +13 -0
  112. data/lib/schematic/plans/types/publish_plan_version_request_body.rb +6 -0
  113. data/lib/schematic/plans/types/retry_custom_plan_billing_request_body.rb +2 -0
  114. data/lib/schematic/rules_engine.rb +49 -0
  115. data/lib/schematic/scheduledcheckout/client.rb +35 -4
  116. data/lib/schematic/schematic_client.rb +841 -33
  117. data/lib/schematic/types/billing_coupon_response_data.rb +2 -2
  118. data/lib/schematic/types/billing_credit_grant_response_data.rb +8 -8
  119. data/lib/schematic/types/billing_customer_subscription.rb +1 -1
  120. data/lib/schematic/types/billing_plan_credit_grant_response_data.rb +1 -1
  121. data/lib/schematic/types/billing_price_response_data.rb +1 -1
  122. data/lib/schematic/types/billing_price_view.rb +1 -1
  123. data/lib/schematic/types/billing_product_detail_response_data.rb +2 -2
  124. data/lib/schematic/types/billing_product_for_subscription_response_data.rb +2 -2
  125. data/lib/schematic/types/billing_product_price_response_data.rb +1 -1
  126. data/lib/schematic/types/billing_product_pricing.rb +1 -1
  127. data/lib/schematic/types/billing_product_response_data.rb +2 -2
  128. data/lib/schematic/types/billing_settings_response_data.rb +9 -0
  129. data/lib/schematic/types/billing_subscription_discount_view.rb +2 -2
  130. data/lib/schematic/types/billing_subscription_response_data.rb +1 -1
  131. data/lib/schematic/types/billing_subscription_view.rb +1 -1
  132. data/lib/schematic/types/capture_raw_event.rb +4 -0
  133. data/lib/schematic/types/catalog_config_ordered_plan.rb +2 -0
  134. data/lib/schematic/types/catalog_config_ordered_plan_response_data.rb +2 -0
  135. data/lib/schematic/types/catalog_config_plan_credit.rb +11 -0
  136. data/lib/schematic/types/catalog_config_plan_credit_response_data.rb +11 -0
  137. data/lib/schematic/types/change_subscription_internal_request_body.rb +1 -1
  138. data/lib/schematic/types/change_subscription_request_body.rb +1 -1
  139. data/lib/schematic/types/check_flags_response_data.rb +2 -0
  140. data/lib/schematic/types/checkout_problem_code.rb +54 -0
  141. data/lib/schematic/types/checkout_problem_response_data.rb +31 -0
  142. data/lib/schematic/types/checkout_problem_source.rb +13 -0
  143. data/lib/schematic/types/checkout_subscription.rb +1 -1
  144. data/lib/schematic/types/company_billing_entity_subscription_response_data.rb +1 -1
  145. data/lib/schematic/types/company_credit_balance.rb +3 -3
  146. data/lib/schematic/types/company_credit_balance_response_data.rb +4 -4
  147. data/lib/schematic/types/company_detail_response_data.rb +3 -1
  148. data/lib/schematic/types/company_override_response_data.rb +3 -1
  149. data/lib/schematic/types/company_plan_credit_grant_view.rb +1 -1
  150. data/lib/schematic/types/company_plan_detail_response_data.rb +4 -0
  151. data/lib/schematic/types/company_subscription_response_data.rb +1 -1
  152. data/lib/schematic/types/company_user_usage_metrics_response_data.rb +15 -0
  153. data/lib/schematic/types/company_user_usage_response_data.rb +19 -0
  154. data/lib/schematic/types/company_user_usage_row_response_data.rb +17 -0
  155. data/lib/schematic/types/component_display_settings.rb +2 -0
  156. data/lib/schematic/types/component_response_data.rb +1 -1
  157. data/lib/schematic/types/component_settings_response_data.rb +2 -0
  158. data/lib/schematic/types/condition.rb +3 -1
  159. data/lib/schematic/types/condition_response_data.rb +3 -1
  160. data/lib/schematic/types/condition_view.rb +3 -1
  161. data/lib/schematic/types/coupon_request_body.rb +2 -2
  162. data/lib/schematic/types/create_billing_plan_credit_grant_request_body.rb +1 -1
  163. data/lib/schematic/types/create_entitlement_in_bundle_request_body.rb +4 -2
  164. data/lib/schematic/types/create_entitlement_req_common.rb +3 -1
  165. data/lib/schematic/types/create_or_update_condition_request_body.rb +1 -1
  166. data/lib/schematic/types/credit_balance_event_response_data.rb +21 -0
  167. data/lib/schematic/types/credit_balance_feature_consumption_response_data.rb +13 -0
  168. data/lib/schematic/types/credit_balance_point_response_data.rb +15 -0
  169. data/lib/schematic/types/credit_balance_time_series_response_data.rb +15 -0
  170. data/lib/schematic/types/credit_bundle_currency_price.rb +1 -1
  171. data/lib/schematic/types/credit_bundle_currency_price_request_body.rb +1 -1
  172. data/lib/schematic/types/credit_bundle_currency_price_response_data.rb +1 -1
  173. data/lib/schematic/types/credit_burn_breakdown_line.rb +15 -0
  174. data/lib/schematic/types/credit_company_grant_view.rb +8 -8
  175. data/lib/schematic/types/credit_currency_price.rb +1 -1
  176. data/lib/schematic/types/credit_currency_price_request_body.rb +1 -1
  177. data/lib/schematic/types/credit_currency_price_response_data.rb +1 -1
  178. data/lib/schematic/types/credit_event_ledger_response_data.rb +14 -6
  179. data/lib/schematic/types/credit_event_type.rb +3 -0
  180. data/lib/schematic/types/credit_grant_detail.rb +1 -1
  181. data/lib/schematic/types/credit_lease_response_data.rb +2 -2
  182. data/lib/schematic/types/credit_ledger_entry_kind.rb +17 -0
  183. data/lib/schematic/types/credit_reservation_response_data.rb +2 -2
  184. data/lib/schematic/types/credit_spend_policy.rb +25 -0
  185. data/lib/schematic/types/credit_spend_policy_response_data.rb +13 -1
  186. data/lib/schematic/types/credit_spend_window.rb +11 -0
  187. data/lib/schematic/types/credit_spend_window_unit.rb +13 -0
  188. data/lib/schematic/types/credit_transfer_response_data.rb +1 -1
  189. data/lib/schematic/types/credit_transfer_view.rb +1 -1
  190. data/lib/schematic/types/credit_usage.rb +5 -5
  191. data/lib/schematic/types/credit_usage_aggregation.rb +4 -4
  192. data/lib/schematic/types/credit_usage_reason.rb +1 -0
  193. data/lib/schematic/types/credits_in_plan.rb +11 -0
  194. data/lib/schematic/types/currency.rb +144 -0
  195. data/lib/schematic/types/currency_price_request_body.rb +1 -1
  196. data/lib/schematic/types/custom_plan_billing_response_data.rb +8 -0
  197. data/lib/schematic/types/entitlement_currency_prices_response_data.rb +1 -1
  198. data/lib/schematic/types/environment_detail_response_data.rb +2 -0
  199. data/lib/schematic/types/environment_response_data.rb +2 -0
  200. data/lib/schematic/types/estimated_plan_total.rb +13 -0
  201. data/lib/schematic/types/feature_company_response_data.rb +7 -7
  202. data/lib/schematic/types/feature_detail_response_data.rb +2 -0
  203. data/lib/schematic/types/feature_entitlement.rb +8 -6
  204. data/lib/schematic/types/feature_event_source.rb +12 -0
  205. data/lib/schematic/types/feature_in_plan_response_data.rb +2 -0
  206. data/lib/schematic/types/feature_response_data.rb +2 -0
  207. data/lib/schematic/types/feature_usage_response_data.rb +7 -7
  208. data/lib/schematic/types/feature_view.rb +2 -0
  209. data/lib/schematic/types/flag_check_reservation_response_data.rb +3 -3
  210. data/lib/schematic/types/insights_summary_response_data.rb +1 -1
  211. data/lib/schematic/types/invoice_request_body.rb +1 -1
  212. data/lib/schematic/types/invoice_response_data.rb +1 -1
  213. data/lib/schematic/types/manage_plan_preview_response_response_data.rb +2 -0
  214. data/lib/schematic/types/manage_plan_request.rb +3 -1
  215. data/lib/schematic/types/manage_plan_response_response_data.rb +4 -0
  216. data/lib/schematic/types/mrr_response_data.rb +1 -1
  217. data/lib/schematic/types/onboarding_milestone_view.rb +1 -1
  218. data/lib/schematic/types/ordered_plans_in_group.rb +2 -0
  219. data/lib/schematic/types/pending_migration_response_data.rb +6 -0
  220. data/lib/schematic/types/plan_billing_source.rb +1 -0
  221. data/lib/schematic/types/plan_change_action.rb +1 -0
  222. data/lib/schematic/types/plan_change_amendment_status.rb +15 -0
  223. data/lib/schematic/types/plan_change_response_data.rb +4 -0
  224. data/lib/schematic/types/plan_credit_grant_view.rb +1 -1
  225. data/lib/schematic/types/plan_credit_order.rb +11 -0
  226. data/lib/schematic/types/plan_credit_visibility.rb +11 -0
  227. data/lib/schematic/types/plan_currency_price_request_body.rb +1 -1
  228. data/lib/schematic/types/plan_currency_prices_response_data.rb +1 -1
  229. data/lib/schematic/types/plan_entitlement_response_data.rb +3 -1
  230. data/lib/schematic/types/plan_group_plan_entitlements_order.rb +2 -0
  231. data/lib/schematic/types/plan_version_billing_product_change_response_data.rb +11 -0
  232. data/lib/schematic/types/plan_version_credit_grant_change_response_data.rb +17 -0
  233. data/lib/schematic/types/plan_version_diff_change_type.rb +13 -0
  234. data/lib/schematic/types/plan_version_diff_price_cadence.rb +14 -0
  235. data/lib/schematic/types/plan_version_diff_response_data.rb +23 -0
  236. data/lib/schematic/types/plan_version_entitlement_change_response_data.rb +17 -0
  237. data/lib/schematic/types/plan_version_field_change_response_data.rb +13 -0
  238. data/lib/schematic/types/plan_version_migration_response_data.rb +2 -0
  239. data/lib/schematic/types/plan_version_migration_strategy.rb +1 -0
  240. data/lib/schematic/types/plan_version_price_change_response_data.rb +15 -0
  241. data/lib/schematic/types/plan_view_public_response_data.rb +2 -0
  242. data/lib/schematic/types/preflight_request_body.rb +1 -1
  243. data/lib/schematic/types/preview_subscription_change_response_data.rb +3 -1
  244. data/lib/schematic/types/preview_subscription_discount_response_data.rb +2 -2
  245. data/lib/schematic/types/preview_subscription_finance_response_data.rb +2 -2
  246. data/lib/schematic/types/rules_engine_schema_version.rb +1 -1
  247. data/lib/schematic/types/rulesengine_company.rb +3 -1
  248. data/lib/schematic/types/rulesengine_condition.rb +3 -1
  249. data/lib/schematic/types/rulesengine_credit_postpaid_config.rb +1 -1
  250. data/lib/schematic/types/rulesengine_credit_spend_policy.rb +25 -0
  251. data/lib/schematic/types/rulesengine_credit_spend_policy_scope.rb +13 -0
  252. data/lib/schematic/types/rulesengine_credit_spend_window.rb +11 -0
  253. data/lib/schematic/types/rulesengine_feature_entitlement.rb +8 -6
  254. data/lib/schematic/types/rulesengine_user.rb +2 -0
  255. data/lib/schematic/types/scheduled_downgrade_response_data.rb +1 -1
  256. data/lib/schematic/types/top_feature_by_usage_response_data.rb +1 -1
  257. data/lib/schematic/types/upcoming_invoice_response_data.rb +1 -1
  258. data/lib/schematic/types/update_billing_plan_credit_grant_request_body.rb +1 -1
  259. data/lib/schematic/types/update_entitlement_req_common.rb +3 -1
  260. data/lib/schematic/types/upsert_billing_product_request_body.rb +1 -1
  261. data/lib/schematic/types/usage_based_entitlement_request_body.rb +1 -1
  262. data/lib/schematic/types/usage_based_entitlement_response_data.rb +1 -1
  263. data/lib/schematic/types/user_credit_usage_response_data.rb +2 -2
  264. data/lib/schematic/types/user_daily_credit_point_response_data.rb +1 -1
  265. data/lib/schematic/types/user_feature_usage_response_data.rb +1 -1
  266. data/lib/schematic/types/user_usage_metric.rb +12 -0
  267. data/lib/schematic/version.rb +1 -1
  268. data/lib/schematic/wasm/rulesengine.wasm +0 -0
  269. data/lib/schematic/webhooks/client.rb +88 -10
  270. data/lib/schematic.rb +64 -5
  271. data/lib/schematichq.rb +10 -0
  272. data/reference.md +888 -127
  273. metadata +71 -2
@@ -56,7 +56,15 @@ module Schematic
56
56
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::ListBillingCreditsResponse.load(response.body))
57
57
  else
58
58
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
59
- raise error_class.new(response.body, code: code)
59
+ error_types = {
60
+ 400 => Schematic::Types::ApiError,
61
+ 401 => Schematic::Types::ApiError,
62
+ 403 => Schematic::Types::ApiError,
63
+ 404 => Schematic::Types::ApiError,
64
+ 500 => Schematic::Types::ApiError
65
+ }
66
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
67
+ raise error_class.new(response.body, code: code, body: error_body)
60
68
  end
61
69
  end
62
70
 
@@ -70,7 +78,7 @@ module Schematic
70
78
  #
71
79
  # @example
72
80
  # client.credits.create_billing_credit(
73
- # currency: "currency",
81
+ # currency: "aed",
74
82
  # description: "description",
75
83
  # name: "name"
76
84
  # )
@@ -95,7 +103,15 @@ module Schematic
95
103
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::CreateBillingCreditResponse.load(response.body))
96
104
  else
97
105
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
98
- raise error_class.new(response.body, code: code)
106
+ error_types = {
107
+ 400 => Schematic::Types::ApiError,
108
+ 401 => Schematic::Types::ApiError,
109
+ 403 => Schematic::Types::ApiError,
110
+ 404 => Schematic::Types::ApiError,
111
+ 500 => Schematic::Types::ApiError
112
+ }
113
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
114
+ raise error_class.new(response.body, code: code, body: error_body)
99
115
  end
100
116
  end
101
117
 
@@ -130,7 +146,14 @@ module Schematic
130
146
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::GetSingleBillingCreditResponse.load(response.body))
131
147
  else
132
148
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
133
- raise error_class.new(response.body, code: code)
149
+ error_types = {
150
+ 401 => Schematic::Types::ApiError,
151
+ 403 => Schematic::Types::ApiError,
152
+ 404 => Schematic::Types::ApiError,
153
+ 500 => Schematic::Types::ApiError
154
+ }
155
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
156
+ raise error_class.new(response.body, code: code, body: error_body)
134
157
  end
135
158
  end
136
159
 
@@ -174,7 +197,15 @@ module Schematic
174
197
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::UpdateBillingCreditResponse.load(response.body))
175
198
  else
176
199
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
177
- raise error_class.new(response.body, code: code)
200
+ error_types = {
201
+ 400 => Schematic::Types::ApiError,
202
+ 401 => Schematic::Types::ApiError,
203
+ 403 => Schematic::Types::ApiError,
204
+ 404 => Schematic::Types::ApiError,
205
+ 500 => Schematic::Types::ApiError
206
+ }
207
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
208
+ raise error_class.new(response.body, code: code, body: error_body)
178
209
  end
179
210
  end
180
211
 
@@ -209,7 +240,15 @@ module Schematic
209
240
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::SoftDeleteBillingCreditResponse.load(response.body))
210
241
  else
211
242
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
212
- raise error_class.new(response.body, code: code)
243
+ error_types = {
244
+ 400 => Schematic::Types::ApiError,
245
+ 401 => Schematic::Types::ApiError,
246
+ 403 => Schematic::Types::ApiError,
247
+ 404 => Schematic::Types::ApiError,
248
+ 500 => Schematic::Types::ApiError
249
+ }
250
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
251
+ raise error_class.new(response.body, code: code, body: error_body)
213
252
  end
214
253
  end
215
254
 
@@ -248,7 +287,72 @@ module Schematic
248
287
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::ListCompanyCreditBalancesResponse.load(response.body))
249
288
  else
250
289
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
251
- raise error_class.new(response.body, code: code)
290
+ error_types = {
291
+ 400 => Schematic::Types::ApiError,
292
+ 401 => Schematic::Types::ApiError,
293
+ 403 => Schematic::Types::ApiError,
294
+ 404 => Schematic::Types::ApiError,
295
+ 500 => Schematic::Types::ApiError
296
+ }
297
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
298
+ raise error_class.new(response.body, code: code, body: error_body)
299
+ end
300
+ end
301
+
302
+ # @param request_options [Hash]
303
+ # @param params [Hash]
304
+ # @option request_options [String] :base_url
305
+ # @option request_options [Hash{String => Object}] :additional_headers
306
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
307
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
308
+ # @option request_options [Integer] :timeout_in_seconds
309
+ # @option params [String] :billing_credit_id
310
+ # @option params [String] :company_id
311
+ # @option params [String] :end_time
312
+ # @option params [String] :start_time
313
+ #
314
+ # @example
315
+ # client.credits.get_credit_balance_time_series(
316
+ # billing_credit_id: "billing_credit_id",
317
+ # company_id: "company_id",
318
+ # end_time: "2024-01-15T09:30:00Z",
319
+ # start_time: "2024-01-15T09:30:00Z"
320
+ # )
321
+ #
322
+ # @return [Schematic::Credits::Types::GetCreditBalanceTimeSeriesResponse]
323
+ def get_credit_balance_time_series(request_options: {}, **params)
324
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
325
+ query_params = {}
326
+ query_params["billing_credit_id"] = params[:billing_credit_id] if params.key?(:billing_credit_id)
327
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
328
+ query_params["end_time"] = params[:end_time] if params.key?(:end_time)
329
+ query_params["start_time"] = params[:start_time] if params.key?(:start_time)
330
+
331
+ request = Schematic::Internal::JSON::Request.new(
332
+ base_url: request_options[:base_url],
333
+ method: "GET",
334
+ path: "billing/credits/balance-timeseries",
335
+ query: query_params,
336
+ request_options: request_options
337
+ )
338
+ begin
339
+ response = @client.send(request)
340
+ rescue Net::HTTPRequestTimeout
341
+ raise Schematic::Errors::TimeoutError
342
+ end
343
+ code = response.code.to_i
344
+ if code.between?(200, 299)
345
+ (response.body.to_s.empty? ? nil : Schematic::Credits::Types::GetCreditBalanceTimeSeriesResponse.load(response.body))
346
+ else
347
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
348
+ error_types = {
349
+ 401 => Schematic::Types::ApiError,
350
+ 403 => Schematic::Types::ApiError,
351
+ 404 => Schematic::Types::ApiError,
352
+ 500 => Schematic::Types::ApiError
353
+ }
354
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
355
+ raise error_class.new(response.body, code: code, body: error_body)
252
356
  end
253
357
  end
254
358
 
@@ -304,7 +408,15 @@ module Schematic
304
408
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::ListCreditBundlesResponse.load(response.body))
305
409
  else
306
410
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
307
- raise error_class.new(response.body, code: code)
411
+ error_types = {
412
+ 400 => Schematic::Types::ApiError,
413
+ 401 => Schematic::Types::ApiError,
414
+ 403 => Schematic::Types::ApiError,
415
+ 404 => Schematic::Types::ApiError,
416
+ 500 => Schematic::Types::ApiError
417
+ }
418
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
419
+ raise error_class.new(response.body, code: code, body: error_body)
308
420
  end
309
421
  end
310
422
 
@@ -320,7 +432,7 @@ module Schematic
320
432
  # client.credits.create_credit_bundle(
321
433
  # bundle_name: "bundle_name",
322
434
  # credit_id: "credit_id",
323
- # currency: "currency",
435
+ # currency: "aed",
324
436
  # price_per_unit: 1000000
325
437
  # )
326
438
  #
@@ -344,7 +456,15 @@ module Schematic
344
456
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::CreateCreditBundleResponse.load(response.body))
345
457
  else
346
458
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
347
- raise error_class.new(response.body, code: code)
459
+ error_types = {
460
+ 400 => Schematic::Types::ApiError,
461
+ 401 => Schematic::Types::ApiError,
462
+ 403 => Schematic::Types::ApiError,
463
+ 404 => Schematic::Types::ApiError,
464
+ 500 => Schematic::Types::ApiError
465
+ }
466
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
467
+ raise error_class.new(response.body, code: code, body: error_body)
348
468
  end
349
469
  end
350
470
 
@@ -379,7 +499,14 @@ module Schematic
379
499
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::GetCreditBundleResponse.load(response.body))
380
500
  else
381
501
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
382
- raise error_class.new(response.body, code: code)
502
+ error_types = {
503
+ 401 => Schematic::Types::ApiError,
504
+ 403 => Schematic::Types::ApiError,
505
+ 404 => Schematic::Types::ApiError,
506
+ 500 => Schematic::Types::ApiError
507
+ }
508
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
509
+ raise error_class.new(response.body, code: code, body: error_body)
383
510
  end
384
511
  end
385
512
 
@@ -423,7 +550,15 @@ module Schematic
423
550
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::UpdateCreditBundleDetailsResponse.load(response.body))
424
551
  else
425
552
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
426
- raise error_class.new(response.body, code: code)
553
+ error_types = {
554
+ 400 => Schematic::Types::ApiError,
555
+ 401 => Schematic::Types::ApiError,
556
+ 403 => Schematic::Types::ApiError,
557
+ 404 => Schematic::Types::ApiError,
558
+ 500 => Schematic::Types::ApiError
559
+ }
560
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
561
+ raise error_class.new(response.body, code: code, body: error_body)
427
562
  end
428
563
  end
429
564
 
@@ -458,7 +593,15 @@ module Schematic
458
593
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::DeleteCreditBundleResponse.load(response.body))
459
594
  else
460
595
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
461
- raise error_class.new(response.body, code: code)
596
+ error_types = {
597
+ 400 => Schematic::Types::ApiError,
598
+ 401 => Schematic::Types::ApiError,
599
+ 403 => Schematic::Types::ApiError,
600
+ 404 => Schematic::Types::ApiError,
601
+ 500 => Schematic::Types::ApiError
602
+ }
603
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
604
+ raise error_class.new(response.body, code: code, body: error_body)
462
605
  end
463
606
  end
464
607
 
@@ -514,7 +657,15 @@ module Schematic
514
657
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::CountCreditBundlesResponse.load(response.body))
515
658
  else
516
659
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
517
- raise error_class.new(response.body, code: code)
660
+ error_types = {
661
+ 400 => Schematic::Types::ApiError,
662
+ 401 => Schematic::Types::ApiError,
663
+ 403 => Schematic::Types::ApiError,
664
+ 404 => Schematic::Types::ApiError,
665
+ 500 => Schematic::Types::ApiError
666
+ }
667
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
668
+ raise error_class.new(response.body, code: code, body: error_body)
518
669
  end
519
670
  end
520
671
 
@@ -564,7 +715,15 @@ module Schematic
564
715
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::CountBillingCreditsResponse.load(response.body))
565
716
  else
566
717
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
567
- raise error_class.new(response.body, code: code)
718
+ error_types = {
719
+ 400 => Schematic::Types::ApiError,
720
+ 401 => Schematic::Types::ApiError,
721
+ 403 => Schematic::Types::ApiError,
722
+ 404 => Schematic::Types::ApiError,
723
+ 500 => Schematic::Types::ApiError
724
+ }
725
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
726
+ raise error_class.new(response.body, code: code, body: error_body)
568
727
  end
569
728
  end
570
729
 
@@ -604,7 +763,15 @@ module Schematic
604
763
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::ZeroOutGrantResponse.load(response.body))
605
764
  else
606
765
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
607
- raise error_class.new(response.body, code: code)
766
+ error_types = {
767
+ 400 => Schematic::Types::ApiError,
768
+ 401 => Schematic::Types::ApiError,
769
+ 403 => Schematic::Types::ApiError,
770
+ 404 => Schematic::Types::ApiError,
771
+ 500 => Schematic::Types::ApiError
772
+ }
773
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
774
+ raise error_class.new(response.body, code: code, body: error_body)
608
775
  end
609
776
  end
610
777
 
@@ -644,7 +811,15 @@ module Schematic
644
811
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::GrantBillingCreditsToCompanyResponse.load(response.body))
645
812
  else
646
813
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
647
- raise error_class.new(response.body, code: code)
814
+ error_types = {
815
+ 400 => Schematic::Types::ApiError,
816
+ 401 => Schematic::Types::ApiError,
817
+ 403 => Schematic::Types::ApiError,
818
+ 404 => Schematic::Types::ApiError,
819
+ 500 => Schematic::Types::ApiError
820
+ }
821
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
822
+ raise error_class.new(response.body, code: code, body: error_body)
648
823
  end
649
824
  end
650
825
 
@@ -697,7 +872,15 @@ module Schematic
697
872
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::CountCompanyGrantsResponse.load(response.body))
698
873
  else
699
874
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
700
- raise error_class.new(response.body, code: code)
875
+ error_types = {
876
+ 400 => Schematic::Types::ApiError,
877
+ 401 => Schematic::Types::ApiError,
878
+ 403 => Schematic::Types::ApiError,
879
+ 404 => Schematic::Types::ApiError,
880
+ 500 => Schematic::Types::ApiError
881
+ }
882
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
883
+ raise error_class.new(response.body, code: code, body: error_body)
701
884
  end
702
885
  end
703
886
 
@@ -750,7 +933,15 @@ module Schematic
750
933
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::ListCompanyGrantsResponse.load(response.body))
751
934
  else
752
935
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
753
- raise error_class.new(response.body, code: code)
936
+ error_types = {
937
+ 400 => Schematic::Types::ApiError,
938
+ 401 => Schematic::Types::ApiError,
939
+ 403 => Schematic::Types::ApiError,
940
+ 404 => Schematic::Types::ApiError,
941
+ 500 => Schematic::Types::ApiError
942
+ }
943
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
944
+ raise error_class.new(response.body, code: code, body: error_body)
754
945
  end
755
946
  end
756
947
 
@@ -800,7 +991,15 @@ module Schematic
800
991
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::CountBillingCreditsGrantsResponse.load(response.body))
801
992
  else
802
993
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
803
- raise error_class.new(response.body, code: code)
994
+ error_types = {
995
+ 400 => Schematic::Types::ApiError,
996
+ 401 => Schematic::Types::ApiError,
997
+ 403 => Schematic::Types::ApiError,
998
+ 404 => Schematic::Types::ApiError,
999
+ 500 => Schematic::Types::ApiError
1000
+ }
1001
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1002
+ raise error_class.new(response.body, code: code, body: error_body)
804
1003
  end
805
1004
  end
806
1005
 
@@ -850,7 +1049,15 @@ module Schematic
850
1049
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::ListGrantsForCreditResponse.load(response.body))
851
1050
  else
852
1051
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
853
- raise error_class.new(response.body, code: code)
1052
+ error_types = {
1053
+ 400 => Schematic::Types::ApiError,
1054
+ 401 => Schematic::Types::ApiError,
1055
+ 403 => Schematic::Types::ApiError,
1056
+ 404 => Schematic::Types::ApiError,
1057
+ 500 => Schematic::Types::ApiError
1058
+ }
1059
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1060
+ raise error_class.new(response.body, code: code, body: error_body)
854
1061
  end
855
1062
  end
856
1063
 
@@ -889,7 +1096,16 @@ module Schematic
889
1096
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::AcquireCreditLeaseResponse.load(response.body))
890
1097
  else
891
1098
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
892
- raise error_class.new(response.body, code: code)
1099
+ error_types = {
1100
+ 400 => Schematic::Types::ApiError,
1101
+ 401 => Schematic::Types::ApiError,
1102
+ 402 => Schematic::Types::ApiError,
1103
+ 403 => Schematic::Types::ApiError,
1104
+ 404 => Schematic::Types::ApiError,
1105
+ 500 => Schematic::Types::ApiError
1106
+ }
1107
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1108
+ raise error_class.new(response.body, code: code, body: error_body)
893
1109
  end
894
1110
  end
895
1111
 
@@ -932,7 +1148,16 @@ module Schematic
932
1148
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::ExtendCreditLeaseResponse.load(response.body))
933
1149
  else
934
1150
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
935
- raise error_class.new(response.body, code: code)
1151
+ error_types = {
1152
+ 400 => Schematic::Types::ApiError,
1153
+ 401 => Schematic::Types::ApiError,
1154
+ 402 => Schematic::Types::ApiError,
1155
+ 403 => Schematic::Types::ApiError,
1156
+ 404 => Schematic::Types::ApiError,
1157
+ 500 => Schematic::Types::ApiError
1158
+ }
1159
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1160
+ raise error_class.new(response.body, code: code, body: error_body)
936
1161
  end
937
1162
  end
938
1163
 
@@ -967,7 +1192,15 @@ module Schematic
967
1192
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::ReleaseCreditLeaseResponse.load(response.body))
968
1193
  else
969
1194
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
970
- raise error_class.new(response.body, code: code)
1195
+ error_types = {
1196
+ 400 => Schematic::Types::ApiError,
1197
+ 401 => Schematic::Types::ApiError,
1198
+ 403 => Schematic::Types::ApiError,
1199
+ 404 => Schematic::Types::ApiError,
1200
+ 500 => Schematic::Types::ApiError
1201
+ }
1202
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1203
+ raise error_class.new(response.body, code: code, body: error_body)
971
1204
  end
972
1205
  end
973
1206
 
@@ -1029,7 +1262,15 @@ module Schematic
1029
1262
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::ListBillingPlanCreditGrantsResponse.load(response.body))
1030
1263
  else
1031
1264
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1032
- raise error_class.new(response.body, code: code)
1265
+ error_types = {
1266
+ 400 => Schematic::Types::ApiError,
1267
+ 401 => Schematic::Types::ApiError,
1268
+ 403 => Schematic::Types::ApiError,
1269
+ 404 => Schematic::Types::ApiError,
1270
+ 500 => Schematic::Types::ApiError
1271
+ }
1272
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1273
+ raise error_class.new(response.body, code: code, body: error_body)
1033
1274
  end
1034
1275
  end
1035
1276
 
@@ -1070,7 +1311,15 @@ module Schematic
1070
1311
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::CreateBillingPlanCreditGrantResponse.load(response.body))
1071
1312
  else
1072
1313
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1073
- raise error_class.new(response.body, code: code)
1314
+ error_types = {
1315
+ 400 => Schematic::Types::ApiError,
1316
+ 401 => Schematic::Types::ApiError,
1317
+ 403 => Schematic::Types::ApiError,
1318
+ 404 => Schematic::Types::ApiError,
1319
+ 500 => Schematic::Types::ApiError
1320
+ }
1321
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1322
+ raise error_class.new(response.body, code: code, body: error_body)
1074
1323
  end
1075
1324
  end
1076
1325
 
@@ -1105,7 +1354,14 @@ module Schematic
1105
1354
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::GetSingleBillingPlanCreditGrantResponse.load(response.body))
1106
1355
  else
1107
1356
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1108
- raise error_class.new(response.body, code: code)
1357
+ error_types = {
1358
+ 401 => Schematic::Types::ApiError,
1359
+ 403 => Schematic::Types::ApiError,
1360
+ 404 => Schematic::Types::ApiError,
1361
+ 500 => Schematic::Types::ApiError
1362
+ }
1363
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1364
+ raise error_class.new(response.body, code: code, body: error_body)
1109
1365
  end
1110
1366
  end
1111
1367
 
@@ -1148,7 +1404,15 @@ module Schematic
1148
1404
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::UpdateBillingPlanCreditGrantResponse.load(response.body))
1149
1405
  else
1150
1406
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1151
- raise error_class.new(response.body, code: code)
1407
+ error_types = {
1408
+ 400 => Schematic::Types::ApiError,
1409
+ 401 => Schematic::Types::ApiError,
1410
+ 403 => Schematic::Types::ApiError,
1411
+ 404 => Schematic::Types::ApiError,
1412
+ 500 => Schematic::Types::ApiError
1413
+ }
1414
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1415
+ raise error_class.new(response.body, code: code, body: error_body)
1152
1416
  end
1153
1417
  end
1154
1418
 
@@ -1191,7 +1455,15 @@ module Schematic
1191
1455
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::DeleteBillingPlanCreditGrantResponse.load(response.body))
1192
1456
  else
1193
1457
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1194
- raise error_class.new(response.body, code: code)
1458
+ error_types = {
1459
+ 400 => Schematic::Types::ApiError,
1460
+ 401 => Schematic::Types::ApiError,
1461
+ 403 => Schematic::Types::ApiError,
1462
+ 404 => Schematic::Types::ApiError,
1463
+ 500 => Schematic::Types::ApiError
1464
+ }
1465
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1466
+ raise error_class.new(response.body, code: code, body: error_body)
1195
1467
  end
1196
1468
  end
1197
1469
 
@@ -1253,7 +1525,15 @@ module Schematic
1253
1525
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::CountBillingPlanCreditGrantsResponse.load(response.body))
1254
1526
  else
1255
1527
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1256
- raise error_class.new(response.body, code: code)
1528
+ error_types = {
1529
+ 400 => Schematic::Types::ApiError,
1530
+ 401 => Schematic::Types::ApiError,
1531
+ 403 => Schematic::Types::ApiError,
1532
+ 404 => Schematic::Types::ApiError,
1533
+ 500 => Schematic::Types::ApiError
1534
+ }
1535
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1536
+ raise error_class.new(response.body, code: code, body: error_body)
1257
1537
  end
1258
1538
  end
1259
1539
 
@@ -1292,7 +1572,16 @@ module Schematic
1292
1572
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::ReserveCreditsResponse.load(response.body))
1293
1573
  else
1294
1574
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1295
- raise error_class.new(response.body, code: code)
1575
+ error_types = {
1576
+ 400 => Schematic::Types::ApiError,
1577
+ 401 => Schematic::Types::ApiError,
1578
+ 402 => Schematic::Types::ApiError,
1579
+ 403 => Schematic::Types::ApiError,
1580
+ 404 => Schematic::Types::ApiError,
1581
+ 500 => Schematic::Types::ApiError
1582
+ }
1583
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1584
+ raise error_class.new(response.body, code: code, body: error_body)
1296
1585
  end
1297
1586
  end
1298
1587
 
@@ -1327,7 +1616,15 @@ module Schematic
1327
1616
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::ReleaseCreditReservationResponse.load(response.body))
1328
1617
  else
1329
1618
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1330
- raise error_class.new(response.body, code: code)
1619
+ error_types = {
1620
+ 400 => Schematic::Types::ApiError,
1621
+ 401 => Schematic::Types::ApiError,
1622
+ 403 => Schematic::Types::ApiError,
1623
+ 404 => Schematic::Types::ApiError,
1624
+ 500 => Schematic::Types::ApiError
1625
+ }
1626
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1627
+ raise error_class.new(response.body, code: code, body: error_body)
1331
1628
  end
1332
1629
  end
1333
1630
 
@@ -1386,7 +1683,15 @@ module Schematic
1386
1683
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::ListCreditSpendPoliciesResponse.load(response.body))
1387
1684
  else
1388
1685
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1389
- raise error_class.new(response.body, code: code)
1686
+ error_types = {
1687
+ 400 => Schematic::Types::ApiError,
1688
+ 401 => Schematic::Types::ApiError,
1689
+ 403 => Schematic::Types::ApiError,
1690
+ 404 => Schematic::Types::ApiError,
1691
+ 500 => Schematic::Types::ApiError
1692
+ }
1693
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1694
+ raise error_class.new(response.body, code: code, body: error_body)
1390
1695
  end
1391
1696
  end
1392
1697
 
@@ -1399,10 +1704,7 @@ module Schematic
1399
1704
  # @option request_options [Integer] :timeout_in_seconds
1400
1705
  #
1401
1706
  # @example
1402
- # client.credits.create_credit_spend_policy(
1403
- # billing_credit_id: "billing_credit_id",
1404
- # max_per_draw: 1.1
1405
- # )
1707
+ # client.credits.create_credit_spend_policy(billing_credit_id: "billing_credit_id")
1406
1708
  #
1407
1709
  # @return [Schematic::Credits::Types::CreateCreditSpendPolicyResponse]
1408
1710
  def create_credit_spend_policy(request_options: {}, **params)
@@ -1424,7 +1726,15 @@ module Schematic
1424
1726
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::CreateCreditSpendPolicyResponse.load(response.body))
1425
1727
  else
1426
1728
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1427
- raise error_class.new(response.body, code: code)
1729
+ error_types = {
1730
+ 400 => Schematic::Types::ApiError,
1731
+ 401 => Schematic::Types::ApiError,
1732
+ 403 => Schematic::Types::ApiError,
1733
+ 404 => Schematic::Types::ApiError,
1734
+ 500 => Schematic::Types::ApiError
1735
+ }
1736
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1737
+ raise error_class.new(response.body, code: code, body: error_body)
1428
1738
  end
1429
1739
  end
1430
1740
 
@@ -1459,7 +1769,14 @@ module Schematic
1459
1769
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::GetCreditSpendPolicyResponse.load(response.body))
1460
1770
  else
1461
1771
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1462
- raise error_class.new(response.body, code: code)
1772
+ error_types = {
1773
+ 401 => Schematic::Types::ApiError,
1774
+ 403 => Schematic::Types::ApiError,
1775
+ 404 => Schematic::Types::ApiError,
1776
+ 500 => Schematic::Types::ApiError
1777
+ }
1778
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1779
+ raise error_class.new(response.body, code: code, body: error_body)
1463
1780
  end
1464
1781
  end
1465
1782
 
@@ -1499,7 +1816,15 @@ module Schematic
1499
1816
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::UpdateCreditSpendPolicyResponse.load(response.body))
1500
1817
  else
1501
1818
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1502
- raise error_class.new(response.body, code: code)
1819
+ error_types = {
1820
+ 400 => Schematic::Types::ApiError,
1821
+ 401 => Schematic::Types::ApiError,
1822
+ 403 => Schematic::Types::ApiError,
1823
+ 404 => Schematic::Types::ApiError,
1824
+ 500 => Schematic::Types::ApiError
1825
+ }
1826
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1827
+ raise error_class.new(response.body, code: code, body: error_body)
1503
1828
  end
1504
1829
  end
1505
1830
 
@@ -1534,7 +1859,15 @@ module Schematic
1534
1859
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::DeleteCreditSpendPolicyResponse.load(response.body))
1535
1860
  else
1536
1861
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1537
- raise error_class.new(response.body, code: code)
1862
+ error_types = {
1863
+ 400 => Schematic::Types::ApiError,
1864
+ 401 => Schematic::Types::ApiError,
1865
+ 403 => Schematic::Types::ApiError,
1866
+ 404 => Schematic::Types::ApiError,
1867
+ 500 => Schematic::Types::ApiError
1868
+ }
1869
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1870
+ raise error_class.new(response.body, code: code, body: error_body)
1538
1871
  end
1539
1872
  end
1540
1873
 
@@ -1593,7 +1926,70 @@ module Schematic
1593
1926
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::CountCreditSpendPoliciesResponse.load(response.body))
1594
1927
  else
1595
1928
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1596
- raise error_class.new(response.body, code: code)
1929
+ error_types = {
1930
+ 400 => Schematic::Types::ApiError,
1931
+ 401 => Schematic::Types::ApiError,
1932
+ 403 => Schematic::Types::ApiError,
1933
+ 404 => Schematic::Types::ApiError,
1934
+ 500 => Schematic::Types::ApiError
1935
+ }
1936
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1937
+ raise error_class.new(response.body, code: code, body: error_body)
1938
+ end
1939
+ end
1940
+
1941
+ # @param request_options [Hash]
1942
+ # @param params [Hash]
1943
+ # @option request_options [String] :base_url
1944
+ # @option request_options [Hash{String => Object}] :additional_headers
1945
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1946
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1947
+ # @option request_options [Integer] :timeout_in_seconds
1948
+ # @option params [String, nil] :billing_credit_id
1949
+ # @option params [String] :company_id
1950
+ # @option params [String, nil] :user_ids
1951
+ #
1952
+ # @example
1953
+ # client.credits.get_credit_spend_policy_usage(
1954
+ # billing_credit_id: "billing_credit_id",
1955
+ # company_id: "company_id",
1956
+ # user_ids: ["user_ids"]
1957
+ # )
1958
+ #
1959
+ # @return [Schematic::Credits::Types::GetCreditSpendPolicyUsageResponse]
1960
+ def get_credit_spend_policy_usage(request_options: {}, **params)
1961
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
1962
+ query_params = {}
1963
+ query_params["billing_credit_id"] = params[:billing_credit_id] if params.key?(:billing_credit_id)
1964
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
1965
+ query_params["user_ids"] = params[:user_ids] if params.key?(:user_ids)
1966
+
1967
+ request = Schematic::Internal::JSON::Request.new(
1968
+ base_url: request_options[:base_url],
1969
+ method: "GET",
1970
+ path: "billing/credits/spend-policies/usage",
1971
+ query: query_params,
1972
+ request_options: request_options
1973
+ )
1974
+ begin
1975
+ response = @client.send(request)
1976
+ rescue Net::HTTPRequestTimeout
1977
+ raise Schematic::Errors::TimeoutError
1978
+ end
1979
+ code = response.code.to_i
1980
+ if code.between?(200, 299)
1981
+ (response.body.to_s.empty? ? nil : Schematic::Credits::Types::GetCreditSpendPolicyUsageResponse.load(response.body))
1982
+ else
1983
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1984
+ error_types = {
1985
+ 400 => Schematic::Types::ApiError,
1986
+ 401 => Schematic::Types::ApiError,
1987
+ 403 => Schematic::Types::ApiError,
1988
+ 404 => Schematic::Types::ApiError,
1989
+ 500 => Schematic::Types::ApiError
1990
+ }
1991
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1992
+ raise error_class.new(response.body, code: code, body: error_body)
1597
1993
  end
1598
1994
  end
1599
1995
 
@@ -1618,7 +2014,7 @@ module Schematic
1618
2014
  # billing_credit_id: "billing_credit_id",
1619
2015
  # company_id: "company_id",
1620
2016
  # end_time: "end_time",
1621
- # event_type: "grant",
2017
+ # event_type: "adjustment",
1622
2018
  # feature_id: "feature_id",
1623
2019
  # start_time: "start_time",
1624
2020
  # limit: 1000000,
@@ -1655,7 +2051,15 @@ module Schematic
1655
2051
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::ListCreditEventLedgerResponse.load(response.body))
1656
2052
  else
1657
2053
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1658
- raise error_class.new(response.body, code: code)
2054
+ error_types = {
2055
+ 400 => Schematic::Types::ApiError,
2056
+ 401 => Schematic::Types::ApiError,
2057
+ 403 => Schematic::Types::ApiError,
2058
+ 404 => Schematic::Types::ApiError,
2059
+ 500 => Schematic::Types::ApiError
2060
+ }
2061
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
2062
+ raise error_class.new(response.body, code: code, body: error_body)
1659
2063
  end
1660
2064
  end
1661
2065
 
@@ -1680,7 +2084,7 @@ module Schematic
1680
2084
  # billing_credit_id: "billing_credit_id",
1681
2085
  # company_id: "company_id",
1682
2086
  # end_time: "end_time",
1683
- # event_type: "grant",
2087
+ # event_type: "adjustment",
1684
2088
  # feature_id: "feature_id",
1685
2089
  # start_time: "start_time",
1686
2090
  # limit: 1000000,
@@ -1717,7 +2121,15 @@ module Schematic
1717
2121
  (response.body.to_s.empty? ? nil : Schematic::Credits::Types::CountCreditEventLedgerResponse.load(response.body))
1718
2122
  else
1719
2123
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1720
- raise error_class.new(response.body, code: code)
2124
+ error_types = {
2125
+ 400 => Schematic::Types::ApiError,
2126
+ 401 => Schematic::Types::ApiError,
2127
+ 403 => Schematic::Types::ApiError,
2128
+ 404 => Schematic::Types::ApiError,
2129
+ 500 => Schematic::Types::ApiError
2130
+ }
2131
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
2132
+ raise error_class.new(response.body, code: code, body: error_body)
1721
2133
  end
1722
2134
  end
1723
2135
  end