schematichq 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (848) hide show
  1. checksums.yaml +7 -0
  2. data/.claude/settings.json +16 -0
  3. data/.claude/skills/pr-review/SKILL.md +129 -0
  4. data/.fern/metadata.json +18 -0
  5. data/.fernignore +21 -0
  6. data/.rubocop.yml +69 -0
  7. data/CLAUDE.md +45 -0
  8. data/LICENSE +21 -0
  9. data/README.md +639 -0
  10. data/Rakefile +20 -0
  11. data/WASM_VERSION +1 -0
  12. data/custom.gemspec.rb +10 -0
  13. data/lib/schematic/accesstokens/client.rb +46 -0
  14. data/lib/schematic/accesstokens/types/issue_temporary_access_token_request_body.rb +12 -0
  15. data/lib/schematic/accesstokens/types/issue_temporary_access_token_response.rb +12 -0
  16. data/lib/schematic/accounts/client.rb +604 -0
  17. data/lib/schematic/accounts/types/count_api_keys_params.rb +15 -0
  18. data/lib/schematic/accounts/types/count_api_keys_request.rb +14 -0
  19. data/lib/schematic/accounts/types/count_api_keys_response.rb +12 -0
  20. data/lib/schematic/accounts/types/count_audit_logs_params.rb +18 -0
  21. data/lib/schematic/accounts/types/count_audit_logs_request.rb +17 -0
  22. data/lib/schematic/accounts/types/count_audit_logs_response.rb +12 -0
  23. data/lib/schematic/accounts/types/create_api_key_request_body.rb +14 -0
  24. data/lib/schematic/accounts/types/create_api_key_response.rb +12 -0
  25. data/lib/schematic/accounts/types/create_environment_request_body.rb +12 -0
  26. data/lib/schematic/accounts/types/create_environment_response.rb +12 -0
  27. data/lib/schematic/accounts/types/delete_api_key_response.rb +12 -0
  28. data/lib/schematic/accounts/types/delete_environment_response.rb +12 -0
  29. data/lib/schematic/accounts/types/get_api_key_response.rb +12 -0
  30. data/lib/schematic/accounts/types/get_audit_log_response.rb +12 -0
  31. data/lib/schematic/accounts/types/get_environment_response.rb +12 -0
  32. data/lib/schematic/accounts/types/get_who_am_i_response.rb +12 -0
  33. data/lib/schematic/accounts/types/list_api_keys_params.rb +15 -0
  34. data/lib/schematic/accounts/types/list_api_keys_request.rb +14 -0
  35. data/lib/schematic/accounts/types/list_api_keys_response.rb +12 -0
  36. data/lib/schematic/accounts/types/list_audit_logs_params.rb +18 -0
  37. data/lib/schematic/accounts/types/list_audit_logs_request.rb +17 -0
  38. data/lib/schematic/accounts/types/list_audit_logs_response.rb +12 -0
  39. data/lib/schematic/accounts/types/list_environments_params.rb +14 -0
  40. data/lib/schematic/accounts/types/list_environments_request.rb +13 -0
  41. data/lib/schematic/accounts/types/list_environments_response.rb +12 -0
  42. data/lib/schematic/accounts/types/quickstart_response.rb +12 -0
  43. data/lib/schematic/accounts/types/update_api_key_request_body.rb +13 -0
  44. data/lib/schematic/accounts/types/update_api_key_response.rb +12 -0
  45. data/lib/schematic/accounts/types/update_environment_request_body.rb +13 -0
  46. data/lib/schematic/accounts/types/update_environment_response.rb +12 -0
  47. data/lib/schematic/billing/client.rb +862 -0
  48. data/lib/schematic/billing/types/count_billing_products_params.rb +23 -0
  49. data/lib/schematic/billing/types/count_billing_products_request.rb +22 -0
  50. data/lib/schematic/billing/types/count_billing_products_response.rb +12 -0
  51. data/lib/schematic/billing/types/count_customers_params.rb +17 -0
  52. data/lib/schematic/billing/types/count_customers_request.rb +16 -0
  53. data/lib/schematic/billing/types/count_customers_response.rb +12 -0
  54. data/lib/schematic/billing/types/create_billing_customer_request_body.rb +17 -0
  55. data/lib/schematic/billing/types/create_billing_price_request_body.rb +25 -0
  56. data/lib/schematic/billing/types/create_billing_product_request_body.rb +15 -0
  57. data/lib/schematic/billing/types/create_billing_subscription_request_body.rb +29 -0
  58. data/lib/schematic/billing/types/create_coupon_request_body.rb +19 -0
  59. data/lib/schematic/billing/types/create_invoice_request_body.rb +23 -0
  60. data/lib/schematic/billing/types/create_meter_request_body.rb +14 -0
  61. data/lib/schematic/billing/types/create_payment_method_request_body.rb +22 -0
  62. data/lib/schematic/billing/types/delete_billing_product_response.rb +12 -0
  63. data/lib/schematic/billing/types/delete_product_price_response.rb +12 -0
  64. data/lib/schematic/billing/types/list_billing_prices_params.rb +27 -0
  65. data/lib/schematic/billing/types/list_billing_prices_request.rb +26 -0
  66. data/lib/schematic/billing/types/list_billing_prices_response.rb +12 -0
  67. data/lib/schematic/billing/types/list_billing_product_prices_params.rb +27 -0
  68. data/lib/schematic/billing/types/list_billing_product_prices_request.rb +26 -0
  69. data/lib/schematic/billing/types/list_billing_product_prices_response.rb +12 -0
  70. data/lib/schematic/billing/types/list_billing_products_params.rb +23 -0
  71. data/lib/schematic/billing/types/list_billing_products_request.rb +22 -0
  72. data/lib/schematic/billing/types/list_billing_products_response.rb +12 -0
  73. data/lib/schematic/billing/types/list_coupons_params.rb +15 -0
  74. data/lib/schematic/billing/types/list_coupons_request.rb +14 -0
  75. data/lib/schematic/billing/types/list_coupons_response.rb +12 -0
  76. data/lib/schematic/billing/types/list_customers_with_subscriptions_params.rb +17 -0
  77. data/lib/schematic/billing/types/list_customers_with_subscriptions_request.rb +16 -0
  78. data/lib/schematic/billing/types/list_customers_with_subscriptions_response.rb +12 -0
  79. data/lib/schematic/billing/types/list_invoices_params.rb +16 -0
  80. data/lib/schematic/billing/types/list_invoices_request.rb +15 -0
  81. data/lib/schematic/billing/types/list_invoices_response.rb +12 -0
  82. data/lib/schematic/billing/types/list_meters_params.rb +14 -0
  83. data/lib/schematic/billing/types/list_meters_request.rb +13 -0
  84. data/lib/schematic/billing/types/list_meters_response.rb +12 -0
  85. data/lib/schematic/billing/types/list_payment_methods_params.rb +15 -0
  86. data/lib/schematic/billing/types/list_payment_methods_request.rb +14 -0
  87. data/lib/schematic/billing/types/list_payment_methods_response.rb +12 -0
  88. data/lib/schematic/billing/types/upsert_billing_coupon_response.rb +12 -0
  89. data/lib/schematic/billing/types/upsert_billing_customer_response.rb +12 -0
  90. data/lib/schematic/billing/types/upsert_billing_meter_response.rb +12 -0
  91. data/lib/schematic/billing/types/upsert_billing_price_response.rb +12 -0
  92. data/lib/schematic/billing/types/upsert_billing_product_response.rb +12 -0
  93. data/lib/schematic/billing/types/upsert_billing_subscription_response.rb +12 -0
  94. data/lib/schematic/billing/types/upsert_invoice_response.rb +12 -0
  95. data/lib/schematic/billing/types/upsert_payment_method_response.rb +12 -0
  96. data/lib/schematic/cache.rb +133 -0
  97. data/lib/schematic/checkout/client.rb +243 -0
  98. data/lib/schematic/checkout/types/cancel_subscription_request.rb +13 -0
  99. data/lib/schematic/checkout/types/cancel_subscription_response.rb +12 -0
  100. data/lib/schematic/checkout/types/checkout_data_request_body.rb +12 -0
  101. data/lib/schematic/checkout/types/checkout_internal_response.rb +12 -0
  102. data/lib/schematic/checkout/types/get_checkout_data_response.rb +12 -0
  103. data/lib/schematic/checkout/types/manage_plan_response.rb +12 -0
  104. data/lib/schematic/checkout/types/preview_checkout_internal_response.rb +12 -0
  105. data/lib/schematic/checkout/types/preview_manage_plan_response.rb +12 -0
  106. data/lib/schematic/checkout/types/update_customer_subscription_trial_end_response.rb +12 -0
  107. data/lib/schematic/checkout/types/update_trial_end_request_body.rb +12 -0
  108. data/lib/schematic/client.rb +110 -0
  109. data/lib/schematic/companies/client.rb +1561 -0
  110. data/lib/schematic/companies/types/count_companies_params.rb +29 -0
  111. data/lib/schematic/companies/types/count_companies_request.rb +28 -0
  112. data/lib/schematic/companies/types/count_companies_response.rb +12 -0
  113. data/lib/schematic/companies/types/count_entity_key_definitions_params.rb +16 -0
  114. data/lib/schematic/companies/types/count_entity_key_definitions_request.rb +15 -0
  115. data/lib/schematic/companies/types/count_entity_key_definitions_response.rb +12 -0
  116. data/lib/schematic/companies/types/count_entity_trait_definitions_params.rb +18 -0
  117. data/lib/schematic/companies/types/count_entity_trait_definitions_request.rb +17 -0
  118. data/lib/schematic/companies/types/count_entity_trait_definitions_response.rb +12 -0
  119. data/lib/schematic/companies/types/count_plan_traits_params.rb +17 -0
  120. data/lib/schematic/companies/types/count_plan_traits_request.rb +16 -0
  121. data/lib/schematic/companies/types/count_plan_traits_response.rb +12 -0
  122. data/lib/schematic/companies/types/count_users_params.rb +17 -0
  123. data/lib/schematic/companies/types/count_users_request.rb +16 -0
  124. data/lib/schematic/companies/types/count_users_response.rb +12 -0
  125. data/lib/schematic/companies/types/create_company_response.rb +12 -0
  126. data/lib/schematic/companies/types/create_entity_trait_definition_request_body.rb +14 -0
  127. data/lib/schematic/companies/types/create_plan_trait_request_body.rb +13 -0
  128. data/lib/schematic/companies/types/create_plan_trait_response.rb +12 -0
  129. data/lib/schematic/companies/types/create_user_response.rb +12 -0
  130. data/lib/schematic/companies/types/delete_company_by_keys_response.rb +12 -0
  131. data/lib/schematic/companies/types/delete_company_membership_response.rb +12 -0
  132. data/lib/schematic/companies/types/delete_company_params.rb +13 -0
  133. data/lib/schematic/companies/types/delete_company_request.rb +13 -0
  134. data/lib/schematic/companies/types/delete_company_response.rb +12 -0
  135. data/lib/schematic/companies/types/delete_plan_trait_response.rb +12 -0
  136. data/lib/schematic/companies/types/delete_user_by_keys_response.rb +12 -0
  137. data/lib/schematic/companies/types/delete_user_response.rb +12 -0
  138. data/lib/schematic/companies/types/get_active_company_subscription_params.rb +15 -0
  139. data/lib/schematic/companies/types/get_active_company_subscription_request.rb +14 -0
  140. data/lib/schematic/companies/types/get_active_company_subscription_response.rb +12 -0
  141. data/lib/schematic/companies/types/get_company_response.rb +12 -0
  142. data/lib/schematic/companies/types/get_entity_trait_definition_response.rb +12 -0
  143. data/lib/schematic/companies/types/get_entity_trait_values_params.rb +15 -0
  144. data/lib/schematic/companies/types/get_entity_trait_values_request.rb +14 -0
  145. data/lib/schematic/companies/types/get_entity_trait_values_response.rb +12 -0
  146. data/lib/schematic/companies/types/get_or_create_company_membership_request_body.rb +12 -0
  147. data/lib/schematic/companies/types/get_or_create_company_membership_response.rb +12 -0
  148. data/lib/schematic/companies/types/get_or_create_entity_trait_definition_response.rb +12 -0
  149. data/lib/schematic/companies/types/get_plan_change_response.rb +12 -0
  150. data/lib/schematic/companies/types/get_plan_trait_response.rb +12 -0
  151. data/lib/schematic/companies/types/get_user_response.rb +12 -0
  152. data/lib/schematic/companies/types/list_companies_params.rb +29 -0
  153. data/lib/schematic/companies/types/list_companies_request.rb +28 -0
  154. data/lib/schematic/companies/types/list_companies_response.rb +12 -0
  155. data/lib/schematic/companies/types/list_company_memberships_params.rb +15 -0
  156. data/lib/schematic/companies/types/list_company_memberships_request.rb +14 -0
  157. data/lib/schematic/companies/types/list_company_memberships_response.rb +12 -0
  158. data/lib/schematic/companies/types/list_entity_key_definitions_params.rb +16 -0
  159. data/lib/schematic/companies/types/list_entity_key_definitions_request.rb +15 -0
  160. data/lib/schematic/companies/types/list_entity_key_definitions_response.rb +12 -0
  161. data/lib/schematic/companies/types/list_entity_trait_definitions_params.rb +18 -0
  162. data/lib/schematic/companies/types/list_entity_trait_definitions_request.rb +17 -0
  163. data/lib/schematic/companies/types/list_entity_trait_definitions_response.rb +12 -0
  164. data/lib/schematic/companies/types/list_plan_changes_params.rb +18 -0
  165. data/lib/schematic/companies/types/list_plan_changes_request.rb +17 -0
  166. data/lib/schematic/companies/types/list_plan_changes_response.rb +12 -0
  167. data/lib/schematic/companies/types/list_plan_traits_params.rb +17 -0
  168. data/lib/schematic/companies/types/list_plan_traits_request.rb +16 -0
  169. data/lib/schematic/companies/types/list_plan_traits_response.rb +12 -0
  170. data/lib/schematic/companies/types/list_users_params.rb +17 -0
  171. data/lib/schematic/companies/types/list_users_request.rb +16 -0
  172. data/lib/schematic/companies/types/list_users_response.rb +12 -0
  173. data/lib/schematic/companies/types/lookup_company_params.rb +12 -0
  174. data/lib/schematic/companies/types/lookup_company_request.rb +11 -0
  175. data/lib/schematic/companies/types/lookup_company_response.rb +12 -0
  176. data/lib/schematic/companies/types/lookup_user_params.rb +12 -0
  177. data/lib/schematic/companies/types/lookup_user_request.rb +11 -0
  178. data/lib/schematic/companies/types/lookup_user_response.rb +12 -0
  179. data/lib/schematic/companies/types/update_entity_trait_definition_request_body.rb +13 -0
  180. data/lib/schematic/companies/types/update_entity_trait_definition_response.rb +12 -0
  181. data/lib/schematic/companies/types/update_plan_trait_bulk_request_body.rb +13 -0
  182. data/lib/schematic/companies/types/update_plan_trait_request_body.rb +13 -0
  183. data/lib/schematic/companies/types/update_plan_trait_response.rb +12 -0
  184. data/lib/schematic/companies/types/update_plan_traits_bulk_response.rb +12 -0
  185. data/lib/schematic/companies/types/upsert_company_response.rb +12 -0
  186. data/lib/schematic/companies/types/upsert_company_trait_response.rb +12 -0
  187. data/lib/schematic/companies/types/upsert_user_response.rb +12 -0
  188. data/lib/schematic/companies/types/upsert_user_trait_response.rb +12 -0
  189. data/lib/schematic/components/client.rb +271 -0
  190. data/lib/schematic/components/types/count_components_params.rb +14 -0
  191. data/lib/schematic/components/types/count_components_request.rb +13 -0
  192. data/lib/schematic/components/types/count_components_response.rb +12 -0
  193. data/lib/schematic/components/types/create_component_request_body.rb +13 -0
  194. data/lib/schematic/components/types/create_component_response.rb +12 -0
  195. data/lib/schematic/components/types/delete_component_response.rb +12 -0
  196. data/lib/schematic/components/types/get_component_response.rb +12 -0
  197. data/lib/schematic/components/types/list_components_params.rb +14 -0
  198. data/lib/schematic/components/types/list_components_request.rb +13 -0
  199. data/lib/schematic/components/types/list_components_response.rb +12 -0
  200. data/lib/schematic/components/types/preview_component_data_params.rb +13 -0
  201. data/lib/schematic/components/types/preview_component_data_request.rb +12 -0
  202. data/lib/schematic/components/types/preview_component_data_response.rb +12 -0
  203. data/lib/schematic/components/types/update_component_request_body.rb +15 -0
  204. data/lib/schematic/components/types/update_component_response.rb +12 -0
  205. data/lib/schematic/componentspublic/client.rb +45 -0
  206. data/lib/schematic/componentspublic/types/get_public_plans_response.rb +12 -0
  207. data/lib/schematic/credits/client.rb +1157 -0
  208. data/lib/schematic/credits/types/count_billing_credits_grants_params.rb +15 -0
  209. data/lib/schematic/credits/types/count_billing_credits_grants_request.rb +14 -0
  210. data/lib/schematic/credits/types/count_billing_credits_grants_response.rb +12 -0
  211. data/lib/schematic/credits/types/count_billing_credits_params.rb +15 -0
  212. data/lib/schematic/credits/types/count_billing_credits_request.rb +14 -0
  213. data/lib/schematic/credits/types/count_billing_credits_response.rb +12 -0
  214. data/lib/schematic/credits/types/count_billing_plan_credit_grants_params.rb +18 -0
  215. data/lib/schematic/credits/types/count_billing_plan_credit_grants_request.rb +17 -0
  216. data/lib/schematic/credits/types/count_billing_plan_credit_grants_response.rb +12 -0
  217. data/lib/schematic/credits/types/count_company_grants_params.rb +16 -0
  218. data/lib/schematic/credits/types/count_company_grants_request.rb +15 -0
  219. data/lib/schematic/credits/types/count_company_grants_response.rb +12 -0
  220. data/lib/schematic/credits/types/count_credit_bundles_params.rb +17 -0
  221. data/lib/schematic/credits/types/count_credit_bundles_request.rb +16 -0
  222. data/lib/schematic/credits/types/count_credit_bundles_response.rb +12 -0
  223. data/lib/schematic/credits/types/count_credit_event_ledger_params.rb +19 -0
  224. data/lib/schematic/credits/types/count_credit_event_ledger_request.rb +18 -0
  225. data/lib/schematic/credits/types/count_credit_event_ledger_response.rb +12 -0
  226. data/lib/schematic/credits/types/count_credit_ledger_params.rb +19 -0
  227. data/lib/schematic/credits/types/count_credit_ledger_request.rb +18 -0
  228. data/lib/schematic/credits/types/count_credit_ledger_response.rb +12 -0
  229. data/lib/schematic/credits/types/create_billing_credit_request_body.rb +23 -0
  230. data/lib/schematic/credits/types/create_billing_credit_response.rb +12 -0
  231. data/lib/schematic/credits/types/create_billing_plan_credit_grant_response.rb +12 -0
  232. data/lib/schematic/credits/types/create_company_credit_grant.rb +22 -0
  233. data/lib/schematic/credits/types/create_credit_bundle_request_body.rb +22 -0
  234. data/lib/schematic/credits/types/create_credit_bundle_response.rb +12 -0
  235. data/lib/schematic/credits/types/delete_billing_plan_credit_grant_params.rb +12 -0
  236. data/lib/schematic/credits/types/delete_billing_plan_credit_grant_request.rb +12 -0
  237. data/lib/schematic/credits/types/delete_billing_plan_credit_grant_response.rb +12 -0
  238. data/lib/schematic/credits/types/delete_credit_bundle_response.rb +12 -0
  239. data/lib/schematic/credits/types/get_credit_bundle_response.rb +12 -0
  240. data/lib/schematic/credits/types/get_enriched_credit_ledger_params.rb +19 -0
  241. data/lib/schematic/credits/types/get_enriched_credit_ledger_request.rb +18 -0
  242. data/lib/schematic/credits/types/get_enriched_credit_ledger_response.rb +12 -0
  243. data/lib/schematic/credits/types/get_single_billing_credit_response.rb +12 -0
  244. data/lib/schematic/credits/types/get_single_billing_plan_credit_grant_response.rb +12 -0
  245. data/lib/schematic/credits/types/grant_billing_credits_to_company_response.rb +12 -0
  246. data/lib/schematic/credits/types/list_billing_credits_params.rb +15 -0
  247. data/lib/schematic/credits/types/list_billing_credits_request.rb +14 -0
  248. data/lib/schematic/credits/types/list_billing_credits_response.rb +12 -0
  249. data/lib/schematic/credits/types/list_billing_plan_credit_grants_params.rb +18 -0
  250. data/lib/schematic/credits/types/list_billing_plan_credit_grants_request.rb +17 -0
  251. data/lib/schematic/credits/types/list_billing_plan_credit_grants_response.rb +12 -0
  252. data/lib/schematic/credits/types/list_company_grants_params.rb +16 -0
  253. data/lib/schematic/credits/types/list_company_grants_request.rb +15 -0
  254. data/lib/schematic/credits/types/list_company_grants_response.rb +12 -0
  255. data/lib/schematic/credits/types/list_credit_bundles_params.rb +17 -0
  256. data/lib/schematic/credits/types/list_credit_bundles_request.rb +16 -0
  257. data/lib/schematic/credits/types/list_credit_bundles_response.rb +12 -0
  258. data/lib/schematic/credits/types/list_credit_event_ledger_params.rb +19 -0
  259. data/lib/schematic/credits/types/list_credit_event_ledger_request.rb +18 -0
  260. data/lib/schematic/credits/types/list_credit_event_ledger_response.rb +12 -0
  261. data/lib/schematic/credits/types/list_grants_for_credit_params.rb +15 -0
  262. data/lib/schematic/credits/types/list_grants_for_credit_request.rb +14 -0
  263. data/lib/schematic/credits/types/list_grants_for_credit_response.rb +12 -0
  264. data/lib/schematic/credits/types/soft_delete_billing_credit_response.rb +12 -0
  265. data/lib/schematic/credits/types/update_billing_credit_request_body.rb +23 -0
  266. data/lib/schematic/credits/types/update_billing_credit_response.rb +12 -0
  267. data/lib/schematic/credits/types/update_billing_plan_credit_grant_response.rb +12 -0
  268. data/lib/schematic/credits/types/update_credit_bundle_details_request_body.rb +20 -0
  269. data/lib/schematic/credits/types/update_credit_bundle_details_response.rb +12 -0
  270. data/lib/schematic/credits/types/zero_out_grant_request_body.rb +12 -0
  271. data/lib/schematic/credits/types/zero_out_grant_response.rb +12 -0
  272. data/lib/schematic/dataexports/client.rb +76 -0
  273. data/lib/schematic/dataexports/types/create_data_export_request_body.rb +13 -0
  274. data/lib/schematic/dataexports/types/create_data_export_response.rb +12 -0
  275. data/lib/schematic/datastream/client.rb +508 -0
  276. data/lib/schematic/datastream/merge.rb +95 -0
  277. data/lib/schematic/datastream/resource_cache.rb +76 -0
  278. data/lib/schematic/datastream/websocket_client.rb +315 -0
  279. data/lib/schematic/entitlements/client.rb +900 -0
  280. data/lib/schematic/entitlements/types/count_company_overrides_params.rb +20 -0
  281. data/lib/schematic/entitlements/types/count_company_overrides_request.rb +19 -0
  282. data/lib/schematic/entitlements/types/count_company_overrides_response.rb +12 -0
  283. data/lib/schematic/entitlements/types/count_feature_companies_params.rb +15 -0
  284. data/lib/schematic/entitlements/types/count_feature_companies_request.rb +14 -0
  285. data/lib/schematic/entitlements/types/count_feature_companies_response.rb +12 -0
  286. data/lib/schematic/entitlements/types/count_feature_usage_params.rb +19 -0
  287. data/lib/schematic/entitlements/types/count_feature_usage_request.rb +18 -0
  288. data/lib/schematic/entitlements/types/count_feature_usage_response.rb +12 -0
  289. data/lib/schematic/entitlements/types/count_feature_users_params.rb +15 -0
  290. data/lib/schematic/entitlements/types/count_feature_users_request.rb +14 -0
  291. data/lib/schematic/entitlements/types/count_feature_users_response.rb +12 -0
  292. data/lib/schematic/entitlements/types/count_plan_entitlements_params.rb +22 -0
  293. data/lib/schematic/entitlements/types/count_plan_entitlements_request.rb +21 -0
  294. data/lib/schematic/entitlements/types/count_plan_entitlements_response.rb +12 -0
  295. data/lib/schematic/entitlements/types/create_company_override_request_body.rb +22 -0
  296. data/lib/schematic/entitlements/types/create_company_override_request_body_metric_period.rb +16 -0
  297. data/lib/schematic/entitlements/types/create_company_override_request_body_metric_period_month_reset.rb +14 -0
  298. data/lib/schematic/entitlements/types/create_company_override_response.rb +12 -0
  299. data/lib/schematic/entitlements/types/create_plan_entitlement_request_body.rb +38 -0
  300. data/lib/schematic/entitlements/types/create_plan_entitlement_request_body_metric_period.rb +16 -0
  301. data/lib/schematic/entitlements/types/create_plan_entitlement_request_body_metric_period_month_reset.rb +14 -0
  302. data/lib/schematic/entitlements/types/create_plan_entitlement_response.rb +12 -0
  303. data/lib/schematic/entitlements/types/delete_company_override_response.rb +12 -0
  304. data/lib/schematic/entitlements/types/delete_plan_entitlement_response.rb +12 -0
  305. data/lib/schematic/entitlements/types/duplicate_plan_entitlements_request_body.rb +12 -0
  306. data/lib/schematic/entitlements/types/duplicate_plan_entitlements_response.rb +12 -0
  307. data/lib/schematic/entitlements/types/get_company_override_response.rb +12 -0
  308. data/lib/schematic/entitlements/types/get_feature_usage_by_company_params.rb +12 -0
  309. data/lib/schematic/entitlements/types/get_feature_usage_by_company_request.rb +11 -0
  310. data/lib/schematic/entitlements/types/get_feature_usage_by_company_response.rb +12 -0
  311. data/lib/schematic/entitlements/types/get_feature_usage_time_series_params.rb +16 -0
  312. data/lib/schematic/entitlements/types/get_feature_usage_time_series_request.rb +15 -0
  313. data/lib/schematic/entitlements/types/get_feature_usage_time_series_response.rb +12 -0
  314. data/lib/schematic/entitlements/types/get_plan_entitlement_response.rb +12 -0
  315. data/lib/schematic/entitlements/types/list_company_overrides_params.rb +20 -0
  316. data/lib/schematic/entitlements/types/list_company_overrides_request.rb +19 -0
  317. data/lib/schematic/entitlements/types/list_company_overrides_response.rb +12 -0
  318. data/lib/schematic/entitlements/types/list_feature_companies_params.rb +15 -0
  319. data/lib/schematic/entitlements/types/list_feature_companies_request.rb +14 -0
  320. data/lib/schematic/entitlements/types/list_feature_companies_response.rb +12 -0
  321. data/lib/schematic/entitlements/types/list_feature_usage_params.rb +19 -0
  322. data/lib/schematic/entitlements/types/list_feature_usage_request.rb +18 -0
  323. data/lib/schematic/entitlements/types/list_feature_usage_response.rb +12 -0
  324. data/lib/schematic/entitlements/types/list_feature_users_params.rb +15 -0
  325. data/lib/schematic/entitlements/types/list_feature_users_request.rb +14 -0
  326. data/lib/schematic/entitlements/types/list_feature_users_response.rb +12 -0
  327. data/lib/schematic/entitlements/types/list_plan_entitlements_params.rb +22 -0
  328. data/lib/schematic/entitlements/types/list_plan_entitlements_request.rb +21 -0
  329. data/lib/schematic/entitlements/types/list_plan_entitlements_response.rb +12 -0
  330. data/lib/schematic/entitlements/types/update_company_override_request_body.rb +21 -0
  331. data/lib/schematic/entitlements/types/update_company_override_request_body_metric_period.rb +16 -0
  332. data/lib/schematic/entitlements/types/update_company_override_request_body_metric_period_month_reset.rb +14 -0
  333. data/lib/schematic/entitlements/types/update_company_override_response.rb +12 -0
  334. data/lib/schematic/entitlements/types/update_plan_entitlement_request_body.rb +36 -0
  335. data/lib/schematic/entitlements/types/update_plan_entitlement_request_body_metric_period.rb +16 -0
  336. data/lib/schematic/entitlements/types/update_plan_entitlement_request_body_metric_period_month_reset.rb +14 -0
  337. data/lib/schematic/entitlements/types/update_plan_entitlement_response.rb +12 -0
  338. data/lib/schematic/environment.rb +7 -0
  339. data/lib/schematic/errors/api_error.rb +8 -0
  340. data/lib/schematic/errors/client_error.rb +17 -0
  341. data/lib/schematic/errors/redirect_error.rb +8 -0
  342. data/lib/schematic/errors/response_error.rb +42 -0
  343. data/lib/schematic/errors/server_error.rb +11 -0
  344. data/lib/schematic/errors/timeout_error.rb +8 -0
  345. data/lib/schematic/event_buffer.rb +180 -0
  346. data/lib/schematic/events/client.rb +235 -0
  347. data/lib/schematic/events/types/create_event_batch_request_body.rb +11 -0
  348. data/lib/schematic/events/types/create_event_batch_response.rb +12 -0
  349. data/lib/schematic/events/types/create_event_response.rb +12 -0
  350. data/lib/schematic/events/types/get_event_response.rb +12 -0
  351. data/lib/schematic/events/types/get_event_summaries_params.rb +15 -0
  352. data/lib/schematic/events/types/get_event_summaries_request.rb +14 -0
  353. data/lib/schematic/events/types/get_event_summaries_response.rb +12 -0
  354. data/lib/schematic/events/types/get_segment_integration_status_response.rb +12 -0
  355. data/lib/schematic/events/types/list_events_params.rb +18 -0
  356. data/lib/schematic/events/types/list_events_request.rb +17 -0
  357. data/lib/schematic/events/types/list_events_response.rb +12 -0
  358. data/lib/schematic/features/client.rb +610 -0
  359. data/lib/schematic/features/types/check_flag_response.rb +12 -0
  360. data/lib/schematic/features/types/check_flags_bulk_request_body.rb +11 -0
  361. data/lib/schematic/features/types/check_flags_bulk_response.rb +12 -0
  362. data/lib/schematic/features/types/check_flags_response.rb +12 -0
  363. data/lib/schematic/features/types/count_features_params.rb +20 -0
  364. data/lib/schematic/features/types/count_features_request.rb +19 -0
  365. data/lib/schematic/features/types/count_features_response.rb +12 -0
  366. data/lib/schematic/features/types/count_flags_params.rb +16 -0
  367. data/lib/schematic/features/types/count_flags_request.rb +15 -0
  368. data/lib/schematic/features/types/count_flags_response.rb +12 -0
  369. data/lib/schematic/features/types/create_feature_request_body.rb +21 -0
  370. data/lib/schematic/features/types/create_feature_response.rb +12 -0
  371. data/lib/schematic/features/types/create_flag_response.rb +12 -0
  372. data/lib/schematic/features/types/delete_feature_response.rb +12 -0
  373. data/lib/schematic/features/types/delete_flag_response.rb +12 -0
  374. data/lib/schematic/features/types/get_feature_response.rb +12 -0
  375. data/lib/schematic/features/types/get_flag_response.rb +12 -0
  376. data/lib/schematic/features/types/list_features_params.rb +20 -0
  377. data/lib/schematic/features/types/list_features_request.rb +19 -0
  378. data/lib/schematic/features/types/list_features_response.rb +12 -0
  379. data/lib/schematic/features/types/list_flags_params.rb +16 -0
  380. data/lib/schematic/features/types/list_flags_request.rb +15 -0
  381. data/lib/schematic/features/types/list_flags_response.rb +12 -0
  382. data/lib/schematic/features/types/update_feature_request_body.rb +22 -0
  383. data/lib/schematic/features/types/update_feature_response.rb +12 -0
  384. data/lib/schematic/features/types/update_flag_response.rb +12 -0
  385. data/lib/schematic/features/types/update_flag_rules_request_body.rb +12 -0
  386. data/lib/schematic/features/types/update_flag_rules_response.rb +12 -0
  387. data/lib/schematic/internal/errors/constraint_error.rb +10 -0
  388. data/lib/schematic/internal/errors/type_error.rb +10 -0
  389. data/lib/schematic/internal/http/base_request.rb +51 -0
  390. data/lib/schematic/internal/http/raw_client.rb +214 -0
  391. data/lib/schematic/internal/iterators/cursor_item_iterator.rb +28 -0
  392. data/lib/schematic/internal/iterators/cursor_page_iterator.rb +51 -0
  393. data/lib/schematic/internal/iterators/item_iterator.rb +59 -0
  394. data/lib/schematic/internal/iterators/offset_item_iterator.rb +30 -0
  395. data/lib/schematic/internal/iterators/offset_page_iterator.rb +83 -0
  396. data/lib/schematic/internal/json/request.rb +41 -0
  397. data/lib/schematic/internal/json/serializable.rb +25 -0
  398. data/lib/schematic/internal/multipart/multipart_encoder.rb +141 -0
  399. data/lib/schematic/internal/multipart/multipart_form_data.rb +78 -0
  400. data/lib/schematic/internal/multipart/multipart_form_data_part.rb +51 -0
  401. data/lib/schematic/internal/multipart/multipart_request.rb +40 -0
  402. data/lib/schematic/internal/types/array.rb +47 -0
  403. data/lib/schematic/internal/types/boolean.rb +34 -0
  404. data/lib/schematic/internal/types/enum.rb +56 -0
  405. data/lib/schematic/internal/types/hash.rb +36 -0
  406. data/lib/schematic/internal/types/model/field.rb +38 -0
  407. data/lib/schematic/internal/types/model.rb +208 -0
  408. data/lib/schematic/internal/types/type.rb +35 -0
  409. data/lib/schematic/internal/types/union.rb +161 -0
  410. data/lib/schematic/internal/types/unknown.rb +15 -0
  411. data/lib/schematic/internal/types/utils.rb +116 -0
  412. data/lib/schematic/logger.rb +62 -0
  413. data/lib/schematic/planbundle/client.rb +83 -0
  414. data/lib/schematic/planbundle/types/create_plan_bundle_request_body.rb +15 -0
  415. data/lib/schematic/planbundle/types/create_plan_bundle_response.rb +12 -0
  416. data/lib/schematic/planbundle/types/update_plan_bundle_request_body.rb +17 -0
  417. data/lib/schematic/planbundle/types/update_plan_bundle_response.rb +12 -0
  418. data/lib/schematic/plangroups/client.rb +121 -0
  419. data/lib/schematic/plangroups/types/create_plan_group_request_body.rb +42 -0
  420. data/lib/schematic/plangroups/types/create_plan_group_response.rb +12 -0
  421. data/lib/schematic/plangroups/types/get_plan_group_params.rb +12 -0
  422. data/lib/schematic/plangroups/types/get_plan_group_request.rb +11 -0
  423. data/lib/schematic/plangroups/types/get_plan_group_response.rb +12 -0
  424. data/lib/schematic/plangroups/types/update_plan_group_request_body.rb +43 -0
  425. data/lib/schematic/plangroups/types/update_plan_group_response.rb +12 -0
  426. data/lib/schematic/planmigrations/client.rb +226 -0
  427. data/lib/schematic/planmigrations/types/count_company_migrations_params.rb +16 -0
  428. data/lib/schematic/planmigrations/types/count_company_migrations_request.rb +15 -0
  429. data/lib/schematic/planmigrations/types/count_company_migrations_response.rb +12 -0
  430. data/lib/schematic/planmigrations/types/count_migrations_params.rb +15 -0
  431. data/lib/schematic/planmigrations/types/count_migrations_request.rb +14 -0
  432. data/lib/schematic/planmigrations/types/count_migrations_response.rb +12 -0
  433. data/lib/schematic/planmigrations/types/get_migration_response.rb +12 -0
  434. data/lib/schematic/planmigrations/types/list_company_migrations_params.rb +16 -0
  435. data/lib/schematic/planmigrations/types/list_company_migrations_request.rb +15 -0
  436. data/lib/schematic/planmigrations/types/list_company_migrations_response.rb +12 -0
  437. data/lib/schematic/planmigrations/types/list_migrations_params.rb +15 -0
  438. data/lib/schematic/planmigrations/types/list_migrations_request.rb +14 -0
  439. data/lib/schematic/planmigrations/types/list_migrations_response.rb +12 -0
  440. data/lib/schematic/plans/client.rb +460 -0
  441. data/lib/schematic/plans/types/count_plans_params.rb +24 -0
  442. data/lib/schematic/plans/types/count_plans_request.rb +23 -0
  443. data/lib/schematic/plans/types/count_plans_response.rb +12 -0
  444. data/lib/schematic/plans/types/create_plan_response.rb +12 -0
  445. data/lib/schematic/plans/types/delete_plan_response.rb +12 -0
  446. data/lib/schematic/plans/types/delete_plan_version_params.rb +12 -0
  447. data/lib/schematic/plans/types/delete_plan_version_request.rb +12 -0
  448. data/lib/schematic/plans/types/delete_plan_version_response.rb +12 -0
  449. data/lib/schematic/plans/types/get_plan_params.rb +12 -0
  450. data/lib/schematic/plans/types/get_plan_request.rb +12 -0
  451. data/lib/schematic/plans/types/get_plan_response.rb +12 -0
  452. data/lib/schematic/plans/types/list_plan_issues_params.rb +13 -0
  453. data/lib/schematic/plans/types/list_plan_issues_request.rb +12 -0
  454. data/lib/schematic/plans/types/list_plan_issues_response.rb +12 -0
  455. data/lib/schematic/plans/types/list_plans_params.rb +24 -0
  456. data/lib/schematic/plans/types/list_plans_request.rb +23 -0
  457. data/lib/schematic/plans/types/list_plans_response.rb +12 -0
  458. data/lib/schematic/plans/types/publish_plan_version_request_body.rb +13 -0
  459. data/lib/schematic/plans/types/publish_plan_version_response.rb +12 -0
  460. data/lib/schematic/plans/types/update_company_plans_request_body.rb +13 -0
  461. data/lib/schematic/plans/types/update_company_plans_response.rb +12 -0
  462. data/lib/schematic/plans/types/update_plan_response.rb +12 -0
  463. data/lib/schematic/plans/types/upsert_billing_product_plan_response.rb +12 -0
  464. data/lib/schematic/redis_cache.rb +94 -0
  465. data/lib/schematic/rules_engine.rb +145 -0
  466. data/lib/schematic/scheduledcheckout/client.rb +159 -0
  467. data/lib/schematic/scheduledcheckout/types/create_scheduled_checkout_request.rb +14 -0
  468. data/lib/schematic/scheduledcheckout/types/create_scheduled_checkout_response.rb +12 -0
  469. data/lib/schematic/scheduledcheckout/types/get_scheduled_checkout_response.rb +12 -0
  470. data/lib/schematic/scheduledcheckout/types/list_scheduled_checkouts_params.rb +15 -0
  471. data/lib/schematic/scheduledcheckout/types/list_scheduled_checkouts_request.rb +14 -0
  472. data/lib/schematic/scheduledcheckout/types/list_scheduled_checkouts_response.rb +12 -0
  473. data/lib/schematic/scheduledcheckout/types/update_scheduled_checkout_request.rb +13 -0
  474. data/lib/schematic/scheduledcheckout/types/update_scheduled_checkout_response.rb +12 -0
  475. data/lib/schematic/schematic_client.rb +552 -0
  476. data/lib/schematic/types/actor_type.rb +15 -0
  477. data/lib/schematic/types/api_error.rb +9 -0
  478. data/lib/schematic/types/api_key_create_response_data.rb +18 -0
  479. data/lib/schematic/types/api_key_response_data.rb +17 -0
  480. data/lib/schematic/types/api_key_scope.rb +14 -0
  481. data/lib/schematic/types/audit_log_list_response_data.rb +23 -0
  482. data/lib/schematic/types/audit_log_response_data.rb +26 -0
  483. data/lib/schematic/types/billing_coupon_response_data.rb +25 -0
  484. data/lib/schematic/types/billing_credit_bundle_response_data.rb +29 -0
  485. data/lib/schematic/types/billing_credit_bundle_status.rb +12 -0
  486. data/lib/schematic/types/billing_credit_bundle_type.rb +23 -0
  487. data/lib/schematic/types/billing_credit_bundle_view.rb +28 -0
  488. data/lib/schematic/types/billing_credit_burn_strategy.rb +14 -0
  489. data/lib/schematic/types/billing_credit_expiry_type.rb +15 -0
  490. data/lib/schematic/types/billing_credit_expiry_unit.rb +12 -0
  491. data/lib/schematic/types/billing_credit_grant_reason.rb +15 -0
  492. data/lib/schematic/types/billing_credit_grant_response_data.rb +32 -0
  493. data/lib/schematic/types/billing_credit_grant_zeroed_out_reason.rb +14 -0
  494. data/lib/schematic/types/billing_credit_ledger_response_data.rb +14 -0
  495. data/lib/schematic/types/billing_credit_response_data.rb +24 -0
  496. data/lib/schematic/types/billing_credit_rollover_policy.rb +13 -0
  497. data/lib/schematic/types/billing_credit_view.rb +27 -0
  498. data/lib/schematic/types/billing_customer_response_data.rb +16 -0
  499. data/lib/schematic/types/billing_customer_subscription.rb +14 -0
  500. data/lib/schematic/types/billing_customer_with_subscriptions_response_data.rb +17 -0
  501. data/lib/schematic/types/billing_meter_response_data.rb +14 -0
  502. data/lib/schematic/types/billing_plan_credit_grant_reset_cadence.rb +14 -0
  503. data/lib/schematic/types/billing_plan_credit_grant_reset_start.rb +12 -0
  504. data/lib/schematic/types/billing_plan_credit_grant_reset_type.rb +12 -0
  505. data/lib/schematic/types/billing_plan_credit_grant_response_data.rb +34 -0
  506. data/lib/schematic/types/billing_price_response_data.rb +16 -0
  507. data/lib/schematic/types/billing_price_scheme.rb +12 -0
  508. data/lib/schematic/types/billing_price_usage_type.rb +12 -0
  509. data/lib/schematic/types/billing_price_view.rb +30 -0
  510. data/lib/schematic/types/billing_product_detail_response_data.rb +23 -0
  511. data/lib/schematic/types/billing_product_for_subscription_response_data.rb +30 -0
  512. data/lib/schematic/types/billing_product_plan_response_data.rb +19 -0
  513. data/lib/schematic/types/billing_product_price_interval.rb +14 -0
  514. data/lib/schematic/types/billing_product_price_response_data.rb +24 -0
  515. data/lib/schematic/types/billing_product_price_tier_response_data.rb +12 -0
  516. data/lib/schematic/types/billing_product_pricing.rb +20 -0
  517. data/lib/schematic/types/billing_product_response_data.rb +21 -0
  518. data/lib/schematic/types/billing_provider_type.rb +12 -0
  519. data/lib/schematic/types/billing_subscription_discount.rb +15 -0
  520. data/lib/schematic/types/billing_subscription_discount_view.rb +22 -0
  521. data/lib/schematic/types/billing_subscription_response_data.rb +28 -0
  522. data/lib/schematic/types/billing_subscription_trial_end_setting.rb +12 -0
  523. data/lib/schematic/types/billing_subscription_view.rb +32 -0
  524. data/lib/schematic/types/billing_tiers_mode.rb +12 -0
  525. data/lib/schematic/types/capture_raw_event.rb +13 -0
  526. data/lib/schematic/types/capture_raw_event_batch.rb +9 -0
  527. data/lib/schematic/types/change_subscription_internal_request_body.rb +18 -0
  528. data/lib/schematic/types/change_subscription_request_body.rb +17 -0
  529. data/lib/schematic/types/charge_type.rb +13 -0
  530. data/lib/schematic/types/check_flag_request_body.rb +10 -0
  531. data/lib/schematic/types/check_flag_response_data.rb +23 -0
  532. data/lib/schematic/types/check_flags_bulk_response_data.rb +9 -0
  533. data/lib/schematic/types/check_flags_response_data.rb +10 -0
  534. data/lib/schematic/types/checkout_data_response_data.rb +18 -0
  535. data/lib/schematic/types/checkout_settings_response_data.rb +11 -0
  536. data/lib/schematic/types/checkout_subscription.rb +30 -0
  537. data/lib/schematic/types/company_detail_response_data.rb +31 -0
  538. data/lib/schematic/types/company_event_period_metrics_response_data.rb +19 -0
  539. data/lib/schematic/types/company_ledger_response_data.rb +11 -0
  540. data/lib/schematic/types/company_membership_detail_response_data.rb +14 -0
  541. data/lib/schematic/types/company_membership_response_data.rb +13 -0
  542. data/lib/schematic/types/company_override_note_response_data.rb +14 -0
  543. data/lib/schematic/types/company_override_response_data.rb +28 -0
  544. data/lib/schematic/types/company_plan_detail_response_data.rb +43 -0
  545. data/lib/schematic/types/company_plan_invalid_reason.rb +12 -0
  546. data/lib/schematic/types/company_plan_with_billing_sub_view.rb +19 -0
  547. data/lib/schematic/types/company_response_data.rb +15 -0
  548. data/lib/schematic/types/company_subscription_response_data.rb +22 -0
  549. data/lib/schematic/types/compatible_plans.rb +10 -0
  550. data/lib/schematic/types/compatible_plans_response_data.rb +10 -0
  551. data/lib/schematic/types/component_capabilities.rb +10 -0
  552. data/lib/schematic/types/component_checkout_settings.rb +12 -0
  553. data/lib/schematic/types/component_display_settings.rb +14 -0
  554. data/lib/schematic/types/component_entity_type.rb +12 -0
  555. data/lib/schematic/types/component_hydrate_response_data.rb +34 -0
  556. data/lib/schematic/types/component_preview_response_data.rb +35 -0
  557. data/lib/schematic/types/component_response_data.rb +15 -0
  558. data/lib/schematic/types/component_settings_response_data.rb +14 -0
  559. data/lib/schematic/types/component_state.rb +12 -0
  560. data/lib/schematic/types/condition.rb +23 -0
  561. data/lib/schematic/types/condition_condition_type.rb +19 -0
  562. data/lib/schematic/types/condition_group.rb +9 -0
  563. data/lib/schematic/types/condition_group_response_data.rb +15 -0
  564. data/lib/schematic/types/condition_group_view.rb +16 -0
  565. data/lib/schematic/types/condition_metric_period.rb +14 -0
  566. data/lib/schematic/types/condition_metric_period_month_reset.rb +12 -0
  567. data/lib/schematic/types/condition_operator.rb +18 -0
  568. data/lib/schematic/types/condition_response_data.rb +32 -0
  569. data/lib/schematic/types/condition_view.rb +39 -0
  570. data/lib/schematic/types/count_response.rb +9 -0
  571. data/lib/schematic/types/coupon_request_body.rb +16 -0
  572. data/lib/schematic/types/create_billing_plan_credit_grant_request_body.rb +26 -0
  573. data/lib/schematic/types/create_billing_price_tier_request_body.rb +14 -0
  574. data/lib/schematic/types/create_entitlement_in_bundle_request_body.rb +36 -0
  575. data/lib/schematic/types/create_entitlement_in_bundle_request_body_metric_period.rb +14 -0
  576. data/lib/schematic/types/create_entitlement_in_bundle_request_body_metric_period_month_reset.rb +12 -0
  577. data/lib/schematic/types/create_entitlement_req_common.rb +17 -0
  578. data/lib/schematic/types/create_entitlement_req_common_metric_period.rb +14 -0
  579. data/lib/schematic/types/create_entitlement_req_common_metric_period_month_reset.rb +12 -0
  580. data/lib/schematic/types/create_event_request_body.rb +11 -0
  581. data/lib/schematic/types/create_flag_request_body.rb +15 -0
  582. data/lib/schematic/types/create_or_update_condition_group_request_body.rb +11 -0
  583. data/lib/schematic/types/create_or_update_condition_request_body.rb +21 -0
  584. data/lib/schematic/types/create_or_update_condition_request_body_condition_type.rb +17 -0
  585. data/lib/schematic/types/create_or_update_condition_request_body_metric_period.rb +14 -0
  586. data/lib/schematic/types/create_or_update_condition_request_body_metric_period_month_reset.rb +12 -0
  587. data/lib/schematic/types/create_or_update_condition_request_body_operator.rb +18 -0
  588. data/lib/schematic/types/create_or_update_flag_request_body.rb +16 -0
  589. data/lib/schematic/types/create_or_update_rule_request_body.rb +15 -0
  590. data/lib/schematic/types/create_or_update_rule_request_body_rule_type.rb +15 -0
  591. data/lib/schematic/types/create_plan_request_body.rb +12 -0
  592. data/lib/schematic/types/create_price_tier_request_body.rb +12 -0
  593. data/lib/schematic/types/credit_auto_topup_amount_type.rb +23 -0
  594. data/lib/schematic/types/credit_bundle_currency_price.rb +10 -0
  595. data/lib/schematic/types/credit_bundle_currency_price_request_body.rb +11 -0
  596. data/lib/schematic/types/credit_bundle_currency_price_response_data.rb +10 -0
  597. data/lib/schematic/types/credit_bundle_purchase_response_data.rb +11 -0
  598. data/lib/schematic/types/credit_company_grant_view.rb +40 -0
  599. data/lib/schematic/types/credit_currency_price_request_body.rb +11 -0
  600. data/lib/schematic/types/credit_currency_price_response_data.rb +10 -0
  601. data/lib/schematic/types/credit_event_ledger_response_data.rb +39 -0
  602. data/lib/schematic/types/credit_event_type.rb +14 -0
  603. data/lib/schematic/types/credit_grant_detail.rb +12 -0
  604. data/lib/schematic/types/credit_grant_expiry_request_body.rb +14 -0
  605. data/lib/schematic/types/credit_grant_sort_order.rb +14 -0
  606. data/lib/schematic/types/credit_ledger_enriched_entry_response_data.rb +30 -0
  607. data/lib/schematic/types/credit_ledger_period.rb +14 -0
  608. data/lib/schematic/types/credit_transfer_response_data.rb +14 -0
  609. data/lib/schematic/types/credit_transfer_view.rb +14 -0
  610. data/lib/schematic/types/credit_trigger_config.rb +9 -0
  611. data/lib/schematic/types/credit_usage.rb +17 -0
  612. data/lib/schematic/types/credit_usage_aggregation.rb +12 -0
  613. data/lib/schematic/types/credits_auto_topup_company_summary.rb +10 -0
  614. data/lib/schematic/types/credits_auto_topup_credit_summary.rb +10 -0
  615. data/lib/schematic/types/credits_auto_topup_hard_failure.rb +12 -0
  616. data/lib/schematic/types/credits_auto_topup_retry_failure.rb +13 -0
  617. data/lib/schematic/types/currency_price_request_body.rb +15 -0
  618. data/lib/schematic/types/custom_plan_config.rb +11 -0
  619. data/lib/schematic/types/custom_plan_view_config_response_data.rb +11 -0
  620. data/lib/schematic/types/data_event_payload.rb +12 -0
  621. data/lib/schematic/types/data_export_output_file_type.rb +23 -0
  622. data/lib/schematic/types/data_export_response_data.rb +17 -0
  623. data/lib/schematic/types/data_export_status.rb +13 -0
  624. data/lib/schematic/types/data_export_type.rb +23 -0
  625. data/lib/schematic/types/datastream_company_plan.rb +11 -0
  626. data/lib/schematic/types/delete_billing_plan_credit_grant_request_body.rb +9 -0
  627. data/lib/schematic/types/delete_response.rb +9 -0
  628. data/lib/schematic/types/duplicate_plan_entitlements_response_response_data.rb +10 -0
  629. data/lib/schematic/types/entitlement_currency_prices_response_data.rb +11 -0
  630. data/lib/schematic/types/entitlement_price_behavior.rb +15 -0
  631. data/lib/schematic/types/entitlement_trigger_config.rb +9 -0
  632. data/lib/schematic/types/entitlement_type.rb +13 -0
  633. data/lib/schematic/types/entitlement_value_type.rb +16 -0
  634. data/lib/schematic/types/entitlements_in_plan.rb +10 -0
  635. data/lib/schematic/types/entity_key_definition_response_data.rb +13 -0
  636. data/lib/schematic/types/entity_key_detail_response_data.rb +18 -0
  637. data/lib/schematic/types/entity_key_response_data.rb +17 -0
  638. data/lib/schematic/types/entity_trait_definition_response_data.rb +15 -0
  639. data/lib/schematic/types/entity_trait_detail_response_data.rb +15 -0
  640. data/lib/schematic/types/entity_trait_response_data.rb +14 -0
  641. data/lib/schematic/types/entity_trait_value.rb +10 -0
  642. data/lib/schematic/types/entity_type.rb +12 -0
  643. data/lib/schematic/types/environment_detail_response_data.rb +14 -0
  644. data/lib/schematic/types/environment_response_data.rb +13 -0
  645. data/lib/schematic/types/environment_type.rb +13 -0
  646. data/lib/schematic/types/event_body.rb +13 -0
  647. data/lib/schematic/types/event_body_flag_check.rb +18 -0
  648. data/lib/schematic/types/event_body_identify.rb +12 -0
  649. data/lib/schematic/types/event_body_identify_company.rb +12 -0
  650. data/lib/schematic/types/event_body_track.rb +13 -0
  651. data/lib/schematic/types/event_detail_response_data.rb +30 -0
  652. data/lib/schematic/types/event_response_data.rb +27 -0
  653. data/lib/schematic/types/event_status.rb +15 -0
  654. data/lib/schematic/types/event_summary_response_data.rb +14 -0
  655. data/lib/schematic/types/event_type.rb +13 -0
  656. data/lib/schematic/types/feature_company_response_data.rb +44 -0
  657. data/lib/schematic/types/feature_company_user_response_data.rb +21 -0
  658. data/lib/schematic/types/feature_detail_response_data.rb +25 -0
  659. data/lib/schematic/types/feature_entitlement.rb +22 -0
  660. data/lib/schematic/types/feature_entitlement_metric_period.rb +14 -0
  661. data/lib/schematic/types/feature_entitlement_month_reset.rb +12 -0
  662. data/lib/schematic/types/feature_ledger_response_data.rb +12 -0
  663. data/lib/schematic/types/feature_lifecycle_phase.rb +19 -0
  664. data/lib/schematic/types/feature_response_data.rb +21 -0
  665. data/lib/schematic/types/feature_type.rb +13 -0
  666. data/lib/schematic/types/feature_usage_detail_response_data.rb +9 -0
  667. data/lib/schematic/types/feature_usage_legacy_response_data.rb +14 -0
  668. data/lib/schematic/types/feature_usage_response_data.rb +42 -0
  669. data/lib/schematic/types/feature_usage_time_series_response_data.rb +13 -0
  670. data/lib/schematic/types/feature_view.rb +26 -0
  671. data/lib/schematic/types/flag_detail_response_data.rb +21 -0
  672. data/lib/schematic/types/flag_response_data.rb +18 -0
  673. data/lib/schematic/types/flag_type.rb +23 -0
  674. data/lib/schematic/types/flag_view.rb +22 -0
  675. data/lib/schematic/types/generic_preview_object.rb +12 -0
  676. data/lib/schematic/types/invoice_request_body.rb +20 -0
  677. data/lib/schematic/types/invoice_response_data.rb +27 -0
  678. data/lib/schematic/types/invoice_status.rb +15 -0
  679. data/lib/schematic/types/issue_temporary_access_token_response_data.rb +16 -0
  680. data/lib/schematic/types/keys_request_body.rb +9 -0
  681. data/lib/schematic/types/limit_time_series_point_response_data.rb +14 -0
  682. data/lib/schematic/types/manage_plan_preview_response_response_data.rb +9 -0
  683. data/lib/schematic/types/manage_plan_request.rb +21 -0
  684. data/lib/schematic/types/manage_plan_response_response_data.rb +10 -0
  685. data/lib/schematic/types/meter_request_body.rb +11 -0
  686. data/lib/schematic/types/ordered_plans_in_group.rb +10 -0
  687. data/lib/schematic/types/payment_method_request_body.rb +19 -0
  688. data/lib/schematic/types/payment_method_response_data.rb +26 -0
  689. data/lib/schematic/types/plan_bundle_action.rb +13 -0
  690. data/lib/schematic/types/plan_bundle_credit_grant_request_body.rb +13 -0
  691. data/lib/schematic/types/plan_bundle_entitlement_request_body.rb +11 -0
  692. data/lib/schematic/types/plan_bundle_response_data.rb +13 -0
  693. data/lib/schematic/types/plan_change_action.rb +21 -0
  694. data/lib/schematic/types/plan_change_base_plan_action.rb +14 -0
  695. data/lib/schematic/types/plan_change_response_data.rb +30 -0
  696. data/lib/schematic/types/plan_change_subscription_action.rb +17 -0
  697. data/lib/schematic/types/plan_controlled_by_type.rb +12 -0
  698. data/lib/schematic/types/plan_credit_grant_view.rb +35 -0
  699. data/lib/schematic/types/plan_currency_price_request_body.rb +12 -0
  700. data/lib/schematic/types/plan_currency_prices_response_data.rb +12 -0
  701. data/lib/schematic/types/plan_detail_response_data.rb +33 -0
  702. data/lib/schematic/types/plan_entitlement_response_data.rb +34 -0
  703. data/lib/schematic/types/plan_entitlements_order.rb +10 -0
  704. data/lib/schematic/types/plan_group_bundle_order.rb +9 -0
  705. data/lib/schematic/types/plan_group_detail_response_data.rb +45 -0
  706. data/lib/schematic/types/plan_group_plan_detail_response_data.rb +37 -0
  707. data/lib/schematic/types/plan_group_plan_entitlements_order.rb +10 -0
  708. data/lib/schematic/types/plan_group_response_data.rb +36 -0
  709. data/lib/schematic/types/plan_issue_response_data.rb +12 -0
  710. data/lib/schematic/types/plan_response_data.rb +16 -0
  711. data/lib/schematic/types/plan_selection.rb +11 -0
  712. data/lib/schematic/types/plan_snapshot_view.rb +13 -0
  713. data/lib/schematic/types/plan_trait_response_data.rb +17 -0
  714. data/lib/schematic/types/plan_type.rb +12 -0
  715. data/lib/schematic/types/plan_version_company_migration_response_data.rb +19 -0
  716. data/lib/schematic/types/plan_version_company_migration_status.rb +15 -0
  717. data/lib/schematic/types/plan_version_migration_response_data.rb +23 -0
  718. data/lib/schematic/types/plan_version_migration_status.rb +14 -0
  719. data/lib/schematic/types/plan_version_migration_strategy.rb +12 -0
  720. data/lib/schematic/types/plan_version_response_data.rb +19 -0
  721. data/lib/schematic/types/plan_version_snapshot_view.rb +11 -0
  722. data/lib/schematic/types/plan_version_status.rb +13 -0
  723. data/lib/schematic/types/plan_view_public_response_data.rb +38 -0
  724. data/lib/schematic/types/preview_object.rb +12 -0
  725. data/lib/schematic/types/preview_object_response_data.rb +12 -0
  726. data/lib/schematic/types/preview_subscription_change_response_data.rb +21 -0
  727. data/lib/schematic/types/preview_subscription_finance_response_data.rb +21 -0
  728. data/lib/schematic/types/preview_subscription_upcoming_invoice_line_items.rb +13 -0
  729. data/lib/schematic/types/proration_behavior.rb +12 -0
  730. data/lib/schematic/types/public_plans_response_data.rb +17 -0
  731. data/lib/schematic/types/quickstart_resp.rb +9 -0
  732. data/lib/schematic/types/raw_event_batch_response_data.rb +9 -0
  733. data/lib/schematic/types/raw_event_response_data.rb +13 -0
  734. data/lib/schematic/types/rule.rb +18 -0
  735. data/lib/schematic/types/rule_condition_detail_response_data.rb +29 -0
  736. data/lib/schematic/types/rule_condition_group_detail_response_data.rb +15 -0
  737. data/lib/schematic/types/rule_condition_group_response_data.rb +14 -0
  738. data/lib/schematic/types/rule_condition_response_data.rb +26 -0
  739. data/lib/schematic/types/rule_detail_response_data.rb +19 -0
  740. data/lib/schematic/types/rule_response_data.rb +17 -0
  741. data/lib/schematic/types/rule_rule_type.rb +17 -0
  742. data/lib/schematic/types/rule_view.rb +20 -0
  743. data/lib/schematic/types/rules_detail_response_data.rb +10 -0
  744. data/lib/schematic/types/rules_engine_schema_version.rb +12 -0
  745. data/lib/schematic/types/rulesengine_check_flag_result.rb +23 -0
  746. data/lib/schematic/types/rulesengine_check_flag_result_feature_usage_period.rb +14 -0
  747. data/lib/schematic/types/rulesengine_check_flag_result_rule_type.rb +17 -0
  748. data/lib/schematic/types/rulesengine_company.rb +22 -0
  749. data/lib/schematic/types/rulesengine_company_metric.rb +17 -0
  750. data/lib/schematic/types/rulesengine_company_metric_month_reset.rb +12 -0
  751. data/lib/schematic/types/rulesengine_company_metric_period.rb +14 -0
  752. data/lib/schematic/types/rulesengine_condition.rb +23 -0
  753. data/lib/schematic/types/rulesengine_condition_condition_type.rb +19 -0
  754. data/lib/schematic/types/rulesengine_condition_group.rb +9 -0
  755. data/lib/schematic/types/rulesengine_condition_metric_period.rb +14 -0
  756. data/lib/schematic/types/rulesengine_condition_metric_period_month_reset.rb +12 -0
  757. data/lib/schematic/types/rulesengine_condition_operator.rb +18 -0
  758. data/lib/schematic/types/rulesengine_entitlement_value_type.rb +16 -0
  759. data/lib/schematic/types/rulesengine_entity_type.rb +12 -0
  760. data/lib/schematic/types/rulesengine_feature_entitlement.rb +22 -0
  761. data/lib/schematic/types/rulesengine_feature_entitlement_metric_period.rb +14 -0
  762. data/lib/schematic/types/rulesengine_feature_entitlement_month_reset.rb +12 -0
  763. data/lib/schematic/types/rulesengine_flag.rb +14 -0
  764. data/lib/schematic/types/rulesengine_rule.rb +18 -0
  765. data/lib/schematic/types/rulesengine_rule_rule_type.rb +17 -0
  766. data/lib/schematic/types/rulesengine_subscription.rb +11 -0
  767. data/lib/schematic/types/rulesengine_trait.rb +10 -0
  768. data/lib/schematic/types/rulesengine_trait_definition.rb +11 -0
  769. data/lib/schematic/types/rulesengine_trait_definition_comparable_type.rb +14 -0
  770. data/lib/schematic/types/rulesengine_user.rb +14 -0
  771. data/lib/schematic/types/scheduled_checkout_response_data.rb +22 -0
  772. data/lib/schematic/types/scheduled_checkout_status.rb +15 -0
  773. data/lib/schematic/types/scheduled_downgrade_config_behavior.rb +12 -0
  774. data/lib/schematic/types/scheduled_downgrade_response_data.rb +19 -0
  775. data/lib/schematic/types/segment_status_resp.rb +11 -0
  776. data/lib/schematic/types/skipped_entitlement_error_response_data.rb +9 -0
  777. data/lib/schematic/types/skipped_entitlement_response_data.rb +12 -0
  778. data/lib/schematic/types/sort_direction.rb +12 -0
  779. data/lib/schematic/types/stripe_embed_info.rb +12 -0
  780. data/lib/schematic/types/subscription_status.rb +19 -0
  781. data/lib/schematic/types/subscription_trait_update.rb +15 -0
  782. data/lib/schematic/types/subscription_type.rb +14 -0
  783. data/lib/schematic/types/temporary_access_token_resource_type.rb +23 -0
  784. data/lib/schematic/types/temporary_access_token_response_data.rb +15 -0
  785. data/lib/schematic/types/time_series_granularity.rb +14 -0
  786. data/lib/schematic/types/trait_definition.rb +11 -0
  787. data/lib/schematic/types/trait_definition_comparable_type.rb +14 -0
  788. data/lib/schematic/types/trait_type.rb +16 -0
  789. data/lib/schematic/types/update_add_on_request_body.rb +10 -0
  790. data/lib/schematic/types/update_billing_plan_credit_grant_request_body.rb +23 -0
  791. data/lib/schematic/types/update_credit_bundle_request_body.rb +10 -0
  792. data/lib/schematic/types/update_entitlement_req_common.rb +16 -0
  793. data/lib/schematic/types/update_entitlement_req_common_metric_period.rb +14 -0
  794. data/lib/schematic/types/update_entitlement_req_common_metric_period_month_reset.rb +12 -0
  795. data/lib/schematic/types/update_pay_in_advance_request_body.rb +10 -0
  796. data/lib/schematic/types/update_plan_request_body.rb +11 -0
  797. data/lib/schematic/types/update_plan_trait_trait_request_body.rb +10 -0
  798. data/lib/schematic/types/update_rule_request_body.rb +13 -0
  799. data/lib/schematic/types/upsert_billing_product_request_body.rb +20 -0
  800. data/lib/schematic/types/upsert_company_request_body.rb +15 -0
  801. data/lib/schematic/types/upsert_trait_request_body.rb +13 -0
  802. data/lib/schematic/types/upsert_user_request_body.rb +18 -0
  803. data/lib/schematic/types/upsert_user_sub_request_body.rb +16 -0
  804. data/lib/schematic/types/usage_based_entitlement_request_body.rb +25 -0
  805. data/lib/schematic/types/usage_based_entitlement_response_data.rb +20 -0
  806. data/lib/schematic/types/usage_time_series_point_response_data.rb +12 -0
  807. data/lib/schematic/types/user_detail_response_data.rb +18 -0
  808. data/lib/schematic/types/user_response_data.rb +14 -0
  809. data/lib/schematic/types/web_feature_usage_webhook_output.rb +15 -0
  810. data/lib/schematic/types/web_scheduled_downgrade_webhook_output.rb +15 -0
  811. data/lib/schematic/types/webhook_event_detail_response_data.rb +18 -0
  812. data/lib/schematic/types/webhook_event_response_data.rb +17 -0
  813. data/lib/schematic/types/webhook_event_status.rb +13 -0
  814. data/lib/schematic/types/webhook_request_type.rb +49 -0
  815. data/lib/schematic/types/webhook_response_data.rb +18 -0
  816. data/lib/schematic/types/webhook_status.rb +12 -0
  817. data/lib/schematic/types/who_am_i_response_data.rb +17 -0
  818. data/lib/schematic/version.rb +5 -0
  819. data/lib/schematic/wasm/rulesengine.wasm +0 -0
  820. data/lib/schematic/webhook_verification.rb +83 -0
  821. data/lib/schematic/webhooks/client.rb +355 -0
  822. data/lib/schematic/webhooks/types/count_webhook_events_params.rb +16 -0
  823. data/lib/schematic/webhooks/types/count_webhook_events_request.rb +15 -0
  824. data/lib/schematic/webhooks/types/count_webhook_events_response.rb +12 -0
  825. data/lib/schematic/webhooks/types/count_webhooks_params.rb +14 -0
  826. data/lib/schematic/webhooks/types/count_webhooks_request.rb +13 -0
  827. data/lib/schematic/webhooks/types/count_webhooks_response.rb +12 -0
  828. data/lib/schematic/webhooks/types/create_webhook_request_body.rb +15 -0
  829. data/lib/schematic/webhooks/types/create_webhook_response.rb +12 -0
  830. data/lib/schematic/webhooks/types/delete_webhook_response.rb +12 -0
  831. data/lib/schematic/webhooks/types/get_webhook_event_response.rb +12 -0
  832. data/lib/schematic/webhooks/types/get_webhook_response.rb +12 -0
  833. data/lib/schematic/webhooks/types/list_webhook_events_params.rb +16 -0
  834. data/lib/schematic/webhooks/types/list_webhook_events_request.rb +15 -0
  835. data/lib/schematic/webhooks/types/list_webhook_events_response.rb +12 -0
  836. data/lib/schematic/webhooks/types/list_webhooks_params.rb +14 -0
  837. data/lib/schematic/webhooks/types/list_webhooks_request.rb +13 -0
  838. data/lib/schematic/webhooks/types/list_webhooks_response.rb +12 -0
  839. data/lib/schematic/webhooks/types/update_webhook_request_body.rb +17 -0
  840. data/lib/schematic/webhooks/types/update_webhook_response.rb +12 -0
  841. data/lib/schematic.rb +821 -0
  842. data/lib/schematichq.rb +17 -0
  843. data/reference.md +16668 -0
  844. data/scripts/download-wasm.sh +82 -0
  845. data/scripts/webhook_test_server.rb +55 -0
  846. data/testapp/Gemfile +6 -0
  847. data/testapp/app.rb +307 -0
  848. metadata +917 -0
@@ -0,0 +1,1157 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Credits
5
+ class Client
6
+ # @param client [Schematic::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
9
+ def initialize(client:)
10
+ @client = client
11
+ end
12
+
13
+ # @param request_options [Hash]
14
+ # @param params [Hash]
15
+ # @option request_options [String] :base_url
16
+ # @option request_options [Hash{String => Object}] :additional_headers
17
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
18
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
19
+ # @option request_options [Integer] :timeout_in_seconds
20
+ # @option params [String, nil] :ids
21
+ # @option params [String, nil] :name
22
+ # @option params [Integer, nil] :limit
23
+ # @option params [Integer, nil] :offset
24
+ #
25
+ # @return [Schematic::Credits::Types::ListBillingCreditsResponse]
26
+ def list_billing_credits(request_options: {}, **params)
27
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
28
+ query_param_names = %i[ids name limit offset]
29
+ query_params = {}
30
+ query_params["ids"] = params[:ids] if params.key?(:ids)
31
+ query_params["name"] = params[:name] if params.key?(:name)
32
+ query_params["limit"] = params[:limit] if params.key?(:limit)
33
+ query_params["offset"] = params[:offset] if params.key?(:offset)
34
+ params.except(*query_param_names)
35
+
36
+ request = Schematic::Internal::JSON::Request.new(
37
+ base_url: request_options[:base_url],
38
+ method: "GET",
39
+ path: "billing/credits",
40
+ query: query_params,
41
+ request_options: request_options
42
+ )
43
+ begin
44
+ response = @client.send(request)
45
+ rescue Net::HTTPRequestTimeout
46
+ raise Schematic::Errors::TimeoutError
47
+ end
48
+ code = response.code.to_i
49
+ if code.between?(200, 299)
50
+ Schematic::Credits::Types::ListBillingCreditsResponse.load(response.body)
51
+ else
52
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
53
+ raise error_class.new(response.body, code: code)
54
+ end
55
+ end
56
+
57
+ # @param request_options [Hash]
58
+ # @param params [Schematic::Credits::Types::CreateBillingCreditRequestBody]
59
+ # @option request_options [String] :base_url
60
+ # @option request_options [Hash{String => Object}] :additional_headers
61
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
62
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
63
+ # @option request_options [Integer] :timeout_in_seconds
64
+ #
65
+ # @return [Schematic::Credits::Types::CreateBillingCreditResponse]
66
+ def create_billing_credit(request_options: {}, **params)
67
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
68
+ request = Schematic::Internal::JSON::Request.new(
69
+ base_url: request_options[:base_url],
70
+ method: "POST",
71
+ path: "billing/credits",
72
+ body: Schematic::Credits::Types::CreateBillingCreditRequestBody.new(params).to_h,
73
+ request_options: request_options
74
+ )
75
+ begin
76
+ response = @client.send(request)
77
+ rescue Net::HTTPRequestTimeout
78
+ raise Schematic::Errors::TimeoutError
79
+ end
80
+ code = response.code.to_i
81
+ if code.between?(200, 299)
82
+ Schematic::Credits::Types::CreateBillingCreditResponse.load(response.body)
83
+ else
84
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
85
+ raise error_class.new(response.body, code: code)
86
+ end
87
+ end
88
+
89
+ # @param request_options [Hash]
90
+ # @param params [Hash]
91
+ # @option request_options [String] :base_url
92
+ # @option request_options [Hash{String => Object}] :additional_headers
93
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
94
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
95
+ # @option request_options [Integer] :timeout_in_seconds
96
+ # @option params [String] :credit_id
97
+ #
98
+ # @return [Schematic::Credits::Types::GetSingleBillingCreditResponse]
99
+ def get_single_billing_credit(request_options: {}, **params)
100
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
101
+ request = Schematic::Internal::JSON::Request.new(
102
+ base_url: request_options[:base_url],
103
+ method: "GET",
104
+ path: "billing/credits/#{URI.encode_uri_component(params[:credit_id].to_s)}",
105
+ request_options: request_options
106
+ )
107
+ begin
108
+ response = @client.send(request)
109
+ rescue Net::HTTPRequestTimeout
110
+ raise Schematic::Errors::TimeoutError
111
+ end
112
+ code = response.code.to_i
113
+ if code.between?(200, 299)
114
+ Schematic::Credits::Types::GetSingleBillingCreditResponse.load(response.body)
115
+ else
116
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
117
+ raise error_class.new(response.body, code: code)
118
+ end
119
+ end
120
+
121
+ # @param request_options [Hash]
122
+ # @param params [Schematic::Credits::Types::UpdateBillingCreditRequestBody]
123
+ # @option request_options [String] :base_url
124
+ # @option request_options [Hash{String => Object}] :additional_headers
125
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
126
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
127
+ # @option request_options [Integer] :timeout_in_seconds
128
+ # @option params [String] :credit_id
129
+ #
130
+ # @return [Schematic::Credits::Types::UpdateBillingCreditResponse]
131
+ def update_billing_credit(request_options: {}, **params)
132
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
133
+ request_data = Schematic::Credits::Types::UpdateBillingCreditRequestBody.new(params).to_h
134
+ non_body_param_names = ["credit_id"]
135
+ body = request_data.except(*non_body_param_names)
136
+
137
+ request = Schematic::Internal::JSON::Request.new(
138
+ base_url: request_options[:base_url],
139
+ method: "PUT",
140
+ path: "billing/credits/#{URI.encode_uri_component(params[:credit_id].to_s)}",
141
+ body: body,
142
+ request_options: request_options
143
+ )
144
+ begin
145
+ response = @client.send(request)
146
+ rescue Net::HTTPRequestTimeout
147
+ raise Schematic::Errors::TimeoutError
148
+ end
149
+ code = response.code.to_i
150
+ if code.between?(200, 299)
151
+ Schematic::Credits::Types::UpdateBillingCreditResponse.load(response.body)
152
+ else
153
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
154
+ raise error_class.new(response.body, code: code)
155
+ end
156
+ end
157
+
158
+ # @param request_options [Hash]
159
+ # @param params [Hash]
160
+ # @option request_options [String] :base_url
161
+ # @option request_options [Hash{String => Object}] :additional_headers
162
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
163
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
164
+ # @option request_options [Integer] :timeout_in_seconds
165
+ # @option params [String] :credit_id
166
+ #
167
+ # @return [Schematic::Credits::Types::SoftDeleteBillingCreditResponse]
168
+ def soft_delete_billing_credit(request_options: {}, **params)
169
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
170
+ request = Schematic::Internal::JSON::Request.new(
171
+ base_url: request_options[:base_url],
172
+ method: "DELETE",
173
+ path: "billing/credits/#{URI.encode_uri_component(params[:credit_id].to_s)}",
174
+ request_options: request_options
175
+ )
176
+ begin
177
+ response = @client.send(request)
178
+ rescue Net::HTTPRequestTimeout
179
+ raise Schematic::Errors::TimeoutError
180
+ end
181
+ code = response.code.to_i
182
+ if code.between?(200, 299)
183
+ Schematic::Credits::Types::SoftDeleteBillingCreditResponse.load(response.body)
184
+ else
185
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
186
+ raise error_class.new(response.body, code: code)
187
+ end
188
+ end
189
+
190
+ # @param request_options [Hash]
191
+ # @param params [Hash]
192
+ # @option request_options [String] :base_url
193
+ # @option request_options [Hash{String => Object}] :additional_headers
194
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
195
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
196
+ # @option request_options [Integer] :timeout_in_seconds
197
+ # @option params [String, nil] :ids
198
+ # @option params [String, nil] :credit_id
199
+ # @option params [Schematic::Types::BillingCreditBundleStatus, nil] :status
200
+ # @option params [String, nil] :bundle_type
201
+ # @option params [Integer, nil] :limit
202
+ # @option params [Integer, nil] :offset
203
+ #
204
+ # @return [Schematic::Credits::Types::ListCreditBundlesResponse]
205
+ def list_credit_bundles(request_options: {}, **params)
206
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
207
+ query_param_names = %i[ids credit_id status bundle_type limit offset]
208
+ query_params = {}
209
+ query_params["ids"] = params[:ids] if params.key?(:ids)
210
+ query_params["credit_id"] = params[:credit_id] if params.key?(:credit_id)
211
+ query_params["status"] = params[:status] if params.key?(:status)
212
+ query_params["bundle_type"] = params[:bundle_type] if params.key?(:bundle_type)
213
+ query_params["limit"] = params[:limit] if params.key?(:limit)
214
+ query_params["offset"] = params[:offset] if params.key?(:offset)
215
+ params.except(*query_param_names)
216
+
217
+ request = Schematic::Internal::JSON::Request.new(
218
+ base_url: request_options[:base_url],
219
+ method: "GET",
220
+ path: "billing/credits/bundles",
221
+ query: query_params,
222
+ request_options: request_options
223
+ )
224
+ begin
225
+ response = @client.send(request)
226
+ rescue Net::HTTPRequestTimeout
227
+ raise Schematic::Errors::TimeoutError
228
+ end
229
+ code = response.code.to_i
230
+ if code.between?(200, 299)
231
+ Schematic::Credits::Types::ListCreditBundlesResponse.load(response.body)
232
+ else
233
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
234
+ raise error_class.new(response.body, code: code)
235
+ end
236
+ end
237
+
238
+ # @param request_options [Hash]
239
+ # @param params [Schematic::Credits::Types::CreateCreditBundleRequestBody]
240
+ # @option request_options [String] :base_url
241
+ # @option request_options [Hash{String => Object}] :additional_headers
242
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
243
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
244
+ # @option request_options [Integer] :timeout_in_seconds
245
+ #
246
+ # @return [Schematic::Credits::Types::CreateCreditBundleResponse]
247
+ def create_credit_bundle(request_options: {}, **params)
248
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
249
+ request = Schematic::Internal::JSON::Request.new(
250
+ base_url: request_options[:base_url],
251
+ method: "POST",
252
+ path: "billing/credits/bundles",
253
+ body: Schematic::Credits::Types::CreateCreditBundleRequestBody.new(params).to_h,
254
+ request_options: request_options
255
+ )
256
+ begin
257
+ response = @client.send(request)
258
+ rescue Net::HTTPRequestTimeout
259
+ raise Schematic::Errors::TimeoutError
260
+ end
261
+ code = response.code.to_i
262
+ if code.between?(200, 299)
263
+ Schematic::Credits::Types::CreateCreditBundleResponse.load(response.body)
264
+ else
265
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
266
+ raise error_class.new(response.body, code: code)
267
+ end
268
+ end
269
+
270
+ # @param request_options [Hash]
271
+ # @param params [Hash]
272
+ # @option request_options [String] :base_url
273
+ # @option request_options [Hash{String => Object}] :additional_headers
274
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
275
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
276
+ # @option request_options [Integer] :timeout_in_seconds
277
+ # @option params [String] :bundle_id
278
+ #
279
+ # @return [Schematic::Credits::Types::GetCreditBundleResponse]
280
+ def get_credit_bundle(request_options: {}, **params)
281
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
282
+ request = Schematic::Internal::JSON::Request.new(
283
+ base_url: request_options[:base_url],
284
+ method: "GET",
285
+ path: "billing/credits/bundles/#{URI.encode_uri_component(params[:bundle_id].to_s)}",
286
+ request_options: request_options
287
+ )
288
+ begin
289
+ response = @client.send(request)
290
+ rescue Net::HTTPRequestTimeout
291
+ raise Schematic::Errors::TimeoutError
292
+ end
293
+ code = response.code.to_i
294
+ if code.between?(200, 299)
295
+ Schematic::Credits::Types::GetCreditBundleResponse.load(response.body)
296
+ else
297
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
298
+ raise error_class.new(response.body, code: code)
299
+ end
300
+ end
301
+
302
+ # @param request_options [Hash]
303
+ # @param params [Schematic::Credits::Types::UpdateCreditBundleDetailsRequestBody]
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] :bundle_id
310
+ #
311
+ # @return [Schematic::Credits::Types::UpdateCreditBundleDetailsResponse]
312
+ def update_credit_bundle_details(request_options: {}, **params)
313
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
314
+ request_data = Schematic::Credits::Types::UpdateCreditBundleDetailsRequestBody.new(params).to_h
315
+ non_body_param_names = ["bundle_id"]
316
+ body = request_data.except(*non_body_param_names)
317
+
318
+ request = Schematic::Internal::JSON::Request.new(
319
+ base_url: request_options[:base_url],
320
+ method: "PUT",
321
+ path: "billing/credits/bundles/#{URI.encode_uri_component(params[:bundle_id].to_s)}",
322
+ body: body,
323
+ request_options: request_options
324
+ )
325
+ begin
326
+ response = @client.send(request)
327
+ rescue Net::HTTPRequestTimeout
328
+ raise Schematic::Errors::TimeoutError
329
+ end
330
+ code = response.code.to_i
331
+ if code.between?(200, 299)
332
+ Schematic::Credits::Types::UpdateCreditBundleDetailsResponse.load(response.body)
333
+ else
334
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
335
+ raise error_class.new(response.body, code: code)
336
+ end
337
+ end
338
+
339
+ # @param request_options [Hash]
340
+ # @param params [Hash]
341
+ # @option request_options [String] :base_url
342
+ # @option request_options [Hash{String => Object}] :additional_headers
343
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
344
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
345
+ # @option request_options [Integer] :timeout_in_seconds
346
+ # @option params [String] :bundle_id
347
+ #
348
+ # @return [Schematic::Credits::Types::DeleteCreditBundleResponse]
349
+ def delete_credit_bundle(request_options: {}, **params)
350
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
351
+ request = Schematic::Internal::JSON::Request.new(
352
+ base_url: request_options[:base_url],
353
+ method: "DELETE",
354
+ path: "billing/credits/bundles/#{URI.encode_uri_component(params[:bundle_id].to_s)}",
355
+ request_options: request_options
356
+ )
357
+ begin
358
+ response = @client.send(request)
359
+ rescue Net::HTTPRequestTimeout
360
+ raise Schematic::Errors::TimeoutError
361
+ end
362
+ code = response.code.to_i
363
+ if code.between?(200, 299)
364
+ Schematic::Credits::Types::DeleteCreditBundleResponse.load(response.body)
365
+ else
366
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
367
+ raise error_class.new(response.body, code: code)
368
+ end
369
+ end
370
+
371
+ # @param request_options [Hash]
372
+ # @param params [Hash]
373
+ # @option request_options [String] :base_url
374
+ # @option request_options [Hash{String => Object}] :additional_headers
375
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
376
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
377
+ # @option request_options [Integer] :timeout_in_seconds
378
+ # @option params [String, nil] :ids
379
+ # @option params [String, nil] :credit_id
380
+ # @option params [Schematic::Types::BillingCreditBundleStatus, nil] :status
381
+ # @option params [String, nil] :bundle_type
382
+ # @option params [Integer, nil] :limit
383
+ # @option params [Integer, nil] :offset
384
+ #
385
+ # @return [Schematic::Credits::Types::CountCreditBundlesResponse]
386
+ def count_credit_bundles(request_options: {}, **params)
387
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
388
+ query_param_names = %i[ids credit_id status bundle_type limit offset]
389
+ query_params = {}
390
+ query_params["ids"] = params[:ids] if params.key?(:ids)
391
+ query_params["credit_id"] = params[:credit_id] if params.key?(:credit_id)
392
+ query_params["status"] = params[:status] if params.key?(:status)
393
+ query_params["bundle_type"] = params[:bundle_type] if params.key?(:bundle_type)
394
+ query_params["limit"] = params[:limit] if params.key?(:limit)
395
+ query_params["offset"] = params[:offset] if params.key?(:offset)
396
+ params.except(*query_param_names)
397
+
398
+ request = Schematic::Internal::JSON::Request.new(
399
+ base_url: request_options[:base_url],
400
+ method: "GET",
401
+ path: "billing/credits/bundles/count",
402
+ query: query_params,
403
+ request_options: request_options
404
+ )
405
+ begin
406
+ response = @client.send(request)
407
+ rescue Net::HTTPRequestTimeout
408
+ raise Schematic::Errors::TimeoutError
409
+ end
410
+ code = response.code.to_i
411
+ if code.between?(200, 299)
412
+ Schematic::Credits::Types::CountCreditBundlesResponse.load(response.body)
413
+ else
414
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
415
+ raise error_class.new(response.body, code: code)
416
+ end
417
+ end
418
+
419
+ # @param request_options [Hash]
420
+ # @param params [Hash]
421
+ # @option request_options [String] :base_url
422
+ # @option request_options [Hash{String => Object}] :additional_headers
423
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
424
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
425
+ # @option request_options [Integer] :timeout_in_seconds
426
+ # @option params [String, nil] :ids
427
+ # @option params [String, nil] :name
428
+ # @option params [Integer, nil] :limit
429
+ # @option params [Integer, nil] :offset
430
+ #
431
+ # @return [Schematic::Credits::Types::CountBillingCreditsResponse]
432
+ def count_billing_credits(request_options: {}, **params)
433
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
434
+ query_param_names = %i[ids name limit offset]
435
+ query_params = {}
436
+ query_params["ids"] = params[:ids] if params.key?(:ids)
437
+ query_params["name"] = params[:name] if params.key?(:name)
438
+ query_params["limit"] = params[:limit] if params.key?(:limit)
439
+ query_params["offset"] = params[:offset] if params.key?(:offset)
440
+ params.except(*query_param_names)
441
+
442
+ request = Schematic::Internal::JSON::Request.new(
443
+ base_url: request_options[:base_url],
444
+ method: "GET",
445
+ path: "billing/credits/count",
446
+ query: query_params,
447
+ request_options: request_options
448
+ )
449
+ begin
450
+ response = @client.send(request)
451
+ rescue Net::HTTPRequestTimeout
452
+ raise Schematic::Errors::TimeoutError
453
+ end
454
+ code = response.code.to_i
455
+ if code.between?(200, 299)
456
+ Schematic::Credits::Types::CountBillingCreditsResponse.load(response.body)
457
+ else
458
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
459
+ raise error_class.new(response.body, code: code)
460
+ end
461
+ end
462
+
463
+ # @param request_options [Hash]
464
+ # @param params [Schematic::Credits::Types::ZeroOutGrantRequestBody]
465
+ # @option request_options [String] :base_url
466
+ # @option request_options [Hash{String => Object}] :additional_headers
467
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
468
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
469
+ # @option request_options [Integer] :timeout_in_seconds
470
+ # @option params [String] :grant_id
471
+ #
472
+ # @return [Schematic::Credits::Types::ZeroOutGrantResponse]
473
+ def zero_out_grant(request_options: {}, **params)
474
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
475
+ request_data = Schematic::Credits::Types::ZeroOutGrantRequestBody.new(params).to_h
476
+ non_body_param_names = ["grant_id"]
477
+ body = request_data.except(*non_body_param_names)
478
+
479
+ request = Schematic::Internal::JSON::Request.new(
480
+ base_url: request_options[:base_url],
481
+ method: "PUT",
482
+ path: "billing/credits/grants/#{URI.encode_uri_component(params[:grant_id].to_s)}/zero-out",
483
+ body: body,
484
+ request_options: request_options
485
+ )
486
+ begin
487
+ response = @client.send(request)
488
+ rescue Net::HTTPRequestTimeout
489
+ raise Schematic::Errors::TimeoutError
490
+ end
491
+ code = response.code.to_i
492
+ if code.between?(200, 299)
493
+ Schematic::Credits::Types::ZeroOutGrantResponse.load(response.body)
494
+ else
495
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
496
+ raise error_class.new(response.body, code: code)
497
+ end
498
+ end
499
+
500
+ # @param request_options [Hash]
501
+ # @param params [Schematic::Credits::Types::CreateCompanyCreditGrant]
502
+ # @option request_options [String] :base_url
503
+ # @option request_options [Hash{String => Object}] :additional_headers
504
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
505
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
506
+ # @option request_options [Integer] :timeout_in_seconds
507
+ #
508
+ # @return [Schematic::Credits::Types::GrantBillingCreditsToCompanyResponse]
509
+ def grant_billing_credits_to_company(request_options: {}, **params)
510
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
511
+ request = Schematic::Internal::JSON::Request.new(
512
+ base_url: request_options[:base_url],
513
+ method: "POST",
514
+ path: "billing/credits/grants/company",
515
+ body: Schematic::Credits::Types::CreateCompanyCreditGrant.new(params).to_h,
516
+ request_options: request_options
517
+ )
518
+ begin
519
+ response = @client.send(request)
520
+ rescue Net::HTTPRequestTimeout
521
+ raise Schematic::Errors::TimeoutError
522
+ end
523
+ code = response.code.to_i
524
+ if code.between?(200, 299)
525
+ Schematic::Credits::Types::GrantBillingCreditsToCompanyResponse.load(response.body)
526
+ else
527
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
528
+ raise error_class.new(response.body, code: code)
529
+ end
530
+ end
531
+
532
+ # @param request_options [Hash]
533
+ # @param params [Hash]
534
+ # @option request_options [String] :base_url
535
+ # @option request_options [Hash{String => Object}] :additional_headers
536
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
537
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
538
+ # @option request_options [Integer] :timeout_in_seconds
539
+ # @option params [String, nil] :company_id
540
+ # @option params [Schematic::Types::CreditGrantSortOrder, nil] :order
541
+ # @option params [Schematic::Types::SortDirection, nil] :dir
542
+ # @option params [Integer, nil] :limit
543
+ # @option params [Integer, nil] :offset
544
+ #
545
+ # @return [Schematic::Credits::Types::CountCompanyGrantsResponse]
546
+ def count_company_grants(request_options: {}, **params)
547
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
548
+ query_param_names = %i[company_id order dir limit offset]
549
+ query_params = {}
550
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
551
+ query_params["order"] = params[:order] if params.key?(:order)
552
+ query_params["dir"] = params[:dir] if params.key?(:dir)
553
+ query_params["limit"] = params[:limit] if params.key?(:limit)
554
+ query_params["offset"] = params[:offset] if params.key?(:offset)
555
+ params.except(*query_param_names)
556
+
557
+ request = Schematic::Internal::JSON::Request.new(
558
+ base_url: request_options[:base_url],
559
+ method: "GET",
560
+ path: "billing/credits/grants/company/count",
561
+ query: query_params,
562
+ request_options: request_options
563
+ )
564
+ begin
565
+ response = @client.send(request)
566
+ rescue Net::HTTPRequestTimeout
567
+ raise Schematic::Errors::TimeoutError
568
+ end
569
+ code = response.code.to_i
570
+ if code.between?(200, 299)
571
+ Schematic::Credits::Types::CountCompanyGrantsResponse.load(response.body)
572
+ else
573
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
574
+ raise error_class.new(response.body, code: code)
575
+ end
576
+ end
577
+
578
+ # @param request_options [Hash]
579
+ # @param params [Hash]
580
+ # @option request_options [String] :base_url
581
+ # @option request_options [Hash{String => Object}] :additional_headers
582
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
583
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
584
+ # @option request_options [Integer] :timeout_in_seconds
585
+ # @option params [String, nil] :company_id
586
+ # @option params [Schematic::Types::CreditGrantSortOrder, nil] :order
587
+ # @option params [Schematic::Types::SortDirection, nil] :dir
588
+ # @option params [Integer, nil] :limit
589
+ # @option params [Integer, nil] :offset
590
+ #
591
+ # @return [Schematic::Credits::Types::ListCompanyGrantsResponse]
592
+ def list_company_grants(request_options: {}, **params)
593
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
594
+ query_param_names = %i[company_id order dir limit offset]
595
+ query_params = {}
596
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
597
+ query_params["order"] = params[:order] if params.key?(:order)
598
+ query_params["dir"] = params[:dir] if params.key?(:dir)
599
+ query_params["limit"] = params[:limit] if params.key?(:limit)
600
+ query_params["offset"] = params[:offset] if params.key?(:offset)
601
+ params.except(*query_param_names)
602
+
603
+ request = Schematic::Internal::JSON::Request.new(
604
+ base_url: request_options[:base_url],
605
+ method: "GET",
606
+ path: "billing/credits/grants/company/list",
607
+ query: query_params,
608
+ request_options: request_options
609
+ )
610
+ begin
611
+ response = @client.send(request)
612
+ rescue Net::HTTPRequestTimeout
613
+ raise Schematic::Errors::TimeoutError
614
+ end
615
+ code = response.code.to_i
616
+ if code.between?(200, 299)
617
+ Schematic::Credits::Types::ListCompanyGrantsResponse.load(response.body)
618
+ else
619
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
620
+ raise error_class.new(response.body, code: code)
621
+ end
622
+ end
623
+
624
+ # @param request_options [Hash]
625
+ # @param params [Hash]
626
+ # @option request_options [String] :base_url
627
+ # @option request_options [Hash{String => Object}] :additional_headers
628
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
629
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
630
+ # @option request_options [Integer] :timeout_in_seconds
631
+ # @option params [String, nil] :credit_id
632
+ # @option params [String, nil] :ids
633
+ # @option params [Integer, nil] :limit
634
+ # @option params [Integer, nil] :offset
635
+ #
636
+ # @return [Schematic::Credits::Types::CountBillingCreditsGrantsResponse]
637
+ def count_billing_credits_grants(request_options: {}, **params)
638
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
639
+ query_param_names = %i[credit_id ids limit offset]
640
+ query_params = {}
641
+ query_params["credit_id"] = params[:credit_id] if params.key?(:credit_id)
642
+ query_params["ids"] = params[:ids] if params.key?(:ids)
643
+ query_params["limit"] = params[:limit] if params.key?(:limit)
644
+ query_params["offset"] = params[:offset] if params.key?(:offset)
645
+ params.except(*query_param_names)
646
+
647
+ request = Schematic::Internal::JSON::Request.new(
648
+ base_url: request_options[:base_url],
649
+ method: "GET",
650
+ path: "billing/credits/grants/count",
651
+ query: query_params,
652
+ request_options: request_options
653
+ )
654
+ begin
655
+ response = @client.send(request)
656
+ rescue Net::HTTPRequestTimeout
657
+ raise Schematic::Errors::TimeoutError
658
+ end
659
+ code = response.code.to_i
660
+ if code.between?(200, 299)
661
+ Schematic::Credits::Types::CountBillingCreditsGrantsResponse.load(response.body)
662
+ else
663
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
664
+ raise error_class.new(response.body, code: code)
665
+ end
666
+ end
667
+
668
+ # @param request_options [Hash]
669
+ # @param params [Hash]
670
+ # @option request_options [String] :base_url
671
+ # @option request_options [Hash{String => Object}] :additional_headers
672
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
673
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
674
+ # @option request_options [Integer] :timeout_in_seconds
675
+ # @option params [String, nil] :credit_id
676
+ # @option params [String, nil] :ids
677
+ # @option params [Integer, nil] :limit
678
+ # @option params [Integer, nil] :offset
679
+ #
680
+ # @return [Schematic::Credits::Types::ListGrantsForCreditResponse]
681
+ def list_grants_for_credit(request_options: {}, **params)
682
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
683
+ query_param_names = %i[credit_id ids limit offset]
684
+ query_params = {}
685
+ query_params["credit_id"] = params[:credit_id] if params.key?(:credit_id)
686
+ query_params["ids"] = params[:ids] if params.key?(:ids)
687
+ query_params["limit"] = params[:limit] if params.key?(:limit)
688
+ query_params["offset"] = params[:offset] if params.key?(:offset)
689
+ params.except(*query_param_names)
690
+
691
+ request = Schematic::Internal::JSON::Request.new(
692
+ base_url: request_options[:base_url],
693
+ method: "GET",
694
+ path: "billing/credits/grants/list",
695
+ query: query_params,
696
+ request_options: request_options
697
+ )
698
+ begin
699
+ response = @client.send(request)
700
+ rescue Net::HTTPRequestTimeout
701
+ raise Schematic::Errors::TimeoutError
702
+ end
703
+ code = response.code.to_i
704
+ if code.between?(200, 299)
705
+ Schematic::Credits::Types::ListGrantsForCreditResponse.load(response.body)
706
+ else
707
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
708
+ raise error_class.new(response.body, code: code)
709
+ end
710
+ end
711
+
712
+ # @param request_options [Hash]
713
+ # @param params [Hash]
714
+ # @option request_options [String] :base_url
715
+ # @option request_options [Hash{String => Object}] :additional_headers
716
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
717
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
718
+ # @option request_options [Integer] :timeout_in_seconds
719
+ # @option params [String] :company_id
720
+ # @option params [String, nil] :billing_credit_id
721
+ # @option params [String, nil] :feature_id
722
+ # @option params [Schematic::Types::CreditLedgerPeriod] :period
723
+ # @option params [String, nil] :start_time
724
+ # @option params [String, nil] :end_time
725
+ # @option params [Integer, nil] :limit
726
+ # @option params [Integer, nil] :offset
727
+ #
728
+ # @return [Schematic::Credits::Types::GetEnrichedCreditLedgerResponse]
729
+ def get_enriched_credit_ledger(request_options: {}, **params)
730
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
731
+ query_param_names = %i[company_id billing_credit_id feature_id period start_time end_time limit offset]
732
+ query_params = {}
733
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
734
+ query_params["billing_credit_id"] = params[:billing_credit_id] if params.key?(:billing_credit_id)
735
+ query_params["feature_id"] = params[:feature_id] if params.key?(:feature_id)
736
+ query_params["period"] = params[:period] if params.key?(:period)
737
+ query_params["start_time"] = params[:start_time] if params.key?(:start_time)
738
+ query_params["end_time"] = params[:end_time] if params.key?(:end_time)
739
+ query_params["limit"] = params[:limit] if params.key?(:limit)
740
+ query_params["offset"] = params[:offset] if params.key?(:offset)
741
+ params.except(*query_param_names)
742
+
743
+ request = Schematic::Internal::JSON::Request.new(
744
+ base_url: request_options[:base_url],
745
+ method: "GET",
746
+ path: "billing/credits/ledger",
747
+ query: query_params,
748
+ request_options: request_options
749
+ )
750
+ begin
751
+ response = @client.send(request)
752
+ rescue Net::HTTPRequestTimeout
753
+ raise Schematic::Errors::TimeoutError
754
+ end
755
+ code = response.code.to_i
756
+ if code.between?(200, 299)
757
+ Schematic::Credits::Types::GetEnrichedCreditLedgerResponse.load(response.body)
758
+ else
759
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
760
+ raise error_class.new(response.body, code: code)
761
+ end
762
+ end
763
+
764
+ # @param request_options [Hash]
765
+ # @param params [Hash]
766
+ # @option request_options [String] :base_url
767
+ # @option request_options [Hash{String => Object}] :additional_headers
768
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
769
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
770
+ # @option request_options [Integer] :timeout_in_seconds
771
+ # @option params [String] :company_id
772
+ # @option params [String, nil] :billing_credit_id
773
+ # @option params [String, nil] :feature_id
774
+ # @option params [Schematic::Types::CreditLedgerPeriod] :period
775
+ # @option params [String, nil] :start_time
776
+ # @option params [String, nil] :end_time
777
+ # @option params [Integer, nil] :limit
778
+ # @option params [Integer, nil] :offset
779
+ #
780
+ # @return [Schematic::Credits::Types::CountCreditLedgerResponse]
781
+ def count_credit_ledger(request_options: {}, **params)
782
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
783
+ query_param_names = %i[company_id billing_credit_id feature_id period start_time end_time limit offset]
784
+ query_params = {}
785
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
786
+ query_params["billing_credit_id"] = params[:billing_credit_id] if params.key?(:billing_credit_id)
787
+ query_params["feature_id"] = params[:feature_id] if params.key?(:feature_id)
788
+ query_params["period"] = params[:period] if params.key?(:period)
789
+ query_params["start_time"] = params[:start_time] if params.key?(:start_time)
790
+ query_params["end_time"] = params[:end_time] if params.key?(:end_time)
791
+ query_params["limit"] = params[:limit] if params.key?(:limit)
792
+ query_params["offset"] = params[:offset] if params.key?(:offset)
793
+ params.except(*query_param_names)
794
+
795
+ request = Schematic::Internal::JSON::Request.new(
796
+ base_url: request_options[:base_url],
797
+ method: "GET",
798
+ path: "billing/credits/ledger/count",
799
+ query: query_params,
800
+ request_options: request_options
801
+ )
802
+ begin
803
+ response = @client.send(request)
804
+ rescue Net::HTTPRequestTimeout
805
+ raise Schematic::Errors::TimeoutError
806
+ end
807
+ code = response.code.to_i
808
+ if code.between?(200, 299)
809
+ Schematic::Credits::Types::CountCreditLedgerResponse.load(response.body)
810
+ else
811
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
812
+ raise error_class.new(response.body, code: code)
813
+ end
814
+ end
815
+
816
+ # @param request_options [Hash]
817
+ # @param params [Hash]
818
+ # @option request_options [String] :base_url
819
+ # @option request_options [Hash{String => Object}] :additional_headers
820
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
821
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
822
+ # @option request_options [Integer] :timeout_in_seconds
823
+ # @option params [String, nil] :credit_id
824
+ # @option params [String, nil] :ids
825
+ # @option params [String, nil] :plan_id
826
+ # @option params [String, nil] :plan_ids
827
+ # @option params [String, nil] :plan_version_id
828
+ # @option params [Integer, nil] :limit
829
+ # @option params [Integer, nil] :offset
830
+ #
831
+ # @return [Schematic::Credits::Types::ListBillingPlanCreditGrantsResponse]
832
+ def list_billing_plan_credit_grants(request_options: {}, **params)
833
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
834
+ query_param_names = %i[credit_id ids plan_id plan_ids plan_version_id limit offset]
835
+ query_params = {}
836
+ query_params["credit_id"] = params[:credit_id] if params.key?(:credit_id)
837
+ query_params["ids"] = params[:ids] if params.key?(:ids)
838
+ query_params["plan_id"] = params[:plan_id] if params.key?(:plan_id)
839
+ query_params["plan_ids"] = params[:plan_ids] if params.key?(:plan_ids)
840
+ query_params["plan_version_id"] = params[:plan_version_id] if params.key?(:plan_version_id)
841
+ query_params["limit"] = params[:limit] if params.key?(:limit)
842
+ query_params["offset"] = params[:offset] if params.key?(:offset)
843
+ params.except(*query_param_names)
844
+
845
+ request = Schematic::Internal::JSON::Request.new(
846
+ base_url: request_options[:base_url],
847
+ method: "GET",
848
+ path: "billing/credits/plan-grants",
849
+ query: query_params,
850
+ request_options: request_options
851
+ )
852
+ begin
853
+ response = @client.send(request)
854
+ rescue Net::HTTPRequestTimeout
855
+ raise Schematic::Errors::TimeoutError
856
+ end
857
+ code = response.code.to_i
858
+ if code.between?(200, 299)
859
+ Schematic::Credits::Types::ListBillingPlanCreditGrantsResponse.load(response.body)
860
+ else
861
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
862
+ raise error_class.new(response.body, code: code)
863
+ end
864
+ end
865
+
866
+ # @param request_options [Hash]
867
+ # @param params [Schematic::Types::CreateBillingPlanCreditGrantRequestBody]
868
+ # @option request_options [String] :base_url
869
+ # @option request_options [Hash{String => Object}] :additional_headers
870
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
871
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
872
+ # @option request_options [Integer] :timeout_in_seconds
873
+ #
874
+ # @return [Schematic::Credits::Types::CreateBillingPlanCreditGrantResponse]
875
+ def create_billing_plan_credit_grant(request_options: {}, **params)
876
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
877
+ request = Schematic::Internal::JSON::Request.new(
878
+ base_url: request_options[:base_url],
879
+ method: "POST",
880
+ path: "billing/credits/plan-grants",
881
+ body: Schematic::Types::CreateBillingPlanCreditGrantRequestBody.new(params).to_h,
882
+ request_options: request_options
883
+ )
884
+ begin
885
+ response = @client.send(request)
886
+ rescue Net::HTTPRequestTimeout
887
+ raise Schematic::Errors::TimeoutError
888
+ end
889
+ code = response.code.to_i
890
+ if code.between?(200, 299)
891
+ Schematic::Credits::Types::CreateBillingPlanCreditGrantResponse.load(response.body)
892
+ else
893
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
894
+ raise error_class.new(response.body, code: code)
895
+ end
896
+ end
897
+
898
+ # @param request_options [Hash]
899
+ # @param params [Hash]
900
+ # @option request_options [String] :base_url
901
+ # @option request_options [Hash{String => Object}] :additional_headers
902
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
903
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
904
+ # @option request_options [Integer] :timeout_in_seconds
905
+ # @option params [String] :plan_grant_id
906
+ #
907
+ # @return [Schematic::Credits::Types::GetSingleBillingPlanCreditGrantResponse]
908
+ def get_single_billing_plan_credit_grant(request_options: {}, **params)
909
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
910
+ request = Schematic::Internal::JSON::Request.new(
911
+ base_url: request_options[:base_url],
912
+ method: "GET",
913
+ path: "billing/credits/plan-grants/#{URI.encode_uri_component(params[:plan_grant_id].to_s)}",
914
+ request_options: request_options
915
+ )
916
+ begin
917
+ response = @client.send(request)
918
+ rescue Net::HTTPRequestTimeout
919
+ raise Schematic::Errors::TimeoutError
920
+ end
921
+ code = response.code.to_i
922
+ if code.between?(200, 299)
923
+ Schematic::Credits::Types::GetSingleBillingPlanCreditGrantResponse.load(response.body)
924
+ else
925
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
926
+ raise error_class.new(response.body, code: code)
927
+ end
928
+ end
929
+
930
+ # @param request_options [Hash]
931
+ # @param params [Schematic::Types::UpdateBillingPlanCreditGrantRequestBody]
932
+ # @option request_options [String] :base_url
933
+ # @option request_options [Hash{String => Object}] :additional_headers
934
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
935
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
936
+ # @option request_options [Integer] :timeout_in_seconds
937
+ # @option params [String] :plan_grant_id
938
+ #
939
+ # @return [Schematic::Credits::Types::UpdateBillingPlanCreditGrantResponse]
940
+ def update_billing_plan_credit_grant(request_options: {}, **params)
941
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
942
+ request = Schematic::Internal::JSON::Request.new(
943
+ base_url: request_options[:base_url],
944
+ method: "PUT",
945
+ path: "billing/credits/plan-grants/#{URI.encode_uri_component(params[:plan_grant_id].to_s)}",
946
+ body: Schematic::Types::UpdateBillingPlanCreditGrantRequestBody.new(params).to_h,
947
+ request_options: request_options
948
+ )
949
+ begin
950
+ response = @client.send(request)
951
+ rescue Net::HTTPRequestTimeout
952
+ raise Schematic::Errors::TimeoutError
953
+ end
954
+ code = response.code.to_i
955
+ if code.between?(200, 299)
956
+ Schematic::Credits::Types::UpdateBillingPlanCreditGrantResponse.load(response.body)
957
+ else
958
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
959
+ raise error_class.new(response.body, code: code)
960
+ end
961
+ end
962
+
963
+ # @param request_options [Hash]
964
+ # @param params [Hash]
965
+ # @option request_options [String] :base_url
966
+ # @option request_options [Hash{String => Object}] :additional_headers
967
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
968
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
969
+ # @option request_options [Integer] :timeout_in_seconds
970
+ # @option params [String] :plan_grant_id
971
+ # @option params [Boolean, nil] :apply_to_existing
972
+ #
973
+ # @return [Schematic::Credits::Types::DeleteBillingPlanCreditGrantResponse]
974
+ def delete_billing_plan_credit_grant(request_options: {}, **params)
975
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
976
+ query_param_names = %i[apply_to_existing]
977
+ query_params = {}
978
+ query_params["apply_to_existing"] = params[:apply_to_existing] if params.key?(:apply_to_existing)
979
+ params = params.except(*query_param_names)
980
+
981
+ request = Schematic::Internal::JSON::Request.new(
982
+ base_url: request_options[:base_url],
983
+ method: "DELETE",
984
+ path: "billing/credits/plan-grants/#{URI.encode_uri_component(params[:plan_grant_id].to_s)}",
985
+ query: query_params,
986
+ request_options: request_options
987
+ )
988
+ begin
989
+ response = @client.send(request)
990
+ rescue Net::HTTPRequestTimeout
991
+ raise Schematic::Errors::TimeoutError
992
+ end
993
+ code = response.code.to_i
994
+ if code.between?(200, 299)
995
+ Schematic::Credits::Types::DeleteBillingPlanCreditGrantResponse.load(response.body)
996
+ else
997
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
998
+ raise error_class.new(response.body, code: code)
999
+ end
1000
+ end
1001
+
1002
+ # @param request_options [Hash]
1003
+ # @param params [Hash]
1004
+ # @option request_options [String] :base_url
1005
+ # @option request_options [Hash{String => Object}] :additional_headers
1006
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1007
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1008
+ # @option request_options [Integer] :timeout_in_seconds
1009
+ # @option params [String, nil] :credit_id
1010
+ # @option params [String, nil] :ids
1011
+ # @option params [String, nil] :plan_id
1012
+ # @option params [String, nil] :plan_ids
1013
+ # @option params [String, nil] :plan_version_id
1014
+ # @option params [Integer, nil] :limit
1015
+ # @option params [Integer, nil] :offset
1016
+ #
1017
+ # @return [Schematic::Credits::Types::CountBillingPlanCreditGrantsResponse]
1018
+ def count_billing_plan_credit_grants(request_options: {}, **params)
1019
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
1020
+ query_param_names = %i[credit_id ids plan_id plan_ids plan_version_id limit offset]
1021
+ query_params = {}
1022
+ query_params["credit_id"] = params[:credit_id] if params.key?(:credit_id)
1023
+ query_params["ids"] = params[:ids] if params.key?(:ids)
1024
+ query_params["plan_id"] = params[:plan_id] if params.key?(:plan_id)
1025
+ query_params["plan_ids"] = params[:plan_ids] if params.key?(:plan_ids)
1026
+ query_params["plan_version_id"] = params[:plan_version_id] if params.key?(:plan_version_id)
1027
+ query_params["limit"] = params[:limit] if params.key?(:limit)
1028
+ query_params["offset"] = params[:offset] if params.key?(:offset)
1029
+ params.except(*query_param_names)
1030
+
1031
+ request = Schematic::Internal::JSON::Request.new(
1032
+ base_url: request_options[:base_url],
1033
+ method: "GET",
1034
+ path: "billing/credits/plan-grants/count",
1035
+ query: query_params,
1036
+ request_options: request_options
1037
+ )
1038
+ begin
1039
+ response = @client.send(request)
1040
+ rescue Net::HTTPRequestTimeout
1041
+ raise Schematic::Errors::TimeoutError
1042
+ end
1043
+ code = response.code.to_i
1044
+ if code.between?(200, 299)
1045
+ Schematic::Credits::Types::CountBillingPlanCreditGrantsResponse.load(response.body)
1046
+ else
1047
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1048
+ raise error_class.new(response.body, code: code)
1049
+ end
1050
+ end
1051
+
1052
+ # @param request_options [Hash]
1053
+ # @param params [Hash]
1054
+ # @option request_options [String] :base_url
1055
+ # @option request_options [Hash{String => Object}] :additional_headers
1056
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1057
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1058
+ # @option request_options [Integer] :timeout_in_seconds
1059
+ # @option params [String, nil] :billing_credit_id
1060
+ # @option params [String] :company_id
1061
+ # @option params [String, nil] :end_time
1062
+ # @option params [Schematic::Types::CreditEventType, nil] :event_type
1063
+ # @option params [String, nil] :feature_id
1064
+ # @option params [String, nil] :start_time
1065
+ # @option params [Integer, nil] :limit
1066
+ # @option params [Integer, nil] :offset
1067
+ #
1068
+ # @return [Schematic::Credits::Types::ListCreditEventLedgerResponse]
1069
+ def list_credit_event_ledger(request_options: {}, **params)
1070
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
1071
+ query_param_names = %i[billing_credit_id company_id end_time event_type feature_id start_time limit offset]
1072
+ query_params = {}
1073
+ query_params["billing_credit_id"] = params[:billing_credit_id] if params.key?(:billing_credit_id)
1074
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
1075
+ query_params["end_time"] = params[:end_time] if params.key?(:end_time)
1076
+ query_params["event_type"] = params[:event_type] if params.key?(:event_type)
1077
+ query_params["feature_id"] = params[:feature_id] if params.key?(:feature_id)
1078
+ query_params["start_time"] = params[:start_time] if params.key?(:start_time)
1079
+ query_params["limit"] = params[:limit] if params.key?(:limit)
1080
+ query_params["offset"] = params[:offset] if params.key?(:offset)
1081
+ params.except(*query_param_names)
1082
+
1083
+ request = Schematic::Internal::JSON::Request.new(
1084
+ base_url: request_options[:base_url],
1085
+ method: "GET",
1086
+ path: "v2/billing/credits/ledger",
1087
+ query: query_params,
1088
+ request_options: request_options
1089
+ )
1090
+ begin
1091
+ response = @client.send(request)
1092
+ rescue Net::HTTPRequestTimeout
1093
+ raise Schematic::Errors::TimeoutError
1094
+ end
1095
+ code = response.code.to_i
1096
+ if code.between?(200, 299)
1097
+ Schematic::Credits::Types::ListCreditEventLedgerResponse.load(response.body)
1098
+ else
1099
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1100
+ raise error_class.new(response.body, code: code)
1101
+ end
1102
+ end
1103
+
1104
+ # @param request_options [Hash]
1105
+ # @param params [Hash]
1106
+ # @option request_options [String] :base_url
1107
+ # @option request_options [Hash{String => Object}] :additional_headers
1108
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
1109
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
1110
+ # @option request_options [Integer] :timeout_in_seconds
1111
+ # @option params [String, nil] :billing_credit_id
1112
+ # @option params [String] :company_id
1113
+ # @option params [String, nil] :end_time
1114
+ # @option params [Schematic::Types::CreditEventType, nil] :event_type
1115
+ # @option params [String, nil] :feature_id
1116
+ # @option params [String, nil] :start_time
1117
+ # @option params [Integer, nil] :limit
1118
+ # @option params [Integer, nil] :offset
1119
+ #
1120
+ # @return [Schematic::Credits::Types::CountCreditEventLedgerResponse]
1121
+ def count_credit_event_ledger(request_options: {}, **params)
1122
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
1123
+ query_param_names = %i[billing_credit_id company_id end_time event_type feature_id start_time limit offset]
1124
+ query_params = {}
1125
+ query_params["billing_credit_id"] = params[:billing_credit_id] if params.key?(:billing_credit_id)
1126
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
1127
+ query_params["end_time"] = params[:end_time] if params.key?(:end_time)
1128
+ query_params["event_type"] = params[:event_type] if params.key?(:event_type)
1129
+ query_params["feature_id"] = params[:feature_id] if params.key?(:feature_id)
1130
+ query_params["start_time"] = params[:start_time] if params.key?(:start_time)
1131
+ query_params["limit"] = params[:limit] if params.key?(:limit)
1132
+ query_params["offset"] = params[:offset] if params.key?(:offset)
1133
+ params.except(*query_param_names)
1134
+
1135
+ request = Schematic::Internal::JSON::Request.new(
1136
+ base_url: request_options[:base_url],
1137
+ method: "GET",
1138
+ path: "v2/billing/credits/ledger/count",
1139
+ query: query_params,
1140
+ request_options: request_options
1141
+ )
1142
+ begin
1143
+ response = @client.send(request)
1144
+ rescue Net::HTTPRequestTimeout
1145
+ raise Schematic::Errors::TimeoutError
1146
+ end
1147
+ code = response.code.to_i
1148
+ if code.between?(200, 299)
1149
+ Schematic::Credits::Types::CountCreditEventLedgerResponse.load(response.body)
1150
+ else
1151
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
1152
+ raise error_class.new(response.body, code: code)
1153
+ end
1154
+ end
1155
+ end
1156
+ end
1157
+ end