schematichq 1.4.0 → 1.4.2

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 (279) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +4 -4
  3. data/.fern/replay.lock +10 -0
  4. data/.fernignore +3 -0
  5. data/README.md +1 -1
  6. data/lib/schematic/accounts/client.rb +76 -0
  7. data/lib/schematic/accounts/types/get_account_member_response.rb +12 -0
  8. data/lib/schematic/accounts/types/list_account_members_params.rb +15 -0
  9. data/lib/schematic/accounts/types/list_account_members_request.rb +14 -0
  10. data/lib/schematic/accounts/types/list_account_members_response.rb +12 -0
  11. data/lib/schematic/billing/client.rb +6 -2
  12. data/lib/schematic/billing/types/count_billing_products_params.rb +1 -0
  13. data/lib/schematic/billing/types/count_billing_products_request.rb +1 -0
  14. data/lib/schematic/billing/types/create_billing_price_request_body.rb +2 -0
  15. data/lib/schematic/billing/types/create_billing_subscription_request_body.rb +1 -0
  16. data/lib/schematic/billing/types/create_meter_request_body.rb +1 -0
  17. data/lib/schematic/billing/types/list_billing_products_params.rb +1 -0
  18. data/lib/schematic/billing/types/list_billing_products_request.rb +1 -0
  19. data/lib/schematic/cache.rb +7 -4
  20. data/lib/schematic/client.rb +14 -4
  21. data/lib/schematic/companies/client.rb +8 -105
  22. data/lib/schematic/companies/types/count_companies_params.rb +1 -0
  23. data/lib/schematic/companies/types/count_companies_request.rb +1 -0
  24. data/lib/schematic/companies/types/list_companies_params.rb +1 -0
  25. data/lib/schematic/companies/types/list_companies_request.rb +1 -0
  26. data/lib/schematic/companies/types/list_plan_changes_params.rb +2 -2
  27. data/lib/schematic/companies/types/list_plan_changes_request.rb +2 -2
  28. data/lib/schematic/credits/client.rb +44 -2
  29. data/lib/schematic/credits/types/count_billing_plan_credit_grants_params.rb +1 -0
  30. data/lib/schematic/credits/types/count_billing_plan_credit_grants_request.rb +1 -0
  31. data/lib/schematic/credits/types/list_billing_plan_credit_grants_params.rb +1 -0
  32. data/lib/schematic/credits/types/list_billing_plan_credit_grants_request.rb +1 -0
  33. data/lib/schematic/credits/types/list_company_credit_balances_params.rb +12 -0
  34. data/lib/schematic/credits/types/list_company_credit_balances_request.rb +11 -0
  35. data/lib/schematic/credits/types/list_company_credit_balances_response.rb +12 -0
  36. data/lib/schematic/datastream/client.rb +28 -21
  37. data/lib/schematic/datastream/websocket_client.rb +32 -1
  38. data/lib/schematic/entitlements/client.rb +38 -2
  39. data/lib/schematic/entitlements/types/count_feature_usage_params.rb +1 -0
  40. data/lib/schematic/entitlements/types/count_feature_usage_request.rb +1 -0
  41. data/lib/schematic/entitlements/types/create_billing_linked_plan_entitlement_request_body.rb +44 -0
  42. data/lib/schematic/entitlements/types/create_company_override_request_body.rb +2 -2
  43. data/lib/schematic/entitlements/types/create_plan_entitlement_request_body.rb +6 -2
  44. data/lib/schematic/entitlements/types/list_feature_usage_params.rb +1 -0
  45. data/lib/schematic/entitlements/types/list_feature_usage_request.rb +1 -0
  46. data/lib/schematic/entitlements/types/update_company_override_request_body.rb +2 -2
  47. data/lib/schematic/entitlements/types/update_plan_entitlement_request_body.rb +6 -2
  48. data/lib/schematic/entitlements/types/upsert_plan_entitlement_for_billing_product_response.rb +12 -0
  49. data/lib/schematic/event_buffer.rb +10 -2
  50. data/lib/schematic/events/client.rb +3 -1
  51. data/lib/schematic/events/types/list_events_params.rb +1 -0
  52. data/lib/schematic/events/types/list_events_request.rb +1 -0
  53. data/lib/schematic/features/client.rb +50 -14
  54. data/lib/schematic/features/types/count_features_params.rb +1 -0
  55. data/lib/schematic/features/types/count_features_request.rb +4 -3
  56. data/lib/schematic/features/types/create_billing_linked_feature_request_body.rb +23 -0
  57. data/lib/schematic/features/types/create_feature_request_body.rb +1 -1
  58. data/lib/schematic/features/types/list_features_params.rb +1 -0
  59. data/lib/schematic/features/types/list_features_request.rb +4 -3
  60. data/lib/schematic/features/types/update_feature_request_body.rb +1 -1
  61. data/lib/schematic/features/types/upsert_feature_for_billing_product_response.rb +12 -0
  62. data/lib/schematic/insights/client.rb +251 -0
  63. data/lib/schematic/insights/types/get_activity_params.rb +12 -0
  64. data/lib/schematic/insights/types/get_activity_request.rb +11 -0
  65. data/lib/schematic/insights/types/get_activity_response.rb +12 -0
  66. data/lib/schematic/insights/types/get_environment_feature_usage_time_series_params.rb +15 -0
  67. data/lib/schematic/insights/types/get_environment_feature_usage_time_series_request.rb +14 -0
  68. data/lib/schematic/insights/types/get_environment_feature_usage_time_series_response.rb +12 -0
  69. data/lib/schematic/insights/types/get_environment_trait_usage_time_series_params.rb +15 -0
  70. data/lib/schematic/insights/types/get_environment_trait_usage_time_series_request.rb +14 -0
  71. data/lib/schematic/insights/types/get_environment_trait_usage_time_series_response.rb +12 -0
  72. data/lib/schematic/insights/types/get_plan_growth_params.rb +12 -0
  73. data/lib/schematic/insights/types/get_plan_growth_request.rb +11 -0
  74. data/lib/schematic/insights/types/get_plan_growth_response.rb +12 -0
  75. data/lib/schematic/{companies/types/create_plan_trait_response.rb → insights/types/get_summary_response.rb} +3 -3
  76. data/lib/schematic/insights/types/get_top_features_by_usage_params.rb +14 -0
  77. data/lib/schematic/insights/types/get_top_features_by_usage_request.rb +13 -0
  78. data/lib/schematic/insights/types/get_top_features_by_usage_response.rb +12 -0
  79. data/lib/schematic/integrationsapi/client.rb +223 -0
  80. data/lib/schematic/integrationsapi/types/get_integration_webhook_url_response.rb +12 -0
  81. data/lib/schematic/integrationsapi/types/list_integrations_params.rb +18 -0
  82. data/lib/schematic/integrationsapi/types/list_integrations_request.rb +17 -0
  83. data/lib/schematic/integrationsapi/types/list_integrations_response.rb +12 -0
  84. data/lib/schematic/integrationsapi/types/load_sample_data_set_v_2_response.rb +12 -0
  85. data/lib/schematic/integrationsapi/types/run_integration_response.rb +12 -0
  86. data/lib/schematic/integrationsapi/types/start_data_import_request_body.rb +13 -0
  87. data/lib/schematic/integrationsapi/types/start_data_import_response.rb +12 -0
  88. data/lib/schematic/{companies/types/delete_plan_trait_response.rb → integrationsapi/types/uninstall_integration_response.rb} +2 -2
  89. data/lib/schematic/planbundle/client.rb +32 -0
  90. data/lib/schematic/planbundle/types/create_custom_plan_bundle_request_body.rb +13 -0
  91. data/lib/schematic/planbundle/types/create_custom_plan_bundle_response.rb +12 -0
  92. data/lib/schematic/plans/client.rb +251 -2
  93. data/lib/schematic/plans/types/count_billing_product_match_companies_params.rb +15 -0
  94. data/lib/schematic/plans/types/count_billing_product_match_companies_request.rb +14 -0
  95. data/lib/schematic/plans/types/count_billing_product_match_companies_response.rb +12 -0
  96. data/lib/schematic/plans/types/count_plans_params.rb +3 -0
  97. data/lib/schematic/plans/types/count_plans_request.rb +3 -0
  98. data/lib/schematic/plans/types/create_billing_linked_plan_request_body.rb +17 -0
  99. data/lib/schematic/plans/types/create_custom_plan_request_body.rb +15 -0
  100. data/lib/schematic/{companies/types/update_plan_trait_response.rb → plans/types/create_custom_plan_response.rb} +3 -3
  101. data/lib/schematic/plans/types/list_billing_product_match_companies_params.rb +15 -0
  102. data/lib/schematic/plans/types/list_billing_product_match_companies_request.rb +14 -0
  103. data/lib/schematic/plans/types/list_billing_product_match_companies_response.rb +12 -0
  104. data/lib/schematic/plans/types/list_custom_plan_billings_params.rb +17 -0
  105. data/lib/schematic/plans/types/list_custom_plan_billings_request.rb +16 -0
  106. data/lib/schematic/plans/types/list_custom_plan_billings_response.rb +12 -0
  107. data/lib/schematic/plans/types/list_plans_params.rb +3 -0
  108. data/lib/schematic/plans/types/list_plans_request.rb +3 -0
  109. data/lib/schematic/plans/types/publish_plan_version_request_body.rb +4 -0
  110. data/lib/schematic/plans/types/retry_custom_plan_billing_request_body.rb +15 -0
  111. data/lib/schematic/plans/types/retry_custom_plan_billing_response.rb +12 -0
  112. data/lib/schematic/plans/types/upsert_plan_for_billing_product_response.rb +12 -0
  113. data/lib/schematic/redis_cache.rb +5 -2
  114. data/lib/schematic/schematic_client.rb +0 -1
  115. data/lib/schematic/types/account_member_permission.rb +25 -0
  116. data/lib/schematic/types/account_member_response_data.rb +16 -0
  117. data/lib/schematic/types/{rulesengine_company_metric_month_reset.rb → account_member_role.rb} +3 -3
  118. data/lib/schematic/types/activity_entry_response_data.rb +14 -0
  119. data/lib/schematic/types/activity_response_response_data.rb +9 -0
  120. data/lib/schematic/types/api_key_create_response_data.rb +2 -0
  121. data/lib/schematic/types/api_key_integration_response_data.rb +11 -0
  122. data/lib/schematic/types/api_key_response_data.rb +2 -0
  123. data/lib/schematic/types/audit_log_list_response_data.rb +2 -0
  124. data/lib/schematic/types/audit_log_response_data.rb +2 -0
  125. data/lib/schematic/types/billing_credit_bundle_view.rb +1 -1
  126. data/lib/schematic/types/billing_credit_view.rb +1 -0
  127. data/lib/schematic/types/billing_linked_resource_response_data.rb +11 -0
  128. data/lib/schematic/types/billing_plan_credit_grant_response_data.rb +2 -0
  129. data/lib/schematic/types/billing_price_response_data.rb +2 -0
  130. data/lib/schematic/types/billing_price_view.rb +2 -0
  131. data/lib/schematic/types/billing_product_for_subscription_response_data.rb +1 -0
  132. data/lib/schematic/types/billing_product_plan_response_data.rb +2 -1
  133. data/lib/schematic/types/billing_product_price_response_data.rb +2 -0
  134. data/lib/schematic/types/billing_provider_type.rb +1 -0
  135. data/lib/schematic/types/billing_strategy.rb +13 -0
  136. data/lib/schematic/types/change_subscription_internal_request_body.rb +1 -0
  137. data/lib/schematic/types/change_subscription_request_body.rb +1 -0
  138. data/lib/schematic/types/charge_type.rb +1 -0
  139. data/lib/schematic/types/check_flag_response_data.rb +2 -2
  140. data/lib/schematic/types/checkout_subscription.rb +1 -0
  141. data/lib/schematic/types/clerk_integration_config.rb +10 -0
  142. data/lib/schematic/types/company_credit_balance_response_data.rb +12 -0
  143. data/lib/schematic/types/company_detail_response_data.rb +1 -0
  144. data/lib/schematic/types/company_event_period_metrics_response_data.rb +2 -2
  145. data/lib/schematic/types/company_matching_criteria.rb +12 -0
  146. data/lib/schematic/types/company_override_response_data.rb +2 -2
  147. data/lib/schematic/types/company_plan_credit_grant_view.rb +40 -0
  148. data/lib/schematic/types/company_plan_detail_response_data.rb +9 -3
  149. data/lib/schematic/types/company_plan_with_billing_sub_view.rb +1 -1
  150. data/lib/schematic/types/company_subscription_response_data.rb +1 -0
  151. data/lib/schematic/types/{condition_operator.rb → comparable_operator.rb} +4 -4
  152. data/lib/schematic/types/condition.rb +4 -4
  153. data/lib/schematic/types/condition_response_data.rb +4 -4
  154. data/lib/schematic/types/{condition_condition_type.rb → condition_type.rb} +1 -1
  155. data/lib/schematic/types/condition_view.rb +4 -4
  156. data/lib/schematic/types/create_billing_plan_credit_grant_request_body.rb +2 -0
  157. data/lib/schematic/types/create_custom_plan_bundle_plan_request_body.rb +12 -0
  158. data/lib/schematic/types/create_entitlement_in_bundle_request_body.rb +6 -2
  159. data/lib/schematic/types/create_entitlement_req_common.rb +2 -2
  160. data/lib/schematic/types/create_event_request_body.rb +3 -0
  161. data/lib/schematic/types/create_flag_request_body.rb +1 -1
  162. data/lib/schematic/types/create_or_update_condition_request_body.rb +4 -4
  163. data/lib/schematic/types/create_or_update_flag_request_body.rb +1 -1
  164. data/lib/schematic/types/create_or_update_rule_request_body.rb +1 -1
  165. data/lib/schematic/types/create_plan_request_body.rb +1 -1
  166. data/lib/schematic/types/credit_currency_price.rb +10 -0
  167. data/lib/schematic/types/currency_price_request_body.rb +3 -0
  168. data/lib/schematic/types/custom_plan_activation_strategy.rb +12 -0
  169. data/lib/schematic/types/custom_plan_billing_response_data.rb +19 -0
  170. data/lib/schematic/types/custom_plan_billing_status.rb +14 -0
  171. data/lib/schematic/types/data_event_payload.rb +3 -0
  172. data/lib/schematic/types/datastream_company_plan.rb +1 -0
  173. data/lib/schematic/types/duplicate_plan_entitlements_response_response_data.rb +1 -0
  174. data/lib/schematic/types/entitlement_currency_prices_response_data.rb +1 -0
  175. data/lib/schematic/types/environment_feature_usage_time_series_response_data.rb +11 -0
  176. data/lib/schematic/types/environment_trait_usage_time_series_response_data.rb +11 -0
  177. data/lib/schematic/types/environment_usage_point_response_data.rb +10 -0
  178. data/lib/schematic/types/event_detail_response_data.rb +2 -0
  179. data/lib/schematic/types/event_response_data.rb +1 -0
  180. data/lib/schematic/types/feature_company_response_data.rb +4 -3
  181. data/lib/schematic/types/feature_company_user_response_data.rb +2 -2
  182. data/lib/schematic/types/feature_detail_response_data.rb +3 -1
  183. data/lib/schematic/types/feature_entitlement.rb +2 -2
  184. data/lib/schematic/types/feature_in_plan_response_data.rb +26 -0
  185. data/lib/schematic/types/feature_response_data.rb +1 -1
  186. data/lib/schematic/types/feature_usage_response_data.rb +4 -3
  187. data/lib/schematic/types/feature_view.rb +1 -1
  188. data/lib/schematic/types/flag_detail_response_data.rb +2 -1
  189. data/lib/schematic/types/flag_in_plan_response_data.rb +21 -0
  190. data/lib/schematic/types/flag_response_data.rb +1 -1
  191. data/lib/schematic/types/flag_view.rb +0 -1
  192. data/lib/schematic/types/insights_summary_response_data.rb +14 -0
  193. data/lib/schematic/types/integration_capabilities.rb +11 -0
  194. data/lib/schematic/types/integration_config.rb +15 -0
  195. data/lib/schematic/types/integration_response_data.rb +13 -0
  196. data/lib/schematic/types/integration_state.rb +13 -0
  197. data/lib/schematic/types/{plan_controlled_by_type.rb → integration_type.rb} +4 -2
  198. data/lib/schematic/types/integration_webhook_url_response_data.rb +10 -0
  199. data/lib/schematic/types/integrations_data_set_response_data.rb +9 -0
  200. data/lib/schematic/types/integrations_list_response_data.rb +15 -0
  201. data/lib/schematic/types/integrations_response_data.rb +13 -0
  202. data/lib/schematic/types/{condition_metric_period.rb → metric_period.rb} +1 -1
  203. data/lib/schematic/types/{feature_entitlement_month_reset.rb → metric_period_month_reset.rb} +2 -2
  204. data/lib/schematic/types/mrr_response_data.rb +10 -0
  205. data/lib/schematic/types/orb_integration_config.rb +9 -0
  206. data/lib/schematic/types/plan_credit_grant_view.rb +2 -0
  207. data/lib/schematic/types/plan_currency_price_request_body.rb +1 -0
  208. data/lib/schematic/types/plan_currency_prices_response_data.rb +1 -0
  209. data/lib/schematic/types/plan_detail_response_data.rb +9 -3
  210. data/lib/schematic/types/plan_entitlement_response_data.rb +4 -2
  211. data/lib/schematic/types/plan_group_plan_detail_response_data.rb +9 -3
  212. data/lib/schematic/types/plan_growth_point_response_data.rb +12 -0
  213. data/lib/schematic/types/plan_growth_response_data.rb +9 -0
  214. data/lib/schematic/types/plan_icon.rb +35 -0
  215. data/lib/schematic/types/plan_response_data.rb +3 -1
  216. data/lib/schematic/types/plan_version_response_data.rb +1 -1
  217. data/lib/schematic/types/plan_view_public_response_data.rb +9 -3
  218. data/lib/schematic/types/rule.rb +1 -1
  219. data/lib/schematic/types/rule_condition_detail_response_data.rb +4 -4
  220. data/lib/schematic/types/rule_condition_response_data.rb +4 -4
  221. data/lib/schematic/types/rule_detail_response_data.rb +1 -1
  222. data/lib/schematic/types/rule_response_data.rb +1 -1
  223. data/lib/schematic/types/{rule_rule_type.rb → rule_type.rb} +3 -3
  224. data/lib/schematic/types/rule_view.rb +1 -1
  225. data/lib/schematic/types/rules_engine_schema_version.rb +1 -1
  226. data/lib/schematic/types/rulesengine_check_flag_result.rb +2 -2
  227. data/lib/schematic/types/rulesengine_company_metric.rb +2 -2
  228. data/lib/schematic/types/rulesengine_condition.rb +4 -4
  229. data/lib/schematic/types/{rulesengine_condition_condition_type.rb → rulesengine_condition_type.rb} +1 -1
  230. data/lib/schematic/types/rulesengine_feature_entitlement.rb +2 -2
  231. data/lib/schematic/types/{feature_entitlement_metric_period.rb → rulesengine_metric_period.rb} +1 -1
  232. data/lib/schematic/types/{condition_metric_period_month_reset.rb → rulesengine_metric_period_month_reset.rb} +2 -2
  233. data/lib/schematic/types/rulesengine_rule.rb +1 -1
  234. data/lib/schematic/types/{rulesengine_rule_rule_type.rb → rulesengine_rule_type.rb} +3 -3
  235. data/lib/schematic/types/stripe_integration_config.rb +15 -0
  236. data/lib/schematic/types/top_feature_by_usage_response_data.rb +14 -0
  237. data/lib/schematic/types/top_features_by_usage_response_data.rb +9 -0
  238. data/lib/schematic/types/trial_status.rb +13 -0
  239. data/lib/schematic/types/update_auto_topup_override_request_body.rb +12 -0
  240. data/lib/schematic/types/update_billing_plan_credit_grant_request_body.rb +2 -0
  241. data/lib/schematic/types/update_entitlement_req_common.rb +2 -2
  242. data/lib/schematic/types/update_plan_request_body.rb +1 -1
  243. data/lib/schematic/types/upsert_billing_product_request_body.rb +3 -0
  244. data/lib/schematic/types/usage_based_entitlement_request_body.rb +4 -0
  245. data/lib/schematic/types/usage_based_entitlement_response_data.rb +3 -2
  246. data/lib/schematic/types/webhook_url.rb +10 -0
  247. data/lib/schematic/version.rb +1 -1
  248. data/lib/schematic.rb +121 -57
  249. data/reference.md +2910 -886
  250. metadata +110 -45
  251. data/lib/schematic/companies/types/create_plan_trait_request_body.rb +0 -13
  252. data/lib/schematic/companies/types/update_plan_trait_request_body.rb +0 -13
  253. data/lib/schematic/entitlements/types/create_company_override_request_body_metric_period.rb +0 -16
  254. data/lib/schematic/entitlements/types/create_company_override_request_body_metric_period_month_reset.rb +0 -14
  255. data/lib/schematic/entitlements/types/create_plan_entitlement_request_body_metric_period.rb +0 -16
  256. data/lib/schematic/entitlements/types/create_plan_entitlement_request_body_metric_period_month_reset.rb +0 -14
  257. data/lib/schematic/entitlements/types/update_company_override_request_body_metric_period.rb +0 -16
  258. data/lib/schematic/entitlements/types/update_company_override_request_body_metric_period_month_reset.rb +0 -14
  259. data/lib/schematic/entitlements/types/update_plan_entitlement_request_body_metric_period.rb +0 -16
  260. data/lib/schematic/entitlements/types/update_plan_entitlement_request_body_metric_period_month_reset.rb +0 -14
  261. data/lib/schematic/types/create_entitlement_in_bundle_request_body_metric_period.rb +0 -14
  262. data/lib/schematic/types/create_entitlement_in_bundle_request_body_metric_period_month_reset.rb +0 -12
  263. data/lib/schematic/types/create_entitlement_req_common_metric_period.rb +0 -14
  264. data/lib/schematic/types/create_entitlement_req_common_metric_period_month_reset.rb +0 -12
  265. data/lib/schematic/types/create_or_update_condition_request_body_condition_type.rb +0 -17
  266. data/lib/schematic/types/create_or_update_condition_request_body_metric_period.rb +0 -14
  267. data/lib/schematic/types/create_or_update_condition_request_body_metric_period_month_reset.rb +0 -12
  268. data/lib/schematic/types/create_or_update_condition_request_body_operator.rb +0 -18
  269. data/lib/schematic/types/create_or_update_rule_request_body_rule_type.rb +0 -15
  270. data/lib/schematic/types/rulesengine_check_flag_result_feature_usage_period.rb +0 -14
  271. data/lib/schematic/types/rulesengine_check_flag_result_rule_type.rb +0 -17
  272. data/lib/schematic/types/rulesengine_company_metric_period.rb +0 -14
  273. data/lib/schematic/types/rulesengine_condition_metric_period.rb +0 -14
  274. data/lib/schematic/types/rulesengine_condition_metric_period_month_reset.rb +0 -12
  275. data/lib/schematic/types/rulesengine_condition_operator.rb +0 -18
  276. data/lib/schematic/types/rulesengine_feature_entitlement_metric_period.rb +0 -14
  277. data/lib/schematic/types/rulesengine_feature_entitlement_month_reset.rb +0 -12
  278. data/lib/schematic/types/update_entitlement_req_common_metric_period.rb +0 -14
  279. data/lib/schematic/types/update_entitlement_req_common_metric_period_month_reset.rb +0 -12
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Insights
5
+ module Types
6
+ class GetPlanGrowthResponse < Internal::Types::Model
7
+ field :data, -> { Schematic::Types::PlanGrowthResponseData }, optional: false, nullable: false
8
+ field :params, -> { Schematic::Insights::Types::GetPlanGrowthParams }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Schematic
4
- module Companies
4
+ module Insights
5
5
  module Types
6
- class CreatePlanTraitResponse < Internal::Types::Model
7
- field :data, -> { Schematic::Types::PlanTraitResponseData }, optional: false, nullable: false
6
+ class GetSummaryResponse < Internal::Types::Model
7
+ field :data, -> { Schematic::Types::InsightsSummaryResponseData }, optional: false, nullable: false
8
8
  field :params, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
9
9
  end
10
10
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Insights
5
+ module Types
6
+ # Input parameters
7
+ class GetTopFeaturesByUsageParams < Internal::Types::Model
8
+ field :end_time, -> { String }, optional: true, nullable: false
9
+ field :limit, -> { Integer }, optional: true, nullable: false
10
+ field :start_time, -> { String }, optional: true, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Insights
5
+ module Types
6
+ class GetTopFeaturesByUsageRequest < Internal::Types::Model
7
+ field :end_time, -> { String }, optional: false, nullable: false
8
+ field :limit, -> { Integer }, optional: true, nullable: false
9
+ field :start_time, -> { String }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Insights
5
+ module Types
6
+ class GetTopFeaturesByUsageResponse < Internal::Types::Model
7
+ field :data, -> { Schematic::Types::TopFeaturesByUsageResponseData }, optional: false, nullable: false
8
+ field :params, -> { Schematic::Insights::Types::GetTopFeaturesByUsageParams }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,223 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Integrationsapi
5
+ class Client
6
+ # @param client [Schematic::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
9
+ def initialize(client:)
10
+ @client = client
11
+ end
12
+
13
+ # @param request_options [Hash]
14
+ # @param params [Hash]
15
+ # @option request_options [String] :base_url
16
+ # @option request_options [Hash{String => Object}] :additional_headers
17
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
18
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
19
+ # @option request_options [Integer] :timeout_in_seconds
20
+ # @option params [String] :integration_id
21
+ #
22
+ # @return [Schematic::Integrationsapi::Types::RunIntegrationResponse]
23
+ def run_integration(request_options: {}, **params)
24
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
25
+ request = Schematic::Internal::JSON::Request.new(
26
+ base_url: request_options[:base_url],
27
+ method: "GET",
28
+ path: "integration/start/#{URI.encode_uri_component(params[:integration_id].to_s)}",
29
+ request_options: request_options
30
+ )
31
+ begin
32
+ response = @client.send(request)
33
+ rescue Net::HTTPRequestTimeout
34
+ raise Schematic::Errors::TimeoutError
35
+ end
36
+ code = response.code.to_i
37
+ if code.between?(200, 299)
38
+ Schematic::Integrationsapi::Types::RunIntegrationResponse.load(response.body)
39
+ else
40
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
41
+ raise error_class.new(response.body, code: code)
42
+ end
43
+ end
44
+
45
+ # @param request_options [Hash]
46
+ # @param params [Hash]
47
+ # @option request_options [String] :base_url
48
+ # @option request_options [Hash{String => Object}] :additional_headers
49
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
50
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
51
+ # @option request_options [Integer] :timeout_in_seconds
52
+ # @option params [Boolean, nil] :billing_only
53
+ # @option params [String, nil] :exclude_ids
54
+ # @option params [String, nil] :id
55
+ # @option params [Schematic::Types::IntegrationState, nil] :state
56
+ # @option params [Schematic::Types::IntegrationType, nil] :type
57
+ # @option params [Integer, nil] :limit
58
+ # @option params [Integer, nil] :offset
59
+ #
60
+ # @return [Schematic::Integrationsapi::Types::ListIntegrationsResponse]
61
+ def list_integrations(request_options: {}, **params)
62
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
63
+ query_param_names = %i[billing_only exclude_ids id state type limit offset]
64
+ query_params = {}
65
+ query_params["billing_only"] = params[:billing_only] if params.key?(:billing_only)
66
+ query_params["exclude_ids"] = params[:exclude_ids] if params.key?(:exclude_ids)
67
+ query_params["id"] = params[:id] if params.key?(:id)
68
+ query_params["state"] = params[:state] if params.key?(:state)
69
+ query_params["type"] = params[:type] if params.key?(:type)
70
+ query_params["limit"] = params[:limit] if params.key?(:limit)
71
+ query_params["offset"] = params[:offset] if params.key?(:offset)
72
+ params.except(*query_param_names)
73
+
74
+ request = Schematic::Internal::JSON::Request.new(
75
+ base_url: request_options[:base_url],
76
+ method: "GET",
77
+ path: "integrations",
78
+ query: query_params,
79
+ request_options: request_options
80
+ )
81
+ begin
82
+ response = @client.send(request)
83
+ rescue Net::HTTPRequestTimeout
84
+ raise Schematic::Errors::TimeoutError
85
+ end
86
+ code = response.code.to_i
87
+ if code.between?(200, 299)
88
+ Schematic::Integrationsapi::Types::ListIntegrationsResponse.load(response.body)
89
+ else
90
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
91
+ raise error_class.new(response.body, code: code)
92
+ end
93
+ end
94
+
95
+ # @param request_options [Hash]
96
+ # @param params [Hash]
97
+ # @option request_options [String] :base_url
98
+ # @option request_options [Hash{String => Object}] :additional_headers
99
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
100
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
101
+ # @option request_options [Integer] :timeout_in_seconds
102
+ # @option params [String] :type
103
+ #
104
+ # @return [Schematic::Integrationsapi::Types::GetIntegrationWebhookUrlResponse]
105
+ def get_integration_webhook_url(request_options: {}, **params)
106
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
107
+ request = Schematic::Internal::JSON::Request.new(
108
+ base_url: request_options[:base_url],
109
+ method: "GET",
110
+ path: "integrations/#{URI.encode_uri_component(params[:type].to_s)}/webhook-url",
111
+ request_options: request_options
112
+ )
113
+ begin
114
+ response = @client.send(request)
115
+ rescue Net::HTTPRequestTimeout
116
+ raise Schematic::Errors::TimeoutError
117
+ end
118
+ code = response.code.to_i
119
+ if code.between?(200, 299)
120
+ Schematic::Integrationsapi::Types::GetIntegrationWebhookUrlResponse.load(response.body)
121
+ else
122
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
123
+ raise error_class.new(response.body, code: code)
124
+ end
125
+ end
126
+
127
+ # @param request_options [Hash]
128
+ # @param params [Schematic::Integrationsapi::Types::StartDataImportRequestBody]
129
+ # @option request_options [String] :base_url
130
+ # @option request_options [Hash{String => Object}] :additional_headers
131
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
132
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
133
+ # @option request_options [Integer] :timeout_in_seconds
134
+ #
135
+ # @return [Schematic::Integrationsapi::Types::StartDataImportResponse]
136
+ def start_data_import(request_options: {}, **params)
137
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
138
+ request = Schematic::Internal::JSON::Request.new(
139
+ base_url: request_options[:base_url],
140
+ method: "POST",
141
+ path: "integrations/start-data-import",
142
+ body: Schematic::Integrationsapi::Types::StartDataImportRequestBody.new(params).to_h,
143
+ request_options: request_options
144
+ )
145
+ begin
146
+ response = @client.send(request)
147
+ rescue Net::HTTPRequestTimeout
148
+ raise Schematic::Errors::TimeoutError
149
+ end
150
+ code = response.code.to_i
151
+ if code.between?(200, 299)
152
+ Schematic::Integrationsapi::Types::StartDataImportResponse.load(response.body)
153
+ else
154
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
155
+ raise error_class.new(response.body, code: code)
156
+ end
157
+ end
158
+
159
+ # @param request_options [Hash]
160
+ # @param params [Hash]
161
+ # @option request_options [String] :base_url
162
+ # @option request_options [Hash{String => Object}] :additional_headers
163
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
164
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
165
+ # @option request_options [Integer] :timeout_in_seconds
166
+ #
167
+ # @return [Schematic::Integrationsapi::Types::LoadSampleDataSetV2Response]
168
+ def load_sample_data_set_v_2(request_options: {}, **params)
169
+ Schematic::Internal::Types::Utils.normalize_keys(params)
170
+ request = Schematic::Internal::JSON::Request.new(
171
+ base_url: request_options[:base_url],
172
+ method: "GET",
173
+ path: "integrations/stripe/dataset-sample-v2",
174
+ request_options: request_options
175
+ )
176
+ begin
177
+ response = @client.send(request)
178
+ rescue Net::HTTPRequestTimeout
179
+ raise Schematic::Errors::TimeoutError
180
+ end
181
+ code = response.code.to_i
182
+ if code.between?(200, 299)
183
+ Schematic::Integrationsapi::Types::LoadSampleDataSetV2Response.load(response.body)
184
+ else
185
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
186
+ raise error_class.new(response.body, code: code)
187
+ end
188
+ end
189
+
190
+ # @param request_options [Hash]
191
+ # @param params [Hash]
192
+ # @option request_options [String] :base_url
193
+ # @option request_options [Hash{String => Object}] :additional_headers
194
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
195
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
196
+ # @option request_options [Integer] :timeout_in_seconds
197
+ # @option params [String] :integration_id
198
+ #
199
+ # @return [Schematic::Integrationsapi::Types::UninstallIntegrationResponse]
200
+ def uninstall_integration(request_options: {}, **params)
201
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
202
+ request = Schematic::Internal::JSON::Request.new(
203
+ base_url: request_options[:base_url],
204
+ method: "DELETE",
205
+ path: "integrations/uninstall/#{URI.encode_uri_component(params[:integration_id].to_s)}",
206
+ request_options: request_options
207
+ )
208
+ begin
209
+ response = @client.send(request)
210
+ rescue Net::HTTPRequestTimeout
211
+ raise Schematic::Errors::TimeoutError
212
+ end
213
+ code = response.code.to_i
214
+ if code.between?(200, 299)
215
+ Schematic::Integrationsapi::Types::UninstallIntegrationResponse.load(response.body)
216
+ else
217
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
218
+ raise error_class.new(response.body, code: code)
219
+ end
220
+ end
221
+ end
222
+ end
223
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Integrationsapi
5
+ module Types
6
+ class GetIntegrationWebhookUrlResponse < Internal::Types::Model
7
+ field :data, -> { Schematic::Types::IntegrationWebhookUrlResponseData }, optional: false, nullable: false
8
+ field :params, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Integrationsapi
5
+ module Types
6
+ # Input parameters
7
+ class ListIntegrationsParams < Internal::Types::Model
8
+ field :billing_only, -> { Internal::Types::Boolean }, optional: true, nullable: false
9
+ field :exclude_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false
10
+ field :id, -> { String }, optional: true, nullable: false
11
+ field :limit, -> { Integer }, optional: true, nullable: false
12
+ field :offset, -> { Integer }, optional: true, nullable: false
13
+ field :state, -> { Schematic::Types::IntegrationState }, optional: true, nullable: false
14
+ field :type, -> { Schematic::Types::IntegrationType }, optional: true, nullable: false
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Integrationsapi
5
+ module Types
6
+ class ListIntegrationsRequest < Internal::Types::Model
7
+ field :billing_only, -> { Internal::Types::Boolean }, optional: true, nullable: false
8
+ field :exclude_ids, -> { String }, optional: true, nullable: false
9
+ field :id, -> { String }, optional: true, nullable: false
10
+ field :state, -> { Schematic::Types::IntegrationState }, optional: true, nullable: false
11
+ field :type, -> { Schematic::Types::IntegrationType }, optional: true, nullable: false
12
+ field :limit, -> { Integer }, optional: true, nullable: false
13
+ field :offset, -> { Integer }, optional: true, nullable: false
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Integrationsapi
5
+ module Types
6
+ class ListIntegrationsResponse < Internal::Types::Model
7
+ field :data, -> { Internal::Types::Array[Schematic::Types::IntegrationsListResponseData] }, optional: false, nullable: false
8
+ field :params, -> { Schematic::Integrationsapi::Types::ListIntegrationsParams }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Integrationsapi
5
+ module Types
6
+ class LoadSampleDataSetV2Response < Internal::Types::Model
7
+ field :data, -> { Schematic::Types::IntegrationsDataSetResponseData }, optional: false, nullable: false
8
+ field :params, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Integrationsapi
5
+ module Types
6
+ class RunIntegrationResponse < Internal::Types::Model
7
+ field :data, -> { Schematic::Types::IntegrationsResponseData }, optional: false, nullable: false
8
+ field :params, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Integrationsapi
5
+ module Types
6
+ class StartDataImportRequestBody < Internal::Types::Model
7
+ field :company_matching_criteria, -> { Schematic::Types::CompanyMatchingCriteria }, optional: true, nullable: false
8
+ field :company_matching_field, -> { String }, optional: true, nullable: false
9
+ field :integration_id, -> { String }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Integrationsapi
5
+ module Types
6
+ class StartDataImportResponse < Internal::Types::Model
7
+ field :data, -> { Schematic::Types::IntegrationsResponseData }, optional: false, nullable: false
8
+ field :params, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Schematic
4
- module Companies
4
+ module Integrationsapi
5
5
  module Types
6
- class DeletePlanTraitResponse < Internal::Types::Model
6
+ class UninstallIntegrationResponse < Internal::Types::Model
7
7
  field :data, -> { Schematic::Types::DeleteResponse }, optional: false, nullable: false
8
8
  field :params, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
9
9
  end
@@ -10,6 +10,38 @@ module Schematic
10
10
  @client = client
11
11
  end
12
12
 
13
+ # @param request_options [Hash]
14
+ # @param params [Schematic::Planbundle::Types::CreateCustomPlanBundleRequestBody]
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
+ #
21
+ # @return [Schematic::Planbundle::Types::CreateCustomPlanBundleResponse]
22
+ def create_custom_plan_bundle(request_options: {}, **params)
23
+ params = Schematic::Internal::Types::Utils.normalize_keys(params)
24
+ request = Schematic::Internal::JSON::Request.new(
25
+ base_url: request_options[:base_url],
26
+ method: "POST",
27
+ path: "custom-plan-bundles",
28
+ body: Schematic::Planbundle::Types::CreateCustomPlanBundleRequestBody.new(params).to_h,
29
+ request_options: request_options
30
+ )
31
+ begin
32
+ response = @client.send(request)
33
+ rescue Net::HTTPRequestTimeout
34
+ raise Schematic::Errors::TimeoutError
35
+ end
36
+ code = response.code.to_i
37
+ if code.between?(200, 299)
38
+ Schematic::Planbundle::Types::CreateCustomPlanBundleResponse.load(response.body)
39
+ else
40
+ error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
41
+ raise error_class.new(response.body, code: code)
42
+ end
43
+ end
44
+
13
45
  # @param request_options [Hash]
14
46
  # @param params [Schematic::Planbundle::Types::CreatePlanBundleRequestBody]
15
47
  # @option request_options [String] :base_url
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Planbundle
5
+ module Types
6
+ class CreateCustomPlanBundleRequestBody < Internal::Types::Model
7
+ field :billing_product, -> { Schematic::Types::UpsertBillingProductRequestBody }, optional: true, nullable: false
8
+ field :entitlements, -> { Internal::Types::Array[Schematic::Types::PlanBundleEntitlementRequestBody] }, optional: false, nullable: false
9
+ field :plan, -> { Schematic::Types::CreateCustomPlanBundlePlanRequestBody }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Planbundle
5
+ module Types
6
+ class CreateCustomPlanBundleResponse < Internal::Types::Model
7
+ field :data, -> { Schematic::Types::PlanBundleResponseData }, optional: false, nullable: false
8
+ field :params, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end