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
@@ -71,7 +71,15 @@ module Schematic
71
71
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::ListCompanyOverridesResponse.load(response.body))
72
72
  else
73
73
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
74
- raise error_class.new(response.body, code: code)
74
+ error_types = {
75
+ 400 => Schematic::Types::ApiError,
76
+ 401 => Schematic::Types::ApiError,
77
+ 403 => Schematic::Types::ApiError,
78
+ 404 => Schematic::Types::ApiError,
79
+ 500 => Schematic::Types::ApiError
80
+ }
81
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
82
+ raise error_class.new(response.body, code: code, body: error_body)
75
83
  end
76
84
  end
77
85
 
@@ -110,7 +118,15 @@ module Schematic
110
118
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::CreateCompanyOverrideResponse.load(response.body))
111
119
  else
112
120
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
113
- raise error_class.new(response.body, code: code)
121
+ error_types = {
122
+ 400 => Schematic::Types::ApiError,
123
+ 401 => Schematic::Types::ApiError,
124
+ 403 => Schematic::Types::ApiError,
125
+ 404 => Schematic::Types::ApiError,
126
+ 500 => Schematic::Types::ApiError
127
+ }
128
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
129
+ raise error_class.new(response.body, code: code, body: error_body)
114
130
  end
115
131
  end
116
132
 
@@ -145,7 +161,14 @@ module Schematic
145
161
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::GetCompanyOverrideResponse.load(response.body))
146
162
  else
147
163
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
148
- raise error_class.new(response.body, code: code)
164
+ error_types = {
165
+ 401 => Schematic::Types::ApiError,
166
+ 403 => Schematic::Types::ApiError,
167
+ 404 => Schematic::Types::ApiError,
168
+ 500 => Schematic::Types::ApiError
169
+ }
170
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
171
+ raise error_class.new(response.body, code: code, body: error_body)
149
172
  end
150
173
  end
151
174
 
@@ -188,7 +211,15 @@ module Schematic
188
211
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::UpdateCompanyOverrideResponse.load(response.body))
189
212
  else
190
213
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
191
- raise error_class.new(response.body, code: code)
214
+ error_types = {
215
+ 400 => Schematic::Types::ApiError,
216
+ 401 => Schematic::Types::ApiError,
217
+ 403 => Schematic::Types::ApiError,
218
+ 404 => Schematic::Types::ApiError,
219
+ 500 => Schematic::Types::ApiError
220
+ }
221
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
222
+ raise error_class.new(response.body, code: code, body: error_body)
192
223
  end
193
224
  end
194
225
 
@@ -223,7 +254,15 @@ module Schematic
223
254
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::DeleteCompanyOverrideResponse.load(response.body))
224
255
  else
225
256
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
226
- raise error_class.new(response.body, code: code)
257
+ error_types = {
258
+ 400 => Schematic::Types::ApiError,
259
+ 401 => Schematic::Types::ApiError,
260
+ 403 => Schematic::Types::ApiError,
261
+ 404 => Schematic::Types::ApiError,
262
+ 500 => Schematic::Types::ApiError
263
+ }
264
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
265
+ raise error_class.new(response.body, code: code, body: error_body)
227
266
  end
228
267
  end
229
268
 
@@ -288,7 +327,15 @@ module Schematic
288
327
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::CountCompanyOverridesResponse.load(response.body))
289
328
  else
290
329
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
291
- raise error_class.new(response.body, code: code)
330
+ error_types = {
331
+ 400 => Schematic::Types::ApiError,
332
+ 401 => Schematic::Types::ApiError,
333
+ 403 => Schematic::Types::ApiError,
334
+ 404 => Schematic::Types::ApiError,
335
+ 500 => Schematic::Types::ApiError
336
+ }
337
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
338
+ raise error_class.new(response.body, code: code, body: error_body)
292
339
  end
293
340
  end
294
341
 
@@ -338,7 +385,15 @@ module Schematic
338
385
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::ListFeatureCompaniesResponse.load(response.body))
339
386
  else
340
387
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
341
- raise error_class.new(response.body, code: code)
388
+ error_types = {
389
+ 400 => Schematic::Types::ApiError,
390
+ 401 => Schematic::Types::ApiError,
391
+ 403 => Schematic::Types::ApiError,
392
+ 404 => Schematic::Types::ApiError,
393
+ 500 => Schematic::Types::ApiError
394
+ }
395
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
396
+ raise error_class.new(response.body, code: code, body: error_body)
342
397
  end
343
398
  end
344
399
 
@@ -388,7 +443,15 @@ module Schematic
388
443
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::CountFeatureCompaniesResponse.load(response.body))
389
444
  else
390
445
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
391
- raise error_class.new(response.body, code: code)
446
+ error_types = {
447
+ 400 => Schematic::Types::ApiError,
448
+ 401 => Schematic::Types::ApiError,
449
+ 403 => Schematic::Types::ApiError,
450
+ 404 => Schematic::Types::ApiError,
451
+ 500 => Schematic::Types::ApiError
452
+ }
453
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
454
+ raise error_class.new(response.body, code: code, body: error_body)
392
455
  end
393
456
  end
394
457
 
@@ -452,7 +515,15 @@ module Schematic
452
515
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::ListFeatureUsageResponse.load(response.body))
453
516
  else
454
517
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
455
- raise error_class.new(response.body, code: code)
518
+ error_types = {
519
+ 400 => Schematic::Types::ApiError,
520
+ 401 => Schematic::Types::ApiError,
521
+ 403 => Schematic::Types::ApiError,
522
+ 404 => Schematic::Types::ApiError,
523
+ 500 => Schematic::Types::ApiError
524
+ }
525
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
526
+ raise error_class.new(response.body, code: code, body: error_body)
456
527
  end
457
528
  end
458
529
 
@@ -511,7 +582,15 @@ module Schematic
511
582
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::ListFeatureUsageHistoryResponse.load(response.body))
512
583
  else
513
584
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
514
- raise error_class.new(response.body, code: code)
585
+ error_types = {
586
+ 400 => Schematic::Types::ApiError,
587
+ 401 => Schematic::Types::ApiError,
588
+ 403 => Schematic::Types::ApiError,
589
+ 404 => Schematic::Types::ApiError,
590
+ 500 => Schematic::Types::ApiError
591
+ }
592
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
593
+ raise error_class.new(response.body, code: code, body: error_body)
515
594
  end
516
595
  end
517
596
 
@@ -564,7 +643,14 @@ module Schematic
564
643
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::GetFeatureUsageTimeSeriesResponse.load(response.body))
565
644
  else
566
645
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
567
- raise error_class.new(response.body, code: code)
646
+ error_types = {
647
+ 401 => Schematic::Types::ApiError,
648
+ 403 => Schematic::Types::ApiError,
649
+ 404 => Schematic::Types::ApiError,
650
+ 500 => Schematic::Types::ApiError
651
+ }
652
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
653
+ raise error_class.new(response.body, code: code, body: error_body)
568
654
  end
569
655
  end
570
656
 
@@ -628,7 +714,15 @@ module Schematic
628
714
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::CountFeatureUsageResponse.load(response.body))
629
715
  else
630
716
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
631
- raise error_class.new(response.body, code: code)
717
+ error_types = {
718
+ 400 => Schematic::Types::ApiError,
719
+ 401 => Schematic::Types::ApiError,
720
+ 403 => Schematic::Types::ApiError,
721
+ 404 => Schematic::Types::ApiError,
722
+ 500 => Schematic::Types::ApiError
723
+ }
724
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
725
+ raise error_class.new(response.body, code: code, body: error_body)
632
726
  end
633
727
  end
634
728
 
@@ -678,7 +772,15 @@ module Schematic
678
772
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::ListFeatureUsersResponse.load(response.body))
679
773
  else
680
774
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
681
- raise error_class.new(response.body, code: code)
775
+ error_types = {
776
+ 400 => Schematic::Types::ApiError,
777
+ 401 => Schematic::Types::ApiError,
778
+ 403 => Schematic::Types::ApiError,
779
+ 404 => Schematic::Types::ApiError,
780
+ 500 => Schematic::Types::ApiError
781
+ }
782
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
783
+ raise error_class.new(response.body, code: code, body: error_body)
682
784
  end
683
785
  end
684
786
 
@@ -728,7 +830,15 @@ module Schematic
728
830
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::CountFeatureUsersResponse.load(response.body))
729
831
  else
730
832
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
731
- raise error_class.new(response.body, code: code)
833
+ error_types = {
834
+ 400 => Schematic::Types::ApiError,
835
+ 401 => Schematic::Types::ApiError,
836
+ 403 => Schematic::Types::ApiError,
837
+ 404 => Schematic::Types::ApiError,
838
+ 500 => Schematic::Types::ApiError
839
+ }
840
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
841
+ raise error_class.new(response.body, code: code, body: error_body)
732
842
  end
733
843
  end
734
844
 
@@ -799,7 +909,15 @@ module Schematic
799
909
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::ListPlanEntitlementsResponse.load(response.body))
800
910
  else
801
911
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
802
- raise error_class.new(response.body, code: code)
912
+ error_types = {
913
+ 400 => Schematic::Types::ApiError,
914
+ 401 => Schematic::Types::ApiError,
915
+ 403 => Schematic::Types::ApiError,
916
+ 404 => Schematic::Types::ApiError,
917
+ 500 => Schematic::Types::ApiError
918
+ }
919
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
920
+ raise error_class.new(response.body, code: code, body: error_body)
803
921
  end
804
922
  end
805
923
 
@@ -838,7 +956,15 @@ module Schematic
838
956
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::CreatePlanEntitlementResponse.load(response.body))
839
957
  else
840
958
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
841
- raise error_class.new(response.body, code: code)
959
+ error_types = {
960
+ 400 => Schematic::Types::ApiError,
961
+ 401 => Schematic::Types::ApiError,
962
+ 403 => Schematic::Types::ApiError,
963
+ 404 => Schematic::Types::ApiError,
964
+ 500 => Schematic::Types::ApiError
965
+ }
966
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
967
+ raise error_class.new(response.body, code: code, body: error_body)
842
968
  end
843
969
  end
844
970
 
@@ -873,7 +999,14 @@ module Schematic
873
999
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::GetPlanEntitlementResponse.load(response.body))
874
1000
  else
875
1001
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
876
- raise error_class.new(response.body, code: code)
1002
+ error_types = {
1003
+ 401 => Schematic::Types::ApiError,
1004
+ 403 => Schematic::Types::ApiError,
1005
+ 404 => Schematic::Types::ApiError,
1006
+ 500 => Schematic::Types::ApiError
1007
+ }
1008
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1009
+ raise error_class.new(response.body, code: code, body: error_body)
877
1010
  end
878
1011
  end
879
1012
 
@@ -916,7 +1049,15 @@ module Schematic
916
1049
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::UpdatePlanEntitlementResponse.load(response.body))
917
1050
  else
918
1051
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
919
- 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)
920
1061
  end
921
1062
  end
922
1063
 
@@ -951,7 +1092,15 @@ module Schematic
951
1092
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::DeletePlanEntitlementResponse.load(response.body))
952
1093
  else
953
1094
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
954
- raise error_class.new(response.body, code: code)
1095
+ error_types = {
1096
+ 400 => Schematic::Types::ApiError,
1097
+ 401 => Schematic::Types::ApiError,
1098
+ 403 => Schematic::Types::ApiError,
1099
+ 404 => Schematic::Types::ApiError,
1100
+ 500 => Schematic::Types::ApiError
1101
+ }
1102
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1103
+ raise error_class.new(response.body, code: code, body: error_body)
955
1104
  end
956
1105
  end
957
1106
 
@@ -992,7 +1141,15 @@ module Schematic
992
1141
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::UpsertPlanEntitlementForBillingProductResponse.load(response.body))
993
1142
  else
994
1143
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
995
- raise error_class.new(response.body, code: code)
1144
+ error_types = {
1145
+ 400 => Schematic::Types::ApiError,
1146
+ 401 => Schematic::Types::ApiError,
1147
+ 403 => Schematic::Types::ApiError,
1148
+ 404 => Schematic::Types::ApiError,
1149
+ 500 => Schematic::Types::ApiError
1150
+ }
1151
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1152
+ raise error_class.new(response.body, code: code, body: error_body)
996
1153
  end
997
1154
  end
998
1155
 
@@ -1063,7 +1220,15 @@ module Schematic
1063
1220
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::CountPlanEntitlementsResponse.load(response.body))
1064
1221
  else
1065
1222
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1066
- raise error_class.new(response.body, code: code)
1223
+ error_types = {
1224
+ 400 => Schematic::Types::ApiError,
1225
+ 401 => Schematic::Types::ApiError,
1226
+ 403 => Schematic::Types::ApiError,
1227
+ 404 => Schematic::Types::ApiError,
1228
+ 500 => Schematic::Types::ApiError
1229
+ }
1230
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1231
+ raise error_class.new(response.body, code: code, body: error_body)
1067
1232
  end
1068
1233
  end
1069
1234
 
@@ -1101,7 +1266,15 @@ module Schematic
1101
1266
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::DuplicatePlanEntitlementsResponse.load(response.body))
1102
1267
  else
1103
1268
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1104
- raise error_class.new(response.body, code: code)
1269
+ error_types = {
1270
+ 400 => Schematic::Types::ApiError,
1271
+ 401 => Schematic::Types::ApiError,
1272
+ 403 => Schematic::Types::ApiError,
1273
+ 404 => Schematic::Types::ApiError,
1274
+ 500 => Schematic::Types::ApiError
1275
+ }
1276
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1277
+ raise error_class.new(response.body, code: code, body: error_body)
1105
1278
  end
1106
1279
  end
1107
1280
 
@@ -1142,7 +1315,14 @@ module Schematic
1142
1315
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::GetFeatureUsageByCompanyResponse.load(response.body))
1143
1316
  else
1144
1317
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1145
- raise error_class.new(response.body, code: code)
1318
+ error_types = {
1319
+ 401 => Schematic::Types::ApiError,
1320
+ 403 => Schematic::Types::ApiError,
1321
+ 404 => Schematic::Types::ApiError,
1322
+ 500 => Schematic::Types::ApiError
1323
+ }
1324
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1325
+ raise error_class.new(response.body, code: code, body: error_body)
1146
1326
  end
1147
1327
  end
1148
1328
 
@@ -1192,7 +1372,201 @@ module Schematic
1192
1372
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::GetUserUsageByCompanyResponse.load(response.body))
1193
1373
  else
1194
1374
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1195
- raise error_class.new(response.body, code: code)
1375
+ error_types = {
1376
+ 401 => Schematic::Types::ApiError,
1377
+ 403 => Schematic::Types::ApiError,
1378
+ 404 => Schematic::Types::ApiError,
1379
+ 500 => Schematic::Types::ApiError
1380
+ }
1381
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1382
+ raise error_class.new(response.body, code: code, body: error_body)
1383
+ end
1384
+ end
1385
+
1386
+ # @param request_options [Hash]
1387
+ # @param params [Hash]
1388
+ # @option request_options [String] :base_url
1389
+ # @option request_options [Hash{String => Object}] :additional_headers
1390
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1391
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1392
+ # @option request_options [Integer] :timeout_in_seconds
1393
+ # @option params [String] :company_id
1394
+ # @option params [String, nil] :end_time
1395
+ # @option params [String, nil] :start_time
1396
+ #
1397
+ # @example
1398
+ # client.entitlements.get_company_user_usage_metrics(
1399
+ # company_id: "company_id",
1400
+ # end_time: "2024-01-15T09:30:00Z",
1401
+ # start_time: "2024-01-15T09:30:00Z"
1402
+ # )
1403
+ #
1404
+ # @return [Schematic::Entitlements::Types::GetCompanyUserUsageMetricsResponse]
1405
+ def get_company_user_usage_metrics(request_options: {}, **params)
1406
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
1407
+ query_params = {}
1408
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
1409
+ query_params["end_time"] = params[:end_time] if params.key?(:end_time)
1410
+ query_params["start_time"] = params[:start_time] if params.key?(:start_time)
1411
+
1412
+ request = Schematic::Internal::JSON::Request.new(
1413
+ base_url: request_options[:base_url],
1414
+ method: "GET",
1415
+ path: "user-usage-by-company/metrics",
1416
+ query: query_params,
1417
+ request_options: request_options
1418
+ )
1419
+ begin
1420
+ response = @client.send(request)
1421
+ rescue Net::HTTPRequestTimeout
1422
+ raise Schematic::Errors::TimeoutError
1423
+ end
1424
+ code = response.code.to_i
1425
+ if code.between?(200, 299)
1426
+ (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::GetCompanyUserUsageMetricsResponse.load(response.body))
1427
+ else
1428
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1429
+ error_types = {
1430
+ 401 => Schematic::Types::ApiError,
1431
+ 403 => Schematic::Types::ApiError,
1432
+ 404 => Schematic::Types::ApiError,
1433
+ 500 => Schematic::Types::ApiError
1434
+ }
1435
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1436
+ raise error_class.new(response.body, code: code, body: error_body)
1437
+ end
1438
+ end
1439
+
1440
+ # @param request_options [Hash]
1441
+ # @param params [Hash]
1442
+ # @option request_options [String] :base_url
1443
+ # @option request_options [Hash{String => Object}] :additional_headers
1444
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1445
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1446
+ # @option request_options [Integer] :timeout_in_seconds
1447
+ # @option params [String] :company_id
1448
+ # @option params [String, nil] :end_time
1449
+ # @option params [String, nil] :feature_id
1450
+ # @option params [Schematic::Types::UserUsageMetric] :metric
1451
+ # @option params [Integer, nil] :limit
1452
+ # @option params [Integer, nil] :offset
1453
+ # @option params [String, nil] :start_time
1454
+ #
1455
+ # @example
1456
+ # client.entitlements.list_company_user_usage(
1457
+ # company_id: "company_id",
1458
+ # end_time: "2024-01-15T09:30:00Z",
1459
+ # feature_id: "feature_id",
1460
+ # metric: "credits",
1461
+ # limit: 1000000,
1462
+ # offset: 1000000,
1463
+ # start_time: "2024-01-15T09:30:00Z"
1464
+ # )
1465
+ #
1466
+ # @return [Schematic::Entitlements::Types::ListCompanyUserUsageResponse]
1467
+ def list_company_user_usage(request_options: {}, **params)
1468
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
1469
+ query_params = {}
1470
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
1471
+ query_params["end_time"] = params[:end_time] if params.key?(:end_time)
1472
+ query_params["feature_id"] = params[:feature_id] if params.key?(:feature_id)
1473
+ query_params["metric"] = params[:metric] if params.key?(:metric)
1474
+ query_params["limit"] = params[:limit] if params.key?(:limit)
1475
+ query_params["offset"] = params[:offset] if params.key?(:offset)
1476
+ query_params["start_time"] = params[:start_time] if params.key?(:start_time)
1477
+
1478
+ request = Schematic::Internal::JSON::Request.new(
1479
+ base_url: request_options[:base_url],
1480
+ method: "GET",
1481
+ path: "user-usage-by-company/users",
1482
+ query: query_params,
1483
+ request_options: request_options
1484
+ )
1485
+ begin
1486
+ response = @client.send(request)
1487
+ rescue Net::HTTPRequestTimeout
1488
+ raise Schematic::Errors::TimeoutError
1489
+ end
1490
+ code = response.code.to_i
1491
+ if code.between?(200, 299)
1492
+ (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::ListCompanyUserUsageResponse.load(response.body))
1493
+ else
1494
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1495
+ error_types = {
1496
+ 401 => Schematic::Types::ApiError,
1497
+ 403 => Schematic::Types::ApiError,
1498
+ 404 => Schematic::Types::ApiError,
1499
+ 500 => Schematic::Types::ApiError
1500
+ }
1501
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1502
+ raise error_class.new(response.body, code: code, body: error_body)
1503
+ end
1504
+ end
1505
+
1506
+ # @param request_options [Hash]
1507
+ # @param params [Hash]
1508
+ # @option request_options [String] :base_url
1509
+ # @option request_options [Hash{String => Object}] :additional_headers
1510
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1511
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1512
+ # @option request_options [Integer] :timeout_in_seconds
1513
+ # @option params [String] :company_id
1514
+ # @option params [String, nil] :end_time
1515
+ # @option params [String, nil] :feature_id
1516
+ # @option params [Schematic::Types::UserUsageMetric] :metric
1517
+ # @option params [Integer, nil] :limit
1518
+ # @option params [Integer, nil] :offset
1519
+ # @option params [String, nil] :start_time
1520
+ #
1521
+ # @example
1522
+ # client.entitlements.count_company_user_usage(
1523
+ # company_id: "company_id",
1524
+ # end_time: "2024-01-15T09:30:00Z",
1525
+ # feature_id: "feature_id",
1526
+ # metric: "credits",
1527
+ # limit: 1000000,
1528
+ # offset: 1000000,
1529
+ # start_time: "2024-01-15T09:30:00Z"
1530
+ # )
1531
+ #
1532
+ # @return [Schematic::Entitlements::Types::CountCompanyUserUsageResponse]
1533
+ def count_company_user_usage(request_options: {}, **params)
1534
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
1535
+ query_params = {}
1536
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
1537
+ query_params["end_time"] = params[:end_time] if params.key?(:end_time)
1538
+ query_params["feature_id"] = params[:feature_id] if params.key?(:feature_id)
1539
+ query_params["metric"] = params[:metric] if params.key?(:metric)
1540
+ query_params["limit"] = params[:limit] if params.key?(:limit)
1541
+ query_params["offset"] = params[:offset] if params.key?(:offset)
1542
+ query_params["start_time"] = params[:start_time] if params.key?(:start_time)
1543
+
1544
+ request = Schematic::Internal::JSON::Request.new(
1545
+ base_url: request_options[:base_url],
1546
+ method: "GET",
1547
+ path: "user-usage-by-company/users/count",
1548
+ query: query_params,
1549
+ request_options: request_options
1550
+ )
1551
+ begin
1552
+ response = @client.send(request)
1553
+ rescue Net::HTTPRequestTimeout
1554
+ raise Schematic::Errors::TimeoutError
1555
+ end
1556
+ code = response.code.to_i
1557
+ if code.between?(200, 299)
1558
+ (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::CountCompanyUserUsageResponse.load(response.body))
1559
+ else
1560
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1561
+ error_types = {
1562
+ 400 => Schematic::Types::ApiError,
1563
+ 401 => Schematic::Types::ApiError,
1564
+ 403 => Schematic::Types::ApiError,
1565
+ 404 => Schematic::Types::ApiError,
1566
+ 500 => Schematic::Types::ApiError
1567
+ }
1568
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1569
+ raise error_class.new(response.body, code: code, body: error_body)
1196
1570
  end
1197
1571
  end
1198
1572
 
@@ -1242,7 +1616,14 @@ module Schematic
1242
1616
  (response.body.to_s.empty? ? nil : Schematic::Entitlements::Types::GetUserUsageDetailResponse.load(response.body))
1243
1617
  else
1244
1618
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1245
- raise error_class.new(response.body, code: code)
1619
+ error_types = {
1620
+ 401 => Schematic::Types::ApiError,
1621
+ 403 => Schematic::Types::ApiError,
1622
+ 404 => Schematic::Types::ApiError,
1623
+ 500 => Schematic::Types::ApiError
1624
+ }
1625
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
1626
+ raise error_class.new(response.body, code: code, body: error_body)
1246
1627
  end
1247
1628
  end
1248
1629
  end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Entitlements
5
+ module Types
6
+ # Input parameters
7
+ class CountCompanyUserUsageParams < Internal::Types::Model
8
+ field :company_id, -> { String }, optional: true, nullable: false
9
+
10
+ field :end_time, -> { String }, optional: true, nullable: false
11
+
12
+ field :feature_id, -> { String }, optional: true, nullable: false
13
+
14
+ field :limit, -> { Integer }, optional: true, nullable: false
15
+
16
+ field :metric, -> { Schematic::Types::UserUsageMetric }, optional: true, nullable: false
17
+
18
+ field :offset, -> { Integer }, optional: true, nullable: false
19
+
20
+ field :start_time, -> { String }, optional: true, nullable: false
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Entitlements
5
+ module Types
6
+ class CountCompanyUserUsageRequest < Internal::Types::Model
7
+ field :company_id, -> { String }, optional: false, nullable: false
8
+
9
+ field :end_time, -> { String }, optional: true, nullable: false
10
+
11
+ field :feature_id, -> { String }, optional: true, nullable: false
12
+
13
+ field :metric, -> { Schematic::Types::UserUsageMetric }, optional: false, nullable: false
14
+
15
+ field :limit, -> { Integer }, optional: true, nullable: false
16
+
17
+ field :offset, -> { Integer }, optional: true, nullable: false
18
+
19
+ field :start_time, -> { String }, optional: true, nullable: false
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Entitlements
5
+ module Types
6
+ class CountCompanyUserUsageResponse < Internal::Types::Model
7
+ field :data, -> { Schematic::Types::CountResponse }, optional: false, nullable: false
8
+
9
+ field :params, -> { Schematic::Entitlements::Types::CountCompanyUserUsageParams }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end