schematichq 1.5.3 → 1.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +4 -4
  3. data/.fern/replay.lock +7 -1
  4. data/.fernignore +2 -0
  5. data/.rubocop.yml +4 -0
  6. data/README.md +1 -1
  7. data/WASM_VERSION +1 -1
  8. data/lib/schematic/accesstokens/client.rb +9 -1
  9. data/lib/schematic/accounts/client.rb +183 -21
  10. data/lib/schematic/billing/client.rb +325 -34
  11. data/lib/schematic/billing/types/create_billing_price_request_body.rb +1 -1
  12. data/lib/schematic/billing/types/create_billing_product_request_body.rb +1 -1
  13. data/lib/schematic/billing/types/create_billing_subscription_request_body.rb +1 -1
  14. data/lib/schematic/billing/types/create_coupon_request_body.rb +2 -2
  15. data/lib/schematic/billing/types/create_invoice_request_body.rb +1 -1
  16. data/lib/schematic/billing/types/get_billing_settings_response.rb +13 -0
  17. data/lib/schematic/billing/types/list_billing_prices_params.rb +1 -1
  18. data/lib/schematic/billing/types/list_billing_prices_request.rb +1 -1
  19. data/lib/schematic/billing/types/list_billing_product_prices_params.rb +1 -1
  20. data/lib/schematic/billing/types/list_billing_product_prices_request.rb +1 -1
  21. data/lib/schematic/billing/types/update_billing_settings_request_body.rb +11 -0
  22. data/lib/schematic/billing/types/update_billing_settings_response.rb +13 -0
  23. data/lib/schematic/catalogs/client.rb +121 -14
  24. data/lib/schematic/checkout/client.rb +80 -9
  25. data/lib/schematic/checkout/types/checkout_data_request_body.rb +1 -1
  26. data/lib/schematic/client.rb +5 -3
  27. data/lib/schematic/companies/client.rb +380 -44
  28. data/lib/schematic/components/client.rb +70 -8
  29. data/lib/schematic/components/types/create_component_request_body.rb +1 -1
  30. data/lib/schematic/components/types/update_component_request_body.rb +1 -1
  31. data/lib/schematic/componentspublic/client.rb +8 -1
  32. data/lib/schematic/credits/client.rb +409 -41
  33. data/lib/schematic/credits/types/acquire_credit_lease_request_body.rb +1 -1
  34. data/lib/schematic/credits/types/create_billing_credit_request_body.rb +1 -1
  35. data/lib/schematic/credits/types/create_company_credit_grant.rb +1 -1
  36. data/lib/schematic/credits/types/create_credit_bundle_request_body.rb +1 -1
  37. data/lib/schematic/credits/types/create_credit_spend_policy_request_body.rb +2 -2
  38. data/lib/schematic/credits/types/extend_credit_lease_request_body.rb +1 -1
  39. data/lib/schematic/credits/types/get_credit_balance_time_series_params.rb +18 -0
  40. data/lib/schematic/credits/types/get_credit_balance_time_series_request.rb +17 -0
  41. data/lib/schematic/credits/types/get_credit_balance_time_series_response.rb +13 -0
  42. data/lib/schematic/credits/types/reserve_credits_request_body.rb +1 -1
  43. data/lib/schematic/credits/types/update_credit_spend_policy_request_body.rb +2 -2
  44. data/lib/schematic/dataexports/client.rb +36 -6
  45. data/lib/schematic/entitlements/client.rb +244 -28
  46. data/lib/schematic/entitlements/types/create_billing_linked_plan_entitlement_request_body.rb +4 -2
  47. data/lib/schematic/entitlements/types/create_company_override_request_body.rb +3 -1
  48. data/lib/schematic/entitlements/types/create_plan_entitlement_request_body.rb +4 -2
  49. data/lib/schematic/entitlements/types/update_company_override_request_body.rb +3 -1
  50. data/lib/schematic/entitlements/types/update_plan_entitlement_request_body.rb +4 -2
  51. data/lib/schematic/errors/connection_error.rb +11 -0
  52. data/lib/schematic/errors/response_error.rb +23 -2
  53. data/lib/schematic/events/client.rb +78 -9
  54. data/lib/schematic/features/client.rb +160 -18
  55. data/lib/schematic/features/types/check_and_reserve_flag_request_body.rb +1 -1
  56. data/lib/schematic/features/types/create_billing_linked_feature_request_body.rb +2 -0
  57. data/lib/schematic/features/types/create_feature_request_body.rb +2 -0
  58. data/lib/schematic/features/types/update_feature_request_body.rb +2 -0
  59. data/lib/schematic/insights/client.rb +48 -6
  60. data/lib/schematic/integrationsapi/client.rb +120 -14
  61. data/lib/schematic/internal/http/base_request.rb +30 -0
  62. data/lib/schematic/internal/http/raw_client.rb +35 -5
  63. data/lib/schematic/internal/iterators/cursor_item_iterator.rb +7 -2
  64. data/lib/schematic/internal/iterators/cursor_page_iterator.rb +68 -14
  65. data/lib/schematic/internal/iterators/item_iterator.rb +61 -15
  66. data/lib/schematic/internal/iterators/offset_item_iterator.rb +7 -2
  67. data/lib/schematic/internal/iterators/offset_page_iterator.rb +57 -9
  68. data/lib/schematic/internal/json/request.rb +11 -2
  69. data/lib/schematic/internal/multipart/multipart_request.rb +1 -0
  70. data/lib/schematic/internal/types/model.rb +7 -3
  71. data/lib/schematic/internal/types/utils.rb +7 -0
  72. data/lib/schematic/licenses/client.rb +26 -3
  73. data/lib/schematic/planbundle/client.rb +27 -3
  74. data/lib/schematic/plangroups/client.rb +26 -3
  75. data/lib/schematic/planmigrations/client.rb +98 -11
  76. data/lib/schematic/plans/client.rb +213 -23
  77. data/lib/schematic/plans/types/get_plan_version_diff_params.rb +12 -0
  78. data/lib/schematic/plans/types/get_plan_version_diff_request.rb +13 -0
  79. data/lib/schematic/plans/types/get_plan_version_diff_response.rb +13 -0
  80. data/lib/schematic/plans/types/publish_plan_version_request_body.rb +2 -0
  81. data/lib/schematic/rules_engine.rb +14 -2
  82. data/lib/schematic/scheduledcheckout/client.rb +35 -4
  83. data/lib/schematic/schematic_client.rb +22 -11
  84. data/lib/schematic/types/billing_coupon_response_data.rb +2 -2
  85. data/lib/schematic/types/billing_credit_grant_response_data.rb +8 -8
  86. data/lib/schematic/types/billing_customer_subscription.rb +1 -1
  87. data/lib/schematic/types/billing_plan_credit_grant_response_data.rb +1 -1
  88. data/lib/schematic/types/billing_price_response_data.rb +1 -1
  89. data/lib/schematic/types/billing_price_view.rb +1 -1
  90. data/lib/schematic/types/billing_product_detail_response_data.rb +2 -2
  91. data/lib/schematic/types/billing_product_for_subscription_response_data.rb +2 -2
  92. data/lib/schematic/types/billing_product_price_response_data.rb +1 -1
  93. data/lib/schematic/types/billing_product_pricing.rb +1 -1
  94. data/lib/schematic/types/billing_product_response_data.rb +2 -2
  95. data/lib/schematic/types/billing_settings_response_data.rb +9 -0
  96. data/lib/schematic/types/billing_subscription_discount_view.rb +2 -2
  97. data/lib/schematic/types/billing_subscription_response_data.rb +1 -1
  98. data/lib/schematic/types/billing_subscription_view.rb +1 -1
  99. data/lib/schematic/types/catalog_config_ordered_plan.rb +2 -0
  100. data/lib/schematic/types/catalog_config_ordered_plan_response_data.rb +2 -0
  101. data/lib/schematic/types/catalog_config_plan_credit.rb +11 -0
  102. data/lib/schematic/types/catalog_config_plan_credit_response_data.rb +11 -0
  103. data/lib/schematic/types/change_subscription_internal_request_body.rb +1 -1
  104. data/lib/schematic/types/change_subscription_request_body.rb +1 -1
  105. data/lib/schematic/types/checkout_problem_code.rb +54 -0
  106. data/lib/schematic/types/checkout_problem_response_data.rb +31 -0
  107. data/lib/schematic/types/checkout_problem_source.rb +13 -0
  108. data/lib/schematic/types/checkout_subscription.rb +1 -1
  109. data/lib/schematic/types/company_billing_entity_subscription_response_data.rb +1 -1
  110. data/lib/schematic/types/company_credit_balance.rb +3 -3
  111. data/lib/schematic/types/company_credit_balance_response_data.rb +4 -4
  112. data/lib/schematic/types/company_detail_response_data.rb +1 -1
  113. data/lib/schematic/types/company_override_response_data.rb +3 -1
  114. data/lib/schematic/types/company_plan_credit_grant_view.rb +1 -1
  115. data/lib/schematic/types/company_plan_detail_response_data.rb +2 -0
  116. data/lib/schematic/types/company_subscription_response_data.rb +1 -1
  117. data/lib/schematic/types/company_user_usage_response_data.rb +2 -2
  118. data/lib/schematic/types/company_user_usage_row_response_data.rb +2 -2
  119. data/lib/schematic/types/component_response_data.rb +1 -1
  120. data/lib/schematic/types/condition.rb +3 -1
  121. data/lib/schematic/types/condition_response_data.rb +3 -1
  122. data/lib/schematic/types/condition_view.rb +3 -1
  123. data/lib/schematic/types/coupon_request_body.rb +2 -2
  124. data/lib/schematic/types/create_billing_plan_credit_grant_request_body.rb +1 -1
  125. data/lib/schematic/types/create_entitlement_in_bundle_request_body.rb +4 -2
  126. data/lib/schematic/types/create_entitlement_req_common.rb +3 -1
  127. data/lib/schematic/types/create_or_update_condition_request_body.rb +1 -1
  128. data/lib/schematic/types/credit_balance_event_response_data.rb +21 -0
  129. data/lib/schematic/types/credit_balance_feature_consumption_response_data.rb +13 -0
  130. data/lib/schematic/types/credit_balance_point_response_data.rb +15 -0
  131. data/lib/schematic/types/credit_balance_time_series_response_data.rb +15 -0
  132. data/lib/schematic/types/credit_bundle_currency_price.rb +1 -1
  133. data/lib/schematic/types/credit_bundle_currency_price_request_body.rb +1 -1
  134. data/lib/schematic/types/credit_bundle_currency_price_response_data.rb +1 -1
  135. data/lib/schematic/types/credit_burn_breakdown_line.rb +15 -0
  136. data/lib/schematic/types/credit_company_grant_view.rb +8 -8
  137. data/lib/schematic/types/credit_currency_price.rb +1 -1
  138. data/lib/schematic/types/credit_currency_price_request_body.rb +1 -1
  139. data/lib/schematic/types/credit_currency_price_response_data.rb +1 -1
  140. data/lib/schematic/types/credit_event_ledger_response_data.rb +10 -6
  141. data/lib/schematic/types/credit_grant_detail.rb +1 -1
  142. data/lib/schematic/types/credit_lease_response_data.rb +2 -2
  143. data/lib/schematic/types/credit_reservation_response_data.rb +2 -2
  144. data/lib/schematic/types/credit_spend_policy.rb +2 -2
  145. data/lib/schematic/types/credit_spend_policy_response_data.rb +4 -4
  146. data/lib/schematic/types/credit_transfer_response_data.rb +1 -1
  147. data/lib/schematic/types/credit_transfer_view.rb +1 -1
  148. data/lib/schematic/types/credit_usage.rb +5 -5
  149. data/lib/schematic/types/credit_usage_aggregation.rb +4 -4
  150. data/lib/schematic/types/credit_usage_reason.rb +1 -0
  151. data/lib/schematic/types/credits_in_plan.rb +11 -0
  152. data/lib/schematic/types/currency.rb +144 -0
  153. data/lib/schematic/types/currency_price_request_body.rb +1 -1
  154. data/lib/schematic/types/custom_plan_billing_response_data.rb +6 -0
  155. data/lib/schematic/types/entitlement_currency_prices_response_data.rb +1 -1
  156. data/lib/schematic/types/estimated_plan_total.rb +1 -1
  157. data/lib/schematic/types/feature_company_response_data.rb +7 -7
  158. data/lib/schematic/types/feature_detail_response_data.rb +2 -0
  159. data/lib/schematic/types/feature_entitlement.rb +8 -6
  160. data/lib/schematic/types/feature_event_source.rb +12 -0
  161. data/lib/schematic/types/feature_in_plan_response_data.rb +2 -0
  162. data/lib/schematic/types/feature_response_data.rb +2 -0
  163. data/lib/schematic/types/feature_usage_response_data.rb +7 -7
  164. data/lib/schematic/types/feature_view.rb +2 -0
  165. data/lib/schematic/types/flag_check_reservation_response_data.rb +3 -3
  166. data/lib/schematic/types/insights_summary_response_data.rb +1 -1
  167. data/lib/schematic/types/invoice_request_body.rb +1 -1
  168. data/lib/schematic/types/invoice_response_data.rb +1 -1
  169. data/lib/schematic/types/manage_plan_preview_response_response_data.rb +2 -0
  170. data/lib/schematic/types/manage_plan_request.rb +3 -1
  171. data/lib/schematic/types/manage_plan_response_response_data.rb +4 -0
  172. data/lib/schematic/types/mrr_response_data.rb +1 -1
  173. data/lib/schematic/types/onboarding_milestone_view.rb +1 -1
  174. data/lib/schematic/types/ordered_plans_in_group.rb +2 -0
  175. data/lib/schematic/types/plan_billing_source.rb +1 -0
  176. data/lib/schematic/types/plan_change_action.rb +1 -0
  177. data/lib/schematic/types/plan_change_amendment_status.rb +15 -0
  178. data/lib/schematic/types/plan_change_response_data.rb +4 -0
  179. data/lib/schematic/types/plan_credit_grant_view.rb +1 -1
  180. data/lib/schematic/types/plan_credit_order.rb +11 -0
  181. data/lib/schematic/types/plan_credit_visibility.rb +11 -0
  182. data/lib/schematic/types/plan_currency_price_request_body.rb +1 -1
  183. data/lib/schematic/types/plan_currency_prices_response_data.rb +1 -1
  184. data/lib/schematic/types/plan_entitlement_response_data.rb +3 -1
  185. data/lib/schematic/types/plan_group_plan_entitlements_order.rb +2 -0
  186. data/lib/schematic/types/plan_version_billing_product_change_response_data.rb +11 -0
  187. data/lib/schematic/types/plan_version_credit_grant_change_response_data.rb +17 -0
  188. data/lib/schematic/types/plan_version_diff_change_type.rb +13 -0
  189. data/lib/schematic/types/plan_version_diff_price_cadence.rb +14 -0
  190. data/lib/schematic/types/plan_version_diff_response_data.rb +23 -0
  191. data/lib/schematic/types/plan_version_entitlement_change_response_data.rb +17 -0
  192. data/lib/schematic/types/plan_version_field_change_response_data.rb +13 -0
  193. data/lib/schematic/types/plan_version_price_change_response_data.rb +15 -0
  194. data/lib/schematic/types/plan_view_public_response_data.rb +2 -0
  195. data/lib/schematic/types/preflight_request_body.rb +1 -1
  196. data/lib/schematic/types/preview_subscription_change_response_data.rb +3 -1
  197. data/lib/schematic/types/preview_subscription_discount_response_data.rb +2 -2
  198. data/lib/schematic/types/preview_subscription_finance_response_data.rb +2 -2
  199. data/lib/schematic/types/rulesengine_company.rb +1 -1
  200. data/lib/schematic/types/rulesengine_condition.rb +3 -1
  201. data/lib/schematic/types/rulesengine_credit_postpaid_config.rb +1 -1
  202. data/lib/schematic/types/rulesengine_credit_spend_policy.rb +2 -2
  203. data/lib/schematic/types/rulesengine_feature_entitlement.rb +8 -6
  204. data/lib/schematic/types/scheduled_downgrade_response_data.rb +1 -1
  205. data/lib/schematic/types/top_feature_by_usage_response_data.rb +1 -1
  206. data/lib/schematic/types/upcoming_invoice_response_data.rb +1 -1
  207. data/lib/schematic/types/update_billing_plan_credit_grant_request_body.rb +1 -1
  208. data/lib/schematic/types/update_entitlement_req_common.rb +3 -1
  209. data/lib/schematic/types/upsert_billing_product_request_body.rb +1 -1
  210. data/lib/schematic/types/usage_based_entitlement_request_body.rb +1 -1
  211. data/lib/schematic/types/usage_based_entitlement_response_data.rb +1 -1
  212. data/lib/schematic/types/user_credit_usage_response_data.rb +2 -2
  213. data/lib/schematic/types/user_daily_credit_point_response_data.rb +1 -1
  214. data/lib/schematic/types/user_feature_usage_response_data.rb +1 -1
  215. data/lib/schematic/version.rb +1 -1
  216. data/lib/schematic/wasm/rulesengine.wasm +0 -0
  217. data/lib/schematic/webhooks/client.rb +88 -10
  218. data/lib/schematic.rb +38 -3
  219. data/reference.md +340 -44
  220. metadata +37 -2
@@ -4,7 +4,7 @@ module Schematic
4
4
  module Billing
5
5
  module Types
6
6
  class ListBillingPricesRequest < Internal::Types::Model
7
- field :currency, -> { String }, optional: true, nullable: false
7
+ field :currency, -> { Schematic::Types::Currency }, optional: true, nullable: false
8
8
 
9
9
  field :for_initial_plan, -> { Internal::Types::Boolean }, optional: true, nullable: false
10
10
 
@@ -5,7 +5,7 @@ module Schematic
5
5
  module Types
6
6
  # Input parameters
7
7
  class ListBillingProductPricesParams < Internal::Types::Model
8
- field :currency, -> { String }, optional: true, nullable: false
8
+ field :currency, -> { Schematic::Types::Currency }, optional: true, nullable: false
9
9
 
10
10
  field :for_initial_plan, -> { Internal::Types::Boolean }, optional: true, nullable: false
11
11
 
@@ -4,7 +4,7 @@ module Schematic
4
4
  module Billing
5
5
  module Types
6
6
  class ListBillingProductPricesRequest < Internal::Types::Model
7
- field :currency, -> { String }, optional: true, nullable: false
7
+ field :currency, -> { Schematic::Types::Currency }, optional: true, nullable: false
8
8
 
9
9
  field :for_initial_plan, -> { Internal::Types::Boolean }, optional: true, nullable: false
10
10
 
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Billing
5
+ module Types
6
+ class UpdateBillingSettingsRequestBody < Internal::Types::Model
7
+ field :default_provider_type, -> { Schematic::Types::BillingProviderType }, optional: true, nullable: false
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Billing
5
+ module Types
6
+ class UpdateBillingSettingsResponse < Internal::Types::Model
7
+ field :data, -> { Schematic::Types::BillingSettingsResponseData }, optional: false, nullable: false
8
+
9
+ field :params, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -56,7 +56,15 @@ module Schematic
56
56
  (response.body.to_s.empty? ? nil : Schematic::Catalogs::Types::ListCatalogsResponse.load(response.body))
57
57
  else
58
58
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
59
- raise error_class.new(response.body, code: code)
59
+ error_types = {
60
+ 400 => Schematic::Types::ApiError,
61
+ 401 => Schematic::Types::ApiError,
62
+ 403 => Schematic::Types::ApiError,
63
+ 404 => Schematic::Types::ApiError,
64
+ 500 => Schematic::Types::ApiError
65
+ }
66
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
67
+ raise error_class.new(response.body, code: code, body: error_body)
60
68
  end
61
69
  end
62
70
 
@@ -91,7 +99,15 @@ module Schematic
91
99
  (response.body.to_s.empty? ? nil : Schematic::Catalogs::Types::CreateCatalogResponse.load(response.body))
92
100
  else
93
101
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
94
- raise error_class.new(response.body, code: code)
102
+ error_types = {
103
+ 400 => Schematic::Types::ApiError,
104
+ 401 => Schematic::Types::ApiError,
105
+ 403 => Schematic::Types::ApiError,
106
+ 404 => Schematic::Types::ApiError,
107
+ 500 => Schematic::Types::ApiError
108
+ }
109
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
110
+ raise error_class.new(response.body, code: code, body: error_body)
95
111
  end
96
112
  end
97
113
 
@@ -126,7 +142,14 @@ module Schematic
126
142
  (response.body.to_s.empty? ? nil : Schematic::Catalogs::Types::GetCatalogResponse.load(response.body))
127
143
  else
128
144
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
129
- raise error_class.new(response.body, code: code)
145
+ error_types = {
146
+ 401 => Schematic::Types::ApiError,
147
+ 403 => Schematic::Types::ApiError,
148
+ 404 => Schematic::Types::ApiError,
149
+ 500 => Schematic::Types::ApiError
150
+ }
151
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
152
+ raise error_class.new(response.body, code: code, body: error_body)
130
153
  end
131
154
  end
132
155
 
@@ -166,7 +189,15 @@ module Schematic
166
189
  (response.body.to_s.empty? ? nil : Schematic::Catalogs::Types::UpdateCatalogResponse.load(response.body))
167
190
  else
168
191
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
169
- raise error_class.new(response.body, code: code)
192
+ error_types = {
193
+ 400 => Schematic::Types::ApiError,
194
+ 401 => Schematic::Types::ApiError,
195
+ 403 => Schematic::Types::ApiError,
196
+ 404 => Schematic::Types::ApiError,
197
+ 500 => Schematic::Types::ApiError
198
+ }
199
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
200
+ raise error_class.new(response.body, code: code, body: error_body)
170
201
  end
171
202
  end
172
203
 
@@ -201,7 +232,15 @@ module Schematic
201
232
  (response.body.to_s.empty? ? nil : Schematic::Catalogs::Types::DeleteCatalogResponse.load(response.body))
202
233
  else
203
234
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
204
- raise error_class.new(response.body, code: code)
235
+ error_types = {
236
+ 400 => Schematic::Types::ApiError,
237
+ 401 => Schematic::Types::ApiError,
238
+ 403 => Schematic::Types::ApiError,
239
+ 404 => Schematic::Types::ApiError,
240
+ 500 => Schematic::Types::ApiError
241
+ }
242
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
243
+ raise error_class.new(response.body, code: code, body: error_body)
205
244
  end
206
245
  end
207
246
 
@@ -236,7 +275,14 @@ module Schematic
236
275
  (response.body.to_s.empty? ? nil : Schematic::Catalogs::Types::GetConfigurationResponse.load(response.body))
237
276
  else
238
277
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
239
- raise error_class.new(response.body, code: code)
278
+ error_types = {
279
+ 401 => Schematic::Types::ApiError,
280
+ 403 => Schematic::Types::ApiError,
281
+ 404 => Schematic::Types::ApiError,
282
+ 500 => Schematic::Types::ApiError
283
+ }
284
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
285
+ raise error_class.new(response.body, code: code, body: error_body)
240
286
  end
241
287
  end
242
288
 
@@ -276,7 +322,15 @@ module Schematic
276
322
  (response.body.to_s.empty? ? nil : Schematic::Catalogs::Types::UpdateConfigurationResponse.load(response.body))
277
323
  else
278
324
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
279
- raise error_class.new(response.body, code: code)
325
+ error_types = {
326
+ 400 => Schematic::Types::ApiError,
327
+ 401 => Schematic::Types::ApiError,
328
+ 403 => Schematic::Types::ApiError,
329
+ 404 => Schematic::Types::ApiError,
330
+ 500 => Schematic::Types::ApiError
331
+ }
332
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
333
+ raise error_class.new(response.body, code: code, body: error_body)
280
334
  end
281
335
  end
282
336
 
@@ -311,7 +365,14 @@ module Schematic
311
365
  (response.body.to_s.empty? ? nil : Schematic::Catalogs::Types::GetCreditBundlesInCatalogResponse.load(response.body))
312
366
  else
313
367
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
314
- raise error_class.new(response.body, code: code)
368
+ error_types = {
369
+ 401 => Schematic::Types::ApiError,
370
+ 403 => Schematic::Types::ApiError,
371
+ 404 => Schematic::Types::ApiError,
372
+ 500 => Schematic::Types::ApiError
373
+ }
374
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
375
+ raise error_class.new(response.body, code: code, body: error_body)
315
376
  end
316
377
  end
317
378
 
@@ -349,7 +410,15 @@ module Schematic
349
410
  return if code.between?(200, 299)
350
411
 
351
412
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
352
- raise error_class.new(response.body, code: code)
413
+ error_types = {
414
+ 400 => Schematic::Types::ApiError,
415
+ 401 => Schematic::Types::ApiError,
416
+ 403 => Schematic::Types::ApiError,
417
+ 404 => Schematic::Types::ApiError,
418
+ 500 => Schematic::Types::ApiError
419
+ }
420
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
421
+ raise error_class.new(response.body, code: code, body: error_body)
353
422
  end
354
423
 
355
424
  # @param request_options [Hash]
@@ -386,7 +455,15 @@ module Schematic
386
455
  return if code.between?(200, 299)
387
456
 
388
457
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
389
- raise error_class.new(response.body, code: code)
458
+ error_types = {
459
+ 400 => Schematic::Types::ApiError,
460
+ 401 => Schematic::Types::ApiError,
461
+ 403 => Schematic::Types::ApiError,
462
+ 404 => Schematic::Types::ApiError,
463
+ 500 => Schematic::Types::ApiError
464
+ }
465
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
466
+ raise error_class.new(response.body, code: code, body: error_body)
390
467
  end
391
468
 
392
469
  # @param request_options [Hash]
@@ -420,7 +497,14 @@ module Schematic
420
497
  (response.body.to_s.empty? ? nil : Schematic::Catalogs::Types::GetDerivedFeaturesResponse.load(response.body))
421
498
  else
422
499
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
423
- raise error_class.new(response.body, code: code)
500
+ error_types = {
501
+ 401 => Schematic::Types::ApiError,
502
+ 403 => Schematic::Types::ApiError,
503
+ 404 => Schematic::Types::ApiError,
504
+ 500 => Schematic::Types::ApiError
505
+ }
506
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
507
+ raise error_class.new(response.body, code: code, body: error_body)
424
508
  end
425
509
  end
426
510
 
@@ -455,7 +539,14 @@ module Schematic
455
539
  (response.body.to_s.empty? ? nil : Schematic::Catalogs::Types::GetPlansInCatalogResponse.load(response.body))
456
540
  else
457
541
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
458
- raise error_class.new(response.body, code: code)
542
+ error_types = {
543
+ 401 => Schematic::Types::ApiError,
544
+ 403 => Schematic::Types::ApiError,
545
+ 404 => Schematic::Types::ApiError,
546
+ 500 => Schematic::Types::ApiError
547
+ }
548
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
549
+ raise error_class.new(response.body, code: code, body: error_body)
459
550
  end
460
551
  end
461
552
 
@@ -493,7 +584,15 @@ module Schematic
493
584
  return if code.between?(200, 299)
494
585
 
495
586
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
496
- raise error_class.new(response.body, code: code)
587
+ error_types = {
588
+ 400 => Schematic::Types::ApiError,
589
+ 401 => Schematic::Types::ApiError,
590
+ 403 => Schematic::Types::ApiError,
591
+ 404 => Schematic::Types::ApiError,
592
+ 500 => Schematic::Types::ApiError
593
+ }
594
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
595
+ raise error_class.new(response.body, code: code, body: error_body)
497
596
  end
498
597
 
499
598
  # @param request_options [Hash]
@@ -530,7 +629,15 @@ module Schematic
530
629
  return if code.between?(200, 299)
531
630
 
532
631
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
533
- raise error_class.new(response.body, code: code)
632
+ error_types = {
633
+ 400 => Schematic::Types::ApiError,
634
+ 401 => Schematic::Types::ApiError,
635
+ 403 => Schematic::Types::ApiError,
636
+ 404 => Schematic::Types::ApiError,
637
+ 500 => Schematic::Types::ApiError
638
+ }
639
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
640
+ raise error_class.new(response.body, code: code, body: error_body)
534
641
  end
535
642
  end
536
643
  end
@@ -65,7 +65,15 @@ module Schematic
65
65
  (response.body.to_s.empty? ? nil : Schematic::Checkout::Types::CheckoutInternalResponse.load(response.body))
66
66
  else
67
67
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
68
- raise error_class.new(response.body, code: code)
68
+ error_types = {
69
+ 400 => Schematic::Types::ApiError,
70
+ 401 => Schematic::Types::ApiError,
71
+ 403 => Schematic::Types::ApiError,
72
+ 404 => Schematic::Types::ApiError,
73
+ 500 => Schematic::Types::ApiError
74
+ }
75
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
76
+ raise error_class.new(response.body, code: code, body: error_body)
69
77
  end
70
78
  end
71
79
 
@@ -100,7 +108,15 @@ module Schematic
100
108
  (response.body.to_s.empty? ? nil : Schematic::Checkout::Types::GetCheckoutDataResponse.load(response.body))
101
109
  else
102
110
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
103
- raise error_class.new(response.body, code: code)
111
+ error_types = {
112
+ 400 => Schematic::Types::ApiError,
113
+ 401 => Schematic::Types::ApiError,
114
+ 403 => Schematic::Types::ApiError,
115
+ 404 => Schematic::Types::ApiError,
116
+ 500 => Schematic::Types::ApiError
117
+ }
118
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
119
+ raise error_class.new(response.body, code: code, body: error_body)
104
120
  end
105
121
  end
106
122
 
@@ -159,7 +175,15 @@ module Schematic
159
175
  (response.body.to_s.empty? ? nil : Schematic::Checkout::Types::PreviewCheckoutInternalResponse.load(response.body))
160
176
  else
161
177
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
162
- raise error_class.new(response.body, code: code)
178
+ error_types = {
179
+ 400 => Schematic::Types::ApiError,
180
+ 401 => Schematic::Types::ApiError,
181
+ 403 => Schematic::Types::ApiError,
182
+ 404 => Schematic::Types::ApiError,
183
+ 500 => Schematic::Types::ApiError
184
+ }
185
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
186
+ raise error_class.new(response.body, code: code, body: error_body)
163
187
  end
164
188
  end
165
189
 
@@ -194,7 +218,14 @@ module Schematic
194
218
  (response.body.to_s.empty? ? nil : Schematic::Checkout::Types::GetCompanyBillingDetailsResponse.load(response.body))
195
219
  else
196
220
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
197
- raise error_class.new(response.body, code: code)
221
+ error_types = {
222
+ 401 => Schematic::Types::ApiError,
223
+ 403 => Schematic::Types::ApiError,
224
+ 404 => Schematic::Types::ApiError,
225
+ 500 => Schematic::Types::ApiError
226
+ }
227
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
228
+ raise error_class.new(response.body, code: code, body: error_body)
198
229
  end
199
230
  end
200
231
 
@@ -240,7 +271,15 @@ module Schematic
240
271
  (response.body.to_s.empty? ? nil : Schematic::Checkout::Types::UpdateCompanyBillingDetailsResponse.load(response.body))
241
272
  else
242
273
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
243
- raise error_class.new(response.body, code: code)
274
+ error_types = {
275
+ 400 => Schematic::Types::ApiError,
276
+ 401 => Schematic::Types::ApiError,
277
+ 403 => Schematic::Types::ApiError,
278
+ 404 => Schematic::Types::ApiError,
279
+ 500 => Schematic::Types::ApiError
280
+ }
281
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
282
+ raise error_class.new(response.body, code: code, body: error_body)
244
283
  end
245
284
  end
246
285
 
@@ -292,7 +331,15 @@ module Schematic
292
331
  (response.body.to_s.empty? ? nil : Schematic::Checkout::Types::ManagePlanResponse.load(response.body))
293
332
  else
294
333
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
295
- raise error_class.new(response.body, code: code)
334
+ error_types = {
335
+ 400 => Schematic::Types::ApiError,
336
+ 401 => Schematic::Types::ApiError,
337
+ 403 => Schematic::Types::ApiError,
338
+ 404 => Schematic::Types::ApiError,
339
+ 500 => Schematic::Types::ApiError
340
+ }
341
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
342
+ raise error_class.new(response.body, code: code, body: error_body)
296
343
  end
297
344
  end
298
345
 
@@ -344,7 +391,15 @@ module Schematic
344
391
  (response.body.to_s.empty? ? nil : Schematic::Checkout::Types::PreviewManagePlanResponse.load(response.body))
345
392
  else
346
393
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
347
- raise error_class.new(response.body, code: code)
394
+ error_types = {
395
+ 400 => Schematic::Types::ApiError,
396
+ 401 => Schematic::Types::ApiError,
397
+ 403 => Schematic::Types::ApiError,
398
+ 404 => Schematic::Types::ApiError,
399
+ 500 => Schematic::Types::ApiError
400
+ }
401
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
402
+ raise error_class.new(response.body, code: code, body: error_body)
348
403
  end
349
404
  end
350
405
 
@@ -379,7 +434,15 @@ module Schematic
379
434
  (response.body.to_s.empty? ? nil : Schematic::Checkout::Types::CancelSubscriptionResponse.load(response.body))
380
435
  else
381
436
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
382
- raise error_class.new(response.body, code: code)
437
+ error_types = {
438
+ 400 => Schematic::Types::ApiError,
439
+ 401 => Schematic::Types::ApiError,
440
+ 403 => Schematic::Types::ApiError,
441
+ 404 => Schematic::Types::ApiError,
442
+ 500 => Schematic::Types::ApiError
443
+ }
444
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
445
+ raise error_class.new(response.body, code: code, body: error_body)
383
446
  end
384
447
  end
385
448
 
@@ -419,7 +482,15 @@ module Schematic
419
482
  (response.body.to_s.empty? ? nil : Schematic::Checkout::Types::UpdateCustomerSubscriptionTrialEndResponse.load(response.body))
420
483
  else
421
484
  error_class = Schematic::Errors::ResponseError.subclass_for_code(code)
422
- raise error_class.new(response.body, code: code)
485
+ error_types = {
486
+ 400 => Schematic::Types::ApiError,
487
+ 401 => Schematic::Types::ApiError,
488
+ 403 => Schematic::Types::ApiError,
489
+ 404 => Schematic::Types::ApiError,
490
+ 500 => Schematic::Types::ApiError
491
+ }
492
+ error_body = Schematic::Errors::ResponseError.load_error_body(code, response.body, error_types)
493
+ raise error_class.new(response.body, code: code, body: error_body)
423
494
  end
424
495
  end
425
496
  end
@@ -6,7 +6,7 @@ module Schematic
6
6
  class CheckoutDataRequestBody < Internal::Types::Model
7
7
  field :company_id, -> { String }, optional: false, nullable: false
8
8
 
9
- field :currency, -> { String }, optional: true, nullable: false
9
+ field :currency, -> { Schematic::Types::Currency }, optional: true, nullable: false
10
10
 
11
11
  field :selected_plan_id, -> { String }, optional: true, nullable: false
12
12
  end
@@ -36,17 +36,19 @@ module Schematic
36
36
  # @param api_key [String]
37
37
  # @param base_url [String, nil]
38
38
  # @param max_retries [Integer]
39
+ # @param timeout [Numeric]
39
40
  #
40
41
  # @return [void]
41
- def initialize(api_key:, base_url: nil, max_retries: 2)
42
+ def initialize(api_key:, base_url: nil, max_retries: 2, timeout: 60)
42
43
  @raw_client = Schematic::Internal::Http::RawClient.new(
43
44
  base_url: base_url || Schematic::Environment::DEFAULT,
44
45
  headers: {
45
- "User-Agent" => "schematichq/1.5.3",
46
+ "User-Agent" => "schematichq/1.5.4",
46
47
  "X-Fern-Language" => "Ruby",
47
48
  "X-Schematic-Api-Key" => api_key.to_s
48
49
  },
49
- max_retries: max_retries
50
+ max_retries: max_retries,
51
+ timeout: timeout
50
52
  )
51
53
  end
52
54