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,862 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Billing
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 [Boolean, nil] :is_active
21
+ # @option params [String, nil] :q
22
+ # @option params [Integer, nil] :limit
23
+ # @option params [Integer, nil] :offset
24
+ #
25
+ # @return [Schematic::Billing::Types::ListCouponsResponse]
26
+ def list_coupons(request_options: {}, **params)
27
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
28
+ query_param_names = %i[is_active q limit offset]
29
+ query_params = {}
30
+ query_params["is_active"] = params[:is_active] if params.key?(:is_active)
31
+ query_params["q"] = params[:q] if params.key?(:q)
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/coupons",
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::Billing::Types::ListCouponsResponse.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::Billing::Types::CreateCouponRequestBody]
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::Billing::Types::UpsertBillingCouponResponse]
66
+ def upsert_billing_coupon(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/coupons",
72
+ body: Schematic::Billing::Types::CreateCouponRequestBody.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::Billing::Types::UpsertBillingCouponResponse.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 [Schematic::Billing::Types::CreateBillingCustomerRequestBody]
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
+ #
97
+ # @return [Schematic::Billing::Types::UpsertBillingCustomerResponse]
98
+ def upsert_billing_customer(request_options: {}, **params)
99
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
100
+ request = Schematic::Internal::JSON::Request.new(
101
+ base_url: request_options[:base_url],
102
+ method: "POST",
103
+ path: "billing/customer/upsert",
104
+ body: Schematic::Billing::Types::CreateBillingCustomerRequestBody.new(params).to_h,
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::Billing::Types::UpsertBillingCustomerResponse.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 [Hash]
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, nil] :company_ids
129
+ # @option params [String, nil] :name
130
+ # @option params [Schematic::Types::BillingProviderType, nil] :provider_type
131
+ # @option params [String, nil] :q
132
+ # @option params [Integer, nil] :limit
133
+ # @option params [Integer, nil] :offset
134
+ #
135
+ # @return [Schematic::Billing::Types::ListCustomersWithSubscriptionsResponse]
136
+ def list_customers_with_subscriptions(request_options: {}, **params)
137
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
138
+ query_param_names = %i[company_ids name provider_type q limit offset]
139
+ query_params = {}
140
+ query_params["company_ids"] = params[:company_ids] if params.key?(:company_ids)
141
+ query_params["name"] = params[:name] if params.key?(:name)
142
+ query_params["provider_type"] = params[:provider_type] if params.key?(:provider_type)
143
+ query_params["q"] = params[:q] if params.key?(:q)
144
+ query_params["limit"] = params[:limit] if params.key?(:limit)
145
+ query_params["offset"] = params[:offset] if params.key?(:offset)
146
+ params.except(*query_param_names)
147
+
148
+ request = Schematic::Internal::JSON::Request.new(
149
+ base_url: request_options[:base_url],
150
+ method: "GET",
151
+ path: "billing/customers",
152
+ query: query_params,
153
+ request_options: request_options
154
+ )
155
+ begin
156
+ response = @client.send(request)
157
+ rescue Net::HTTPRequestTimeout
158
+ raise Schematic::Errors::TimeoutError
159
+ end
160
+ code = response.code.to_i
161
+ if code.between?(200, 299)
162
+ Schematic::Billing::Types::ListCustomersWithSubscriptionsResponse.load(response.body)
163
+ else
164
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
165
+ raise error_class.new(response.body, code: code)
166
+ end
167
+ end
168
+
169
+ # @param request_options [Hash]
170
+ # @param params [Hash]
171
+ # @option request_options [String] :base_url
172
+ # @option request_options [Hash{String => Object}] :additional_headers
173
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
174
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
175
+ # @option request_options [Integer] :timeout_in_seconds
176
+ # @option params [String, nil] :company_ids
177
+ # @option params [String, nil] :name
178
+ # @option params [Schematic::Types::BillingProviderType, nil] :provider_type
179
+ # @option params [String, nil] :q
180
+ # @option params [Integer, nil] :limit
181
+ # @option params [Integer, nil] :offset
182
+ #
183
+ # @return [Schematic::Billing::Types::CountCustomersResponse]
184
+ def count_customers(request_options: {}, **params)
185
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
186
+ query_param_names = %i[company_ids name provider_type q limit offset]
187
+ query_params = {}
188
+ query_params["company_ids"] = params[:company_ids] if params.key?(:company_ids)
189
+ query_params["name"] = params[:name] if params.key?(:name)
190
+ query_params["provider_type"] = params[:provider_type] if params.key?(:provider_type)
191
+ query_params["q"] = params[:q] if params.key?(:q)
192
+ query_params["limit"] = params[:limit] if params.key?(:limit)
193
+ query_params["offset"] = params[:offset] if params.key?(:offset)
194
+ params.except(*query_param_names)
195
+
196
+ request = Schematic::Internal::JSON::Request.new(
197
+ base_url: request_options[:base_url],
198
+ method: "GET",
199
+ path: "billing/customers/count",
200
+ query: query_params,
201
+ request_options: request_options
202
+ )
203
+ begin
204
+ response = @client.send(request)
205
+ rescue Net::HTTPRequestTimeout
206
+ raise Schematic::Errors::TimeoutError
207
+ end
208
+ code = response.code.to_i
209
+ if code.between?(200, 299)
210
+ Schematic::Billing::Types::CountCustomersResponse.load(response.body)
211
+ else
212
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
213
+ raise error_class.new(response.body, code: code)
214
+ end
215
+ end
216
+
217
+ # @param request_options [Hash]
218
+ # @param params [Hash]
219
+ # @option request_options [String] :base_url
220
+ # @option request_options [Hash{String => Object}] :additional_headers
221
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
222
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
223
+ # @option request_options [Integer] :timeout_in_seconds
224
+ # @option params [String, nil] :company_id
225
+ # @option params [String] :customer_external_id
226
+ # @option params [String] :subscription_external_id
227
+ # @option params [Integer, nil] :limit
228
+ # @option params [Integer, nil] :offset
229
+ #
230
+ # @return [Schematic::Billing::Types::ListInvoicesResponse]
231
+ def list_invoices(request_options: {}, **params)
232
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
233
+ query_param_names = %i[company_id customer_external_id subscription_external_id limit offset]
234
+ query_params = {}
235
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
236
+ query_params["customer_external_id"] = params[:customer_external_id] if params.key?(:customer_external_id)
237
+ query_params["subscription_external_id"] = params[:subscription_external_id] if params.key?(:subscription_external_id)
238
+ query_params["limit"] = params[:limit] if params.key?(:limit)
239
+ query_params["offset"] = params[:offset] if params.key?(:offset)
240
+ params.except(*query_param_names)
241
+
242
+ request = Schematic::Internal::JSON::Request.new(
243
+ base_url: request_options[:base_url],
244
+ method: "GET",
245
+ path: "billing/invoices",
246
+ query: query_params,
247
+ request_options: request_options
248
+ )
249
+ begin
250
+ response = @client.send(request)
251
+ rescue Net::HTTPRequestTimeout
252
+ raise Schematic::Errors::TimeoutError
253
+ end
254
+ code = response.code.to_i
255
+ if code.between?(200, 299)
256
+ Schematic::Billing::Types::ListInvoicesResponse.load(response.body)
257
+ else
258
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
259
+ raise error_class.new(response.body, code: code)
260
+ end
261
+ end
262
+
263
+ # @param request_options [Hash]
264
+ # @param params [Schematic::Billing::Types::CreateInvoiceRequestBody]
265
+ # @option request_options [String] :base_url
266
+ # @option request_options [Hash{String => Object}] :additional_headers
267
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
268
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
269
+ # @option request_options [Integer] :timeout_in_seconds
270
+ #
271
+ # @return [Schematic::Billing::Types::UpsertInvoiceResponse]
272
+ def upsert_invoice(request_options: {}, **params)
273
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
274
+ request = Schematic::Internal::JSON::Request.new(
275
+ base_url: request_options[:base_url],
276
+ method: "POST",
277
+ path: "billing/invoices",
278
+ body: Schematic::Billing::Types::CreateInvoiceRequestBody.new(params).to_h,
279
+ request_options: request_options
280
+ )
281
+ begin
282
+ response = @client.send(request)
283
+ rescue Net::HTTPRequestTimeout
284
+ raise Schematic::Errors::TimeoutError
285
+ end
286
+ code = response.code.to_i
287
+ if code.between?(200, 299)
288
+ Schematic::Billing::Types::UpsertInvoiceResponse.load(response.body)
289
+ else
290
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
291
+ raise error_class.new(response.body, code: code)
292
+ end
293
+ end
294
+
295
+ # @param request_options [Hash]
296
+ # @param params [Hash]
297
+ # @option request_options [String] :base_url
298
+ # @option request_options [Hash{String => Object}] :additional_headers
299
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
300
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
301
+ # @option request_options [Integer] :timeout_in_seconds
302
+ # @option params [String, nil] :display_name
303
+ # @option params [Integer, nil] :limit
304
+ # @option params [Integer, nil] :offset
305
+ #
306
+ # @return [Schematic::Billing::Types::ListMetersResponse]
307
+ def list_meters(request_options: {}, **params)
308
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
309
+ query_param_names = %i[display_name limit offset]
310
+ query_params = {}
311
+ query_params["display_name"] = params[:display_name] if params.key?(:display_name)
312
+ query_params["limit"] = params[:limit] if params.key?(:limit)
313
+ query_params["offset"] = params[:offset] if params.key?(:offset)
314
+ params.except(*query_param_names)
315
+
316
+ request = Schematic::Internal::JSON::Request.new(
317
+ base_url: request_options[:base_url],
318
+ method: "GET",
319
+ path: "billing/meter",
320
+ query: query_params,
321
+ request_options: request_options
322
+ )
323
+ begin
324
+ response = @client.send(request)
325
+ rescue Net::HTTPRequestTimeout
326
+ raise Schematic::Errors::TimeoutError
327
+ end
328
+ code = response.code.to_i
329
+ if code.between?(200, 299)
330
+ Schematic::Billing::Types::ListMetersResponse.load(response.body)
331
+ else
332
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
333
+ raise error_class.new(response.body, code: code)
334
+ end
335
+ end
336
+
337
+ # @param request_options [Hash]
338
+ # @param params [Schematic::Billing::Types::CreateMeterRequestBody]
339
+ # @option request_options [String] :base_url
340
+ # @option request_options [Hash{String => Object}] :additional_headers
341
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
342
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
343
+ # @option request_options [Integer] :timeout_in_seconds
344
+ #
345
+ # @return [Schematic::Billing::Types::UpsertBillingMeterResponse]
346
+ def upsert_billing_meter(request_options: {}, **params)
347
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
348
+ request = Schematic::Internal::JSON::Request.new(
349
+ base_url: request_options[:base_url],
350
+ method: "POST",
351
+ path: "billing/meter/upsert",
352
+ body: Schematic::Billing::Types::CreateMeterRequestBody.new(params).to_h,
353
+ request_options: request_options
354
+ )
355
+ begin
356
+ response = @client.send(request)
357
+ rescue Net::HTTPRequestTimeout
358
+ raise Schematic::Errors::TimeoutError
359
+ end
360
+ code = response.code.to_i
361
+ if code.between?(200, 299)
362
+ Schematic::Billing::Types::UpsertBillingMeterResponse.load(response.body)
363
+ else
364
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
365
+ raise error_class.new(response.body, code: code)
366
+ end
367
+ end
368
+
369
+ # @param request_options [Hash]
370
+ # @param params [Hash]
371
+ # @option request_options [String] :base_url
372
+ # @option request_options [Hash{String => Object}] :additional_headers
373
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
374
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
375
+ # @option request_options [Integer] :timeout_in_seconds
376
+ # @option params [String, nil] :company_id
377
+ # @option params [String] :customer_external_id
378
+ # @option params [Integer, nil] :limit
379
+ # @option params [Integer, nil] :offset
380
+ #
381
+ # @return [Schematic::Billing::Types::ListPaymentMethodsResponse]
382
+ def list_payment_methods(request_options: {}, **params)
383
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
384
+ query_param_names = %i[company_id customer_external_id limit offset]
385
+ query_params = {}
386
+ query_params["company_id"] = params[:company_id] if params.key?(:company_id)
387
+ query_params["customer_external_id"] = params[:customer_external_id] if params.key?(:customer_external_id)
388
+ query_params["limit"] = params[:limit] if params.key?(:limit)
389
+ query_params["offset"] = params[:offset] if params.key?(:offset)
390
+ params.except(*query_param_names)
391
+
392
+ request = Schematic::Internal::JSON::Request.new(
393
+ base_url: request_options[:base_url],
394
+ method: "GET",
395
+ path: "billing/payment-methods",
396
+ query: query_params,
397
+ request_options: request_options
398
+ )
399
+ begin
400
+ response = @client.send(request)
401
+ rescue Net::HTTPRequestTimeout
402
+ raise Schematic::Errors::TimeoutError
403
+ end
404
+ code = response.code.to_i
405
+ if code.between?(200, 299)
406
+ Schematic::Billing::Types::ListPaymentMethodsResponse.load(response.body)
407
+ else
408
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
409
+ raise error_class.new(response.body, code: code)
410
+ end
411
+ end
412
+
413
+ # @param request_options [Hash]
414
+ # @param params [Schematic::Billing::Types::CreatePaymentMethodRequestBody]
415
+ # @option request_options [String] :base_url
416
+ # @option request_options [Hash{String => Object}] :additional_headers
417
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
418
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
419
+ # @option request_options [Integer] :timeout_in_seconds
420
+ #
421
+ # @return [Schematic::Billing::Types::UpsertPaymentMethodResponse]
422
+ def upsert_payment_method(request_options: {}, **params)
423
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
424
+ request = Schematic::Internal::JSON::Request.new(
425
+ base_url: request_options[:base_url],
426
+ method: "POST",
427
+ path: "billing/payment-methods",
428
+ body: Schematic::Billing::Types::CreatePaymentMethodRequestBody.new(params).to_h,
429
+ request_options: request_options
430
+ )
431
+ begin
432
+ response = @client.send(request)
433
+ rescue Net::HTTPRequestTimeout
434
+ raise Schematic::Errors::TimeoutError
435
+ end
436
+ code = response.code.to_i
437
+ if code.between?(200, 299)
438
+ Schematic::Billing::Types::UpsertPaymentMethodResponse.load(response.body)
439
+ else
440
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
441
+ raise error_class.new(response.body, code: code)
442
+ end
443
+ end
444
+
445
+ # @param request_options [Hash]
446
+ # @param params [Hash]
447
+ # @option request_options [String] :base_url
448
+ # @option request_options [Hash{String => Object}] :additional_headers
449
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
450
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
451
+ # @option request_options [Integer] :timeout_in_seconds
452
+ # @option params [String, nil] :currency
453
+ # @option params [Boolean, nil] :for_initial_plan
454
+ # @option params [Boolean, nil] :for_trial_expiry_plan
455
+ # @option params [String, nil] :ids
456
+ # @option params [String, nil] :interval
457
+ # @option params [Boolean, nil] :is_active
458
+ # @option params [Integer, nil] :price
459
+ # @option params [String, nil] :product_id
460
+ # @option params [String, nil] :product_ids
461
+ # @option params [Schematic::Types::BillingProviderType, nil] :provider_type
462
+ # @option params [String, nil] :q
463
+ # @option params [Schematic::Types::BillingTiersMode, nil] :tiers_mode
464
+ # @option params [Schematic::Types::BillingPriceUsageType, nil] :usage_type
465
+ # @option params [Boolean, nil] :with_meter
466
+ # @option params [Integer, nil] :limit
467
+ # @option params [Integer, nil] :offset
468
+ #
469
+ # @return [Schematic::Billing::Types::ListBillingPricesResponse]
470
+ def list_billing_prices(request_options: {}, **params)
471
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
472
+ query_param_names = %i[currency for_initial_plan for_trial_expiry_plan ids interval is_active price product_id product_ids provider_type q tiers_mode usage_type with_meter limit offset]
473
+ query_params = {}
474
+ query_params["currency"] = params[:currency] if params.key?(:currency)
475
+ query_params["for_initial_plan"] = params[:for_initial_plan] if params.key?(:for_initial_plan)
476
+ query_params["for_trial_expiry_plan"] = params[:for_trial_expiry_plan] if params.key?(:for_trial_expiry_plan)
477
+ query_params["ids"] = params[:ids] if params.key?(:ids)
478
+ query_params["interval"] = params[:interval] if params.key?(:interval)
479
+ query_params["is_active"] = params[:is_active] if params.key?(:is_active)
480
+ query_params["price"] = params[:price] if params.key?(:price)
481
+ query_params["product_id"] = params[:product_id] if params.key?(:product_id)
482
+ query_params["product_ids"] = params[:product_ids] if params.key?(:product_ids)
483
+ query_params["provider_type"] = params[:provider_type] if params.key?(:provider_type)
484
+ query_params["q"] = params[:q] if params.key?(:q)
485
+ query_params["tiers_mode"] = params[:tiers_mode] if params.key?(:tiers_mode)
486
+ query_params["usage_type"] = params[:usage_type] if params.key?(:usage_type)
487
+ query_params["with_meter"] = params[:with_meter] if params.key?(:with_meter)
488
+ query_params["limit"] = params[:limit] if params.key?(:limit)
489
+ query_params["offset"] = params[:offset] if params.key?(:offset)
490
+ params.except(*query_param_names)
491
+
492
+ request = Schematic::Internal::JSON::Request.new(
493
+ base_url: request_options[:base_url],
494
+ method: "GET",
495
+ path: "billing/price",
496
+ query: query_params,
497
+ request_options: request_options
498
+ )
499
+ begin
500
+ response = @client.send(request)
501
+ rescue Net::HTTPRequestTimeout
502
+ raise Schematic::Errors::TimeoutError
503
+ end
504
+ code = response.code.to_i
505
+ if code.between?(200, 299)
506
+ Schematic::Billing::Types::ListBillingPricesResponse.load(response.body)
507
+ else
508
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
509
+ raise error_class.new(response.body, code: code)
510
+ end
511
+ end
512
+
513
+ # @param request_options [Hash]
514
+ # @param params [Schematic::Billing::Types::CreateBillingPriceRequestBody]
515
+ # @option request_options [String] :base_url
516
+ # @option request_options [Hash{String => Object}] :additional_headers
517
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
518
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
519
+ # @option request_options [Integer] :timeout_in_seconds
520
+ #
521
+ # @return [Schematic::Billing::Types::UpsertBillingPriceResponse]
522
+ def upsert_billing_price(request_options: {}, **params)
523
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
524
+ request = Schematic::Internal::JSON::Request.new(
525
+ base_url: request_options[:base_url],
526
+ method: "POST",
527
+ path: "billing/price/upsert",
528
+ body: Schematic::Billing::Types::CreateBillingPriceRequestBody.new(params).to_h,
529
+ request_options: request_options
530
+ )
531
+ begin
532
+ response = @client.send(request)
533
+ rescue Net::HTTPRequestTimeout
534
+ raise Schematic::Errors::TimeoutError
535
+ end
536
+ code = response.code.to_i
537
+ if code.between?(200, 299)
538
+ Schematic::Billing::Types::UpsertBillingPriceResponse.load(response.body)
539
+ else
540
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
541
+ raise error_class.new(response.body, code: code)
542
+ end
543
+ end
544
+
545
+ # @param request_options [Hash]
546
+ # @param params [Hash]
547
+ # @option request_options [String] :base_url
548
+ # @option request_options [Hash{String => Object}] :additional_headers
549
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
550
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
551
+ # @option request_options [Integer] :timeout_in_seconds
552
+ # @option params [String] :billing_id
553
+ #
554
+ # @return [Schematic::Billing::Types::DeleteBillingProductResponse]
555
+ def delete_billing_product(request_options: {}, **params)
556
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
557
+ request = Schematic::Internal::JSON::Request.new(
558
+ base_url: request_options[:base_url],
559
+ method: "DELETE",
560
+ path: "billing/product/#{URI.encode_uri_component(params[:billing_id].to_s)}",
561
+ request_options: request_options
562
+ )
563
+ begin
564
+ response = @client.send(request)
565
+ rescue Net::HTTPRequestTimeout
566
+ raise Schematic::Errors::TimeoutError
567
+ end
568
+ code = response.code.to_i
569
+ if code.between?(200, 299)
570
+ Schematic::Billing::Types::DeleteBillingProductResponse.load(response.body)
571
+ else
572
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
573
+ raise error_class.new(response.body, code: code)
574
+ end
575
+ end
576
+
577
+ # @param request_options [Hash]
578
+ # @param params [Hash]
579
+ # @option request_options [String] :base_url
580
+ # @option request_options [Hash{String => Object}] :additional_headers
581
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
582
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
583
+ # @option request_options [Integer] :timeout_in_seconds
584
+ # @option params [String, nil] :currency
585
+ # @option params [Boolean, nil] :for_initial_plan
586
+ # @option params [Boolean, nil] :for_trial_expiry_plan
587
+ # @option params [String, nil] :ids
588
+ # @option params [String, nil] :interval
589
+ # @option params [Boolean, nil] :is_active
590
+ # @option params [Integer, nil] :price
591
+ # @option params [String, nil] :product_id
592
+ # @option params [String, nil] :product_ids
593
+ # @option params [Schematic::Types::BillingProviderType, nil] :provider_type
594
+ # @option params [String, nil] :q
595
+ # @option params [Schematic::Types::BillingTiersMode, nil] :tiers_mode
596
+ # @option params [Schematic::Types::BillingPriceUsageType, nil] :usage_type
597
+ # @option params [Boolean, nil] :with_meter
598
+ # @option params [Integer, nil] :limit
599
+ # @option params [Integer, nil] :offset
600
+ #
601
+ # @return [Schematic::Billing::Types::ListBillingProductPricesResponse]
602
+ def list_billing_product_prices(request_options: {}, **params)
603
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
604
+ query_param_names = %i[currency for_initial_plan for_trial_expiry_plan ids interval is_active price product_id product_ids provider_type q tiers_mode usage_type with_meter limit offset]
605
+ query_params = {}
606
+ query_params["currency"] = params[:currency] if params.key?(:currency)
607
+ query_params["for_initial_plan"] = params[:for_initial_plan] if params.key?(:for_initial_plan)
608
+ query_params["for_trial_expiry_plan"] = params[:for_trial_expiry_plan] if params.key?(:for_trial_expiry_plan)
609
+ query_params["ids"] = params[:ids] if params.key?(:ids)
610
+ query_params["interval"] = params[:interval] if params.key?(:interval)
611
+ query_params["is_active"] = params[:is_active] if params.key?(:is_active)
612
+ query_params["price"] = params[:price] if params.key?(:price)
613
+ query_params["product_id"] = params[:product_id] if params.key?(:product_id)
614
+ query_params["product_ids"] = params[:product_ids] if params.key?(:product_ids)
615
+ query_params["provider_type"] = params[:provider_type] if params.key?(:provider_type)
616
+ query_params["q"] = params[:q] if params.key?(:q)
617
+ query_params["tiers_mode"] = params[:tiers_mode] if params.key?(:tiers_mode)
618
+ query_params["usage_type"] = params[:usage_type] if params.key?(:usage_type)
619
+ query_params["with_meter"] = params[:with_meter] if params.key?(:with_meter)
620
+ query_params["limit"] = params[:limit] if params.key?(:limit)
621
+ query_params["offset"] = params[:offset] if params.key?(:offset)
622
+ params.except(*query_param_names)
623
+
624
+ request = Schematic::Internal::JSON::Request.new(
625
+ base_url: request_options[:base_url],
626
+ method: "GET",
627
+ path: "billing/product/prices",
628
+ query: query_params,
629
+ request_options: request_options
630
+ )
631
+ begin
632
+ response = @client.send(request)
633
+ rescue Net::HTTPRequestTimeout
634
+ raise Schematic::Errors::TimeoutError
635
+ end
636
+ code = response.code.to_i
637
+ if code.between?(200, 299)
638
+ Schematic::Billing::Types::ListBillingProductPricesResponse.load(response.body)
639
+ else
640
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
641
+ raise error_class.new(response.body, code: code)
642
+ end
643
+ end
644
+
645
+ # @param request_options [Hash]
646
+ # @param params [Hash]
647
+ # @option request_options [String] :base_url
648
+ # @option request_options [Hash{String => Object}] :additional_headers
649
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
650
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
651
+ # @option request_options [Integer] :timeout_in_seconds
652
+ # @option params [String] :billing_id
653
+ #
654
+ # @return [Schematic::Billing::Types::DeleteProductPriceResponse]
655
+ def delete_product_price(request_options: {}, **params)
656
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
657
+ request = Schematic::Internal::JSON::Request.new(
658
+ base_url: request_options[:base_url],
659
+ method: "DELETE",
660
+ path: "billing/product/prices/#{URI.encode_uri_component(params[:billing_id].to_s)}",
661
+ request_options: request_options
662
+ )
663
+ begin
664
+ response = @client.send(request)
665
+ rescue Net::HTTPRequestTimeout
666
+ raise Schematic::Errors::TimeoutError
667
+ end
668
+ code = response.code.to_i
669
+ if code.between?(200, 299)
670
+ Schematic::Billing::Types::DeleteProductPriceResponse.load(response.body)
671
+ else
672
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
673
+ raise error_class.new(response.body, code: code)
674
+ end
675
+ end
676
+
677
+ # @param request_options [Hash]
678
+ # @param params [Schematic::Billing::Types::CreateBillingProductRequestBody]
679
+ # @option request_options [String] :base_url
680
+ # @option request_options [Hash{String => Object}] :additional_headers
681
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
682
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
683
+ # @option request_options [Integer] :timeout_in_seconds
684
+ #
685
+ # @return [Schematic::Billing::Types::UpsertBillingProductResponse]
686
+ def upsert_billing_product(request_options: {}, **params)
687
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
688
+ request = Schematic::Internal::JSON::Request.new(
689
+ base_url: request_options[:base_url],
690
+ method: "POST",
691
+ path: "billing/product/upsert",
692
+ body: Schematic::Billing::Types::CreateBillingProductRequestBody.new(params).to_h,
693
+ request_options: request_options
694
+ )
695
+ begin
696
+ response = @client.send(request)
697
+ rescue Net::HTTPRequestTimeout
698
+ raise Schematic::Errors::TimeoutError
699
+ end
700
+ code = response.code.to_i
701
+ if code.between?(200, 299)
702
+ Schematic::Billing::Types::UpsertBillingProductResponse.load(response.body)
703
+ else
704
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
705
+ raise error_class.new(response.body, code: code)
706
+ end
707
+ end
708
+
709
+ # @param request_options [Hash]
710
+ # @param params [Hash]
711
+ # @option request_options [String] :base_url
712
+ # @option request_options [Hash{String => Object}] :additional_headers
713
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
714
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
715
+ # @option request_options [Integer] :timeout_in_seconds
716
+ # @option params [String, nil] :ids
717
+ # @option params [Boolean, nil] :is_active
718
+ # @option params [String, nil] :name
719
+ # @option params [Schematic::Types::BillingPriceUsageType, nil] :price_usage_type
720
+ # @option params [Schematic::Types::BillingProviderType, nil] :provider_type
721
+ # @option params [String, nil] :q
722
+ # @option params [Boolean, nil] :with_one_time_charges
723
+ # @option params [Boolean, nil] :with_prices_only
724
+ # @option params [Boolean, nil] :with_zero_price
725
+ # @option params [Boolean, nil] :without_linked_to_plan
726
+ # @option params [Integer, nil] :limit
727
+ # @option params [Integer, nil] :offset
728
+ #
729
+ # @return [Schematic::Billing::Types::ListBillingProductsResponse]
730
+ def list_billing_products(request_options: {}, **params)
731
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
732
+ query_param_names = %i[ids is_active name price_usage_type provider_type q with_one_time_charges with_prices_only with_zero_price without_linked_to_plan limit offset]
733
+ query_params = {}
734
+ query_params["ids"] = params[:ids] if params.key?(:ids)
735
+ query_params["is_active"] = params[:is_active] if params.key?(:is_active)
736
+ query_params["name"] = params[:name] if params.key?(:name)
737
+ query_params["price_usage_type"] = params[:price_usage_type] if params.key?(:price_usage_type)
738
+ query_params["provider_type"] = params[:provider_type] if params.key?(:provider_type)
739
+ query_params["q"] = params[:q] if params.key?(:q)
740
+ query_params["with_one_time_charges"] = params[:with_one_time_charges] if params.key?(:with_one_time_charges)
741
+ query_params["with_prices_only"] = params[:with_prices_only] if params.key?(:with_prices_only)
742
+ query_params["with_zero_price"] = params[:with_zero_price] if params.key?(:with_zero_price)
743
+ query_params["without_linked_to_plan"] = params[:without_linked_to_plan] if params.key?(:without_linked_to_plan)
744
+ query_params["limit"] = params[:limit] if params.key?(:limit)
745
+ query_params["offset"] = params[:offset] if params.key?(:offset)
746
+ params.except(*query_param_names)
747
+
748
+ request = Schematic::Internal::JSON::Request.new(
749
+ base_url: request_options[:base_url],
750
+ method: "GET",
751
+ path: "billing/products",
752
+ query: query_params,
753
+ request_options: request_options
754
+ )
755
+ begin
756
+ response = @client.send(request)
757
+ rescue Net::HTTPRequestTimeout
758
+ raise Schematic::Errors::TimeoutError
759
+ end
760
+ code = response.code.to_i
761
+ if code.between?(200, 299)
762
+ Schematic::Billing::Types::ListBillingProductsResponse.load(response.body)
763
+ else
764
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
765
+ raise error_class.new(response.body, code: code)
766
+ end
767
+ end
768
+
769
+ # @param request_options [Hash]
770
+ # @param params [Hash]
771
+ # @option request_options [String] :base_url
772
+ # @option request_options [Hash{String => Object}] :additional_headers
773
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
774
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
775
+ # @option request_options [Integer] :timeout_in_seconds
776
+ # @option params [String, nil] :ids
777
+ # @option params [Boolean, nil] :is_active
778
+ # @option params [String, nil] :name
779
+ # @option params [Schematic::Types::BillingPriceUsageType, nil] :price_usage_type
780
+ # @option params [Schematic::Types::BillingProviderType, nil] :provider_type
781
+ # @option params [String, nil] :q
782
+ # @option params [Boolean, nil] :with_one_time_charges
783
+ # @option params [Boolean, nil] :with_prices_only
784
+ # @option params [Boolean, nil] :with_zero_price
785
+ # @option params [Boolean, nil] :without_linked_to_plan
786
+ # @option params [Integer, nil] :limit
787
+ # @option params [Integer, nil] :offset
788
+ #
789
+ # @return [Schematic::Billing::Types::CountBillingProductsResponse]
790
+ def count_billing_products(request_options: {}, **params)
791
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
792
+ query_param_names = %i[ids is_active name price_usage_type provider_type q with_one_time_charges with_prices_only with_zero_price without_linked_to_plan limit offset]
793
+ query_params = {}
794
+ query_params["ids"] = params[:ids] if params.key?(:ids)
795
+ query_params["is_active"] = params[:is_active] if params.key?(:is_active)
796
+ query_params["name"] = params[:name] if params.key?(:name)
797
+ query_params["price_usage_type"] = params[:price_usage_type] if params.key?(:price_usage_type)
798
+ query_params["provider_type"] = params[:provider_type] if params.key?(:provider_type)
799
+ query_params["q"] = params[:q] if params.key?(:q)
800
+ query_params["with_one_time_charges"] = params[:with_one_time_charges] if params.key?(:with_one_time_charges)
801
+ query_params["with_prices_only"] = params[:with_prices_only] if params.key?(:with_prices_only)
802
+ query_params["with_zero_price"] = params[:with_zero_price] if params.key?(:with_zero_price)
803
+ query_params["without_linked_to_plan"] = params[:without_linked_to_plan] if params.key?(:without_linked_to_plan)
804
+ query_params["limit"] = params[:limit] if params.key?(:limit)
805
+ query_params["offset"] = params[:offset] if params.key?(:offset)
806
+ params.except(*query_param_names)
807
+
808
+ request = Schematic::Internal::JSON::Request.new(
809
+ base_url: request_options[:base_url],
810
+ method: "GET",
811
+ path: "billing/products/count",
812
+ query: query_params,
813
+ request_options: request_options
814
+ )
815
+ begin
816
+ response = @client.send(request)
817
+ rescue Net::HTTPRequestTimeout
818
+ raise Schematic::Errors::TimeoutError
819
+ end
820
+ code = response.code.to_i
821
+ if code.between?(200, 299)
822
+ Schematic::Billing::Types::CountBillingProductsResponse.load(response.body)
823
+ else
824
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
825
+ raise error_class.new(response.body, code: code)
826
+ end
827
+ end
828
+
829
+ # @param request_options [Hash]
830
+ # @param params [Schematic::Billing::Types::CreateBillingSubscriptionRequestBody]
831
+ # @option request_options [String] :base_url
832
+ # @option request_options [Hash{String => Object}] :additional_headers
833
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
834
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
835
+ # @option request_options [Integer] :timeout_in_seconds
836
+ #
837
+ # @return [Schematic::Billing::Types::UpsertBillingSubscriptionResponse]
838
+ def upsert_billing_subscription(request_options: {}, **params)
839
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
840
+ request = Schematic::Internal::JSON::Request.new(
841
+ base_url: request_options[:base_url],
842
+ method: "POST",
843
+ path: "billing/subscription/upsert",
844
+ body: Schematic::Billing::Types::CreateBillingSubscriptionRequestBody.new(params).to_h,
845
+ request_options: request_options
846
+ )
847
+ begin
848
+ response = @client.send(request)
849
+ rescue Net::HTTPRequestTimeout
850
+ raise Schematic::Errors::TimeoutError
851
+ end
852
+ code = response.code.to_i
853
+ if code.between?(200, 299)
854
+ Schematic::Billing::Types::UpsertBillingSubscriptionResponse.load(response.body)
855
+ else
856
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
857
+ raise error_class.new(response.body, code: code)
858
+ end
859
+ end
860
+ end
861
+ end
862
+ end