schematichq 1.4.12 → 1.4.14

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 (87) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +2 -2
  3. data/.fern/replay.lock +15 -3
  4. data/README.md +1 -1
  5. data/WASM_VERSION +1 -1
  6. data/lib/schematic/accounts/client.rb +63 -0
  7. data/lib/schematic/accounts/types/get_onboarding_state_response.rb +12 -0
  8. data/lib/schematic/accounts/types/update_onboarding_state_request_body.rb +14 -0
  9. data/lib/schematic/accounts/types/update_onboarding_state_response.rb +12 -0
  10. data/lib/schematic/client.rb +1 -1
  11. data/lib/schematic/companies/client.rb +185 -3
  12. data/lib/schematic/companies/types/count_entity_keys_params.rb +15 -0
  13. data/lib/schematic/companies/types/count_entity_keys_request.rb +14 -0
  14. data/lib/schematic/companies/types/count_entity_keys_response.rb +12 -0
  15. data/lib/schematic/companies/types/count_entity_traits_params.rb +15 -0
  16. data/lib/schematic/companies/types/count_entity_traits_request.rb +14 -0
  17. data/lib/schematic/companies/types/count_entity_traits_response.rb +12 -0
  18. data/lib/schematic/companies/types/delete_entity_key_definition_response.rb +12 -0
  19. data/lib/schematic/companies/types/delete_entity_trait_definition_response.rb +12 -0
  20. data/lib/schematic/companies/types/get_entity_trait_definition_usage_response.rb +12 -0
  21. data/lib/schematic/companies/types/list_plan_changes_params.rb +0 -1
  22. data/lib/schematic/companies/types/list_plan_changes_request.rb +0 -1
  23. data/lib/schematic/credits/types/create_credit_bundle_request_body.rb +1 -0
  24. data/lib/schematic/credits/types/update_credit_bundle_details_request_body.rb +1 -0
  25. data/lib/schematic/planbundle/client.rb +3 -3
  26. data/lib/schematic/planbundle/types/update_plan_bundle_request_body.rb +1 -1
  27. data/lib/schematic/plangroups/types/create_plan_group_request_body.rb +2 -0
  28. data/lib/schematic/plangroups/types/update_plan_group_request_body.rb +2 -0
  29. data/lib/schematic/planmigrations/types/create_migration_input.rb +4 -3
  30. data/lib/schematic/planmigrations/types/preview_migration_request_body.rb +2 -1
  31. data/lib/schematic/plans/client.rb +11 -9
  32. data/lib/schematic/plans/types/delete_plan_version_request.rb +1 -1
  33. data/lib/schematic/plans/types/list_custom_plan_billings_params.rb +1 -0
  34. data/lib/schematic/plans/types/list_custom_plan_billings_request.rb +1 -0
  35. data/lib/schematic/plans/types/publish_plan_version_request_body.rb +2 -1
  36. data/lib/schematic/plans/types/update_company_plans_request_body.rb +1 -1
  37. data/lib/schematic/types/billing_collection_method.rb +12 -0
  38. data/lib/schematic/types/billing_credit_bundle_response_data.rb +1 -0
  39. data/lib/schematic/types/billing_credit_bundle_view.rb +1 -0
  40. data/lib/schematic/types/billing_credit_grant_response_data.rb +2 -0
  41. data/lib/schematic/types/billing_credit_view.rb +1 -1
  42. data/lib/schematic/types/billing_plan_credit_grant_response_data.rb +1 -0
  43. data/lib/schematic/types/billing_product_record_response_data.rb +17 -0
  44. data/lib/schematic/types/checkout_bundle_purchase_behavior.rb +12 -0
  45. data/lib/schematic/types/checkout_settings_response_data.rb +2 -0
  46. data/lib/schematic/types/company_billing_checkout_settings.rb +1 -0
  47. data/lib/schematic/types/company_feature_usage_export_metadata.rb +6 -1
  48. data/lib/schematic/types/company_feature_usage_export_metadata_sort_order_direction.rb +12 -0
  49. data/lib/schematic/types/company_feature_usage_export_metadata_visible_columns_item.rb +14 -0
  50. data/lib/schematic/types/company_plan_credit_grant_view.rb +1 -0
  51. data/lib/schematic/types/component_checkout_settings.rb +2 -0
  52. data/lib/schematic/types/create_billing_plan_credit_grant_request_body.rb +1 -0
  53. data/lib/schematic/types/credit_company_grant_view.rb +2 -0
  54. data/lib/schematic/types/custom_plan_billing_response_data.rb +2 -0
  55. data/lib/schematic/types/data_export_metadata.rb +1 -0
  56. data/lib/schematic/types/data_export_type.rb +1 -0
  57. data/lib/schematic/types/entity_trait_definition_usage.rb +14 -0
  58. data/lib/schematic/types/event_export_metadata.rb +16 -0
  59. data/lib/schematic/types/event_export_metadata_event_types_item.rb +14 -0
  60. data/lib/schematic/types/feature_view.rb +1 -1
  61. data/lib/schematic/types/get_onboarding_state_resp.rb +14 -0
  62. data/lib/schematic/types/manage_plan_request.rb +7 -0
  63. data/lib/schematic/types/migration_proration_behavior.rb +12 -0
  64. data/lib/schematic/types/onboarding_milestone.rb +12 -0
  65. data/lib/schematic/types/onboarding_milestone_view.rb +12 -0
  66. data/lib/schematic/types/onboarding_path.rb +12 -0
  67. data/lib/schematic/types/onboarding_requirement.rb +16 -0
  68. data/lib/schematic/types/onboarding_requirement_status.rb +13 -0
  69. data/lib/schematic/types/onboarding_requirement_view.rb +12 -0
  70. data/lib/schematic/types/onboarding_track.rb +12 -0
  71. data/lib/schematic/types/plan_billing_source.rb +12 -0
  72. data/lib/schematic/types/plan_bundle_response_data.rb +1 -0
  73. data/lib/schematic/types/plan_credit_grant_view.rb +1 -0
  74. data/lib/schematic/types/plan_version_migration_preview_response_data.rb +1 -0
  75. data/lib/schematic/types/plan_version_migration_response_data.rb +1 -0
  76. data/lib/schematic/types/preview_subscription_finance_response_data.rb +1 -0
  77. data/lib/schematic/types/test_webhook_response_data.rb +1 -0
  78. data/lib/schematic/types/update_billing_plan_credit_grant_request_body.rb +1 -0
  79. data/lib/schematic/types/upsert_company_request_body.rb +1 -0
  80. data/lib/schematic/types/upsert_user_request_body.rb +1 -0
  81. data/lib/schematic/types/upsert_user_sub_request_body.rb +1 -0
  82. data/lib/schematic/types/who_am_i_response_data.rb +1 -0
  83. data/lib/schematic/version.rb +1 -1
  84. data/lib/schematic/wasm/rulesengine.wasm +0 -0
  85. data/lib/schematic.rb +30 -0
  86. data/reference.md +507 -25
  87. metadata +32 -2
@@ -7,9 +7,11 @@ module Schematic
7
7
  field :plan_group_id, -> { String }, optional: false, nullable: false
8
8
  field :add_on_compatibilities, -> { Internal::Types::Array[Schematic::Types::CompatiblePlans] }, optional: true, nullable: false
9
9
  field :add_on_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
10
+ field :checkout_bundle_purchase_behavior, -> { Schematic::Types::CheckoutBundlePurchaseBehavior }, optional: false, nullable: false
10
11
  field :checkout_collect_address, -> { Internal::Types::Boolean }, optional: false, nullable: false
11
12
  field :checkout_collect_email, -> { Internal::Types::Boolean }, optional: false, nullable: false
12
13
  field :checkout_collect_phone, -> { Internal::Types::Boolean }, optional: false, nullable: false
14
+ field :checkout_collect_tax_id, -> { Internal::Types::Boolean }, optional: false, nullable: false
13
15
  field :custom_checkout_fields, -> { Internal::Types::Array[Schematic::Types::CheckoutFieldInput] }, optional: true, nullable: false
14
16
  field :custom_plan_config, -> { Schematic::Types::CustomPlanConfig }, optional: true, nullable: false
15
17
  field :custom_plan_id, -> { String }, optional: true, nullable: false
@@ -4,11 +4,12 @@ module Schematic
4
4
  module Planmigrations
5
5
  module Types
6
6
  class CreateMigrationInput < Internal::Types::Model
7
- field :company_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
8
- field :excluded_company_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
7
+ field :company_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false
8
+ field :excluded_company_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false
9
9
  field :plan_id, -> { String }, optional: false, nullable: false
10
10
  field :plan_version_id_to, -> { String }, optional: false, nullable: false
11
- field :plan_version_ids_from, -> { Internal::Types::Array[String] }, optional: false, nullable: false
11
+ field :plan_version_ids_from, -> { Internal::Types::Array[String] }, optional: true, nullable: false
12
+ field :proration_behavior, -> { Schematic::Types::MigrationProrationBehavior }, optional: true, nullable: false
12
13
  field :strategy, -> { Schematic::Types::PlanVersionMigrationStrategy }, optional: false, nullable: false
13
14
  field :target_plan_type, -> { Schematic::Types::PlanType }, optional: false, nullable: false
14
15
  end
@@ -4,9 +4,10 @@ module Schematic
4
4
  module Planmigrations
5
5
  module Types
6
6
  class PreviewMigrationRequestBody < Internal::Types::Model
7
- field :company_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
7
+ field :company_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false
8
8
  field :plan_id, -> { String }, optional: false, nullable: false
9
9
  field :plan_version_id_to, -> { String }, optional: false, nullable: false
10
+ field :plan_version_ids_from, -> { Internal::Types::Array[String] }, optional: true, nullable: false
10
11
  field :target_plan_type, -> { Schematic::Types::PlanType }, optional: false, nullable: false
11
12
  end
12
13
  end
@@ -17,19 +17,19 @@ module Schematic
17
17
  # @option request_options [Hash{String => Object}] :additional_query_parameters
18
18
  # @option request_options [Hash{String => Object}] :additional_body_parameters
19
19
  # @option request_options [Integer] :timeout_in_seconds
20
- # @option params [String] :company_plan_id
20
+ # @option params [String] :company_id
21
21
  #
22
22
  # @return [Schematic::Plans::Types::UpdateCompanyPlansResponse]
23
23
  def update_company_plans(request_options: {}, **params)
24
24
  params = Schematic::Internal::Types::Utils.normalize_keys(params)
25
25
  request_data = Schematic::Plans::Types::UpdateCompanyPlansRequestBody.new(params).to_h
26
- non_body_param_names = ["company_plan_id"]
26
+ non_body_param_names = ["company_id"]
27
27
  body = request_data.except(*non_body_param_names)
28
28
 
29
29
  request = Schematic::Internal::JSON::Request.new(
30
30
  base_url: request_options[:base_url],
31
31
  method: "PUT",
32
- path: "company-plans/#{URI.encode_uri_component(params[:company_plan_id].to_s)}",
32
+ path: "company-plans/#{URI.encode_uri_component(params[:company_id].to_s)}",
33
33
  body: body,
34
34
  request_options: request_options
35
35
  )
@@ -56,6 +56,7 @@ module Schematic
56
56
  # @option request_options [Integer] :timeout_in_seconds
57
57
  # @option params [String, nil] :company_id
58
58
  # @option params [String, nil] :plan_id
59
+ # @option params [Schematic::Types::PlanBillingSource, nil] :plan_billing_source
59
60
  # @option params [Schematic::Types::CustomPlanBillingStatus, nil] :status
60
61
  # @option params [Schematic::Types::CustomPlanBillingStatus, nil] :statuses
61
62
  # @option params [Integer, nil] :limit
@@ -64,10 +65,11 @@ module Schematic
64
65
  # @return [Schematic::Plans::Types::ListCustomPlanBillingsResponse]
65
66
  def list_custom_plan_billings(request_options: {}, **params)
66
67
  params = Schematic::Internal::Types::Utils.normalize_keys(params)
67
- query_param_names = %i[company_id plan_id status statuses limit offset]
68
+ query_param_names = %i[company_id plan_id plan_billing_source status statuses limit offset]
68
69
  query_params = {}
69
70
  query_params["company_id"] = params[:company_id] if params.key?(:company_id)
70
71
  query_params["plan_id"] = params[:plan_id] if params.key?(:plan_id)
72
+ query_params["plan_billing_source"] = params[:plan_billing_source] if params.key?(:plan_billing_source)
71
73
  query_params["status"] = params[:status] if params.key?(:status)
72
74
  query_params["statuses"] = params[:statuses] if params.key?(:statuses)
73
75
  query_params["limit"] = params[:limit] if params.key?(:limit)
@@ -673,7 +675,7 @@ module Schematic
673
675
  # @option request_options [Hash{String => Object}] :additional_query_parameters
674
676
  # @option request_options [Hash{String => Object}] :additional_body_parameters
675
677
  # @option request_options [Integer] :timeout_in_seconds
676
- # @option params [String] :plan_id
678
+ # @option params [String] :plan_version_id
677
679
  # @option params [Boolean, nil] :promote_archived_version
678
680
  #
679
681
  # @return [Schematic::Plans::Types::DeletePlanVersionResponse]
@@ -687,7 +689,7 @@ module Schematic
687
689
  request = Schematic::Internal::JSON::Request.new(
688
690
  base_url: request_options[:base_url],
689
691
  method: "DELETE",
690
- path: "plans/version/#{URI.encode_uri_component(params[:plan_id].to_s)}",
692
+ path: "plans/version/#{URI.encode_uri_component(params[:plan_version_id].to_s)}",
691
693
  query: query_params,
692
694
  request_options: request_options
693
695
  )
@@ -712,19 +714,19 @@ module Schematic
712
714
  # @option request_options [Hash{String => Object}] :additional_query_parameters
713
715
  # @option request_options [Hash{String => Object}] :additional_body_parameters
714
716
  # @option request_options [Integer] :timeout_in_seconds
715
- # @option params [String] :plan_id
717
+ # @option params [String] :plan_version_id
716
718
  #
717
719
  # @return [Schematic::Plans::Types::PublishPlanVersionResponse]
718
720
  def publish_plan_version(request_options: {}, **params)
719
721
  params = Schematic::Internal::Types::Utils.normalize_keys(params)
720
722
  request_data = Schematic::Plans::Types::PublishPlanVersionRequestBody.new(params).to_h
721
- non_body_param_names = ["plan_id"]
723
+ non_body_param_names = ["plan_version_id"]
722
724
  body = request_data.except(*non_body_param_names)
723
725
 
724
726
  request = Schematic::Internal::JSON::Request.new(
725
727
  base_url: request_options[:base_url],
726
728
  method: "PUT",
727
- path: "plans/version/#{URI.encode_uri_component(params[:plan_id].to_s)}/publish",
729
+ path: "plans/version/#{URI.encode_uri_component(params[:plan_version_id].to_s)}/publish",
728
730
  body: body,
729
731
  request_options: request_options
730
732
  )
@@ -4,7 +4,7 @@ module Schematic
4
4
  module Plans
5
5
  module Types
6
6
  class DeletePlanVersionRequest < Internal::Types::Model
7
- field :plan_id, -> { String }, optional: false, nullable: false
7
+ field :plan_version_id, -> { String }, optional: false, nullable: false
8
8
  field :promote_archived_version, -> { Internal::Types::Boolean }, optional: true, nullable: false
9
9
  end
10
10
  end
@@ -8,6 +8,7 @@ module Schematic
8
8
  field :company_id, -> { String }, optional: true, nullable: false
9
9
  field :limit, -> { Integer }, optional: true, nullable: false
10
10
  field :offset, -> { Integer }, optional: true, nullable: false
11
+ field :plan_billing_source, -> { Schematic::Types::PlanBillingSource }, optional: true, nullable: false
11
12
  field :plan_id, -> { String }, optional: true, nullable: false
12
13
  field :status, -> { Schematic::Types::CustomPlanBillingStatus }, optional: true, nullable: false
13
14
  field :statuses, -> { Internal::Types::Array[Schematic::Types::CustomPlanBillingStatus] }, optional: true, nullable: false
@@ -6,6 +6,7 @@ module Schematic
6
6
  class ListCustomPlanBillingsRequest < Internal::Types::Model
7
7
  field :company_id, -> { String }, optional: true, nullable: false
8
8
  field :plan_id, -> { String }, optional: true, nullable: false
9
+ field :plan_billing_source, -> { Schematic::Types::PlanBillingSource }, optional: true, nullable: false
9
10
  field :status, -> { Schematic::Types::CustomPlanBillingStatus }, optional: true, nullable: false
10
11
  field :statuses, -> { Schematic::Types::CustomPlanBillingStatus }, optional: true, nullable: false
11
12
  field :limit, -> { Integer }, optional: true, nullable: false
@@ -4,7 +4,7 @@ module Schematic
4
4
  module Plans
5
5
  module Types
6
6
  class PublishPlanVersionRequestBody < Internal::Types::Model
7
- field :plan_id, -> { String }, optional: false, nullable: false
7
+ field :plan_version_id, -> { String }, optional: false, nullable: false
8
8
  field :activation_strategy, -> { Schematic::Types::CustomPlanActivationStrategy }, optional: true, nullable: false
9
9
  field :address, -> { Schematic::Types::CustomerBillingAddress }, optional: true, nullable: false
10
10
  field :coupon_external_id, -> { String }, optional: true, nullable: false
@@ -14,6 +14,7 @@ module Schematic
14
14
  field :excluded_company_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
15
15
  field :migration_strategy, -> { Schematic::Types::PlanVersionMigrationStrategy }, optional: false, nullable: false
16
16
  field :phone, -> { String }, optional: true, nullable: false
17
+ field :proration_behavior, -> { Schematic::Types::MigrationProrationBehavior }, optional: true, nullable: false
17
18
  field :send_invoice, -> { Internal::Types::Boolean }, optional: true, nullable: false
18
19
  field :tax_id, -> { Schematic::Types::TaxIdInput }, optional: true, nullable: false
19
20
  end
@@ -4,7 +4,7 @@ module Schematic
4
4
  module Plans
5
5
  module Types
6
6
  class UpdateCompanyPlansRequestBody < Internal::Types::Model
7
- field :company_plan_id, -> { String }, optional: false, nullable: false
7
+ field :company_id, -> { String }, optional: false, nullable: false
8
8
  field :add_on_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
9
9
  field :base_plan_id, -> { String }, optional: true, nullable: false
10
10
  end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ module BillingCollectionMethod
6
+ extend Schematic::Internal::Types::Enum
7
+
8
+ CHARGE_AUTOMATICALLY = "charge_automatically"
9
+ SEND_INVOICE = "send_invoice"
10
+ end
11
+ end
12
+ end
@@ -5,6 +5,7 @@ module Schematic
5
5
  class BillingCreditBundleResponseData < Internal::Types::Model
6
6
  field :billing_invoice_id, -> { String }, optional: true, nullable: false
7
7
  field :bundle_type, -> { String }, optional: false, nullable: false
8
+ field :compatible_plan_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
8
9
  field :created_at, -> { String }, optional: false, nullable: false
9
10
  field :credit_description, -> { String }, optional: true, nullable: false
10
11
  field :credit_icon, -> { String }, optional: true, nullable: false
@@ -4,6 +4,7 @@ module Schematic
4
4
  module Types
5
5
  class BillingCreditBundleView < Internal::Types::Model
6
6
  field :bundle_type, -> { String }, optional: false, nullable: false
7
+ field :compatible_plan_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
7
8
  field :created_at, -> { String }, optional: false, nullable: false
8
9
  field :credit_description, -> { String }, optional: true, nullable: false
9
10
  field :credit_icon, -> { String }, optional: true, nullable: false
@@ -4,6 +4,7 @@ module Schematic
4
4
  module Types
5
5
  class BillingCreditGrantResponseData < Internal::Types::Model
6
6
  field :company_id, -> { String }, optional: false, nullable: false
7
+ field :company_license_id, -> { String }, optional: true, nullable: false
7
8
  field :company_name, -> { String }, optional: false, nullable: false
8
9
  field :created_at, -> { String }, optional: false, nullable: false
9
10
  field :credit_icon, -> { String }, optional: true, nullable: false
@@ -13,6 +14,7 @@ module Schematic
13
14
  field :expires_at, -> { String }, optional: true, nullable: false
14
15
  field :grant_reason, -> { Schematic::Types::BillingCreditGrantReason }, optional: false, nullable: false
15
16
  field :id, -> { String }, optional: false, nullable: false
17
+ field :license_name, -> { String }, optional: true, nullable: false
16
18
  field :plan_id, -> { String }, optional: true, nullable: false
17
19
  field :plan_name, -> { String }, optional: true, nullable: false
18
20
  field :price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
@@ -21,7 +21,7 @@ module Schematic
21
21
  field :price, -> { Schematic::Types::BillingPriceView }, optional: true, nullable: false
22
22
  field :price_per_unit, -> { Integer }, optional: true, nullable: false
23
23
  field :price_per_unit_decimal, -> { String }, optional: true, nullable: false
24
- field :product, -> { Schematic::Types::BillingProductResponseData }, optional: true, nullable: false
24
+ field :product, -> { Schematic::Types::BillingProductRecordResponseData }, optional: true, nullable: false
25
25
  field :singular_name, -> { String }, optional: true, nullable: false
26
26
  field :updated_at, -> { String }, optional: false, nullable: false
27
27
  end
@@ -14,6 +14,7 @@ module Schematic
14
14
  field :auto_topup_threshold_credits, -> { Integer }, optional: true, nullable: false
15
15
  field :auto_topup_threshold_percent, -> { Integer }, optional: true, nullable: false
16
16
  field :can_buy_bundles, -> { Internal::Types::Boolean }, optional: false, nullable: false
17
+ field :company_credit_amount, -> { Integer }, optional: false, nullable: false
17
18
  field :created_at, -> { String }, optional: false, nullable: false
18
19
  field :credit, -> { Schematic::Types::BillingCreditResponseData }, optional: true, nullable: false
19
20
  field :credit_amount, -> { Integer }, optional: false, nullable: false
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class BillingProductRecordResponseData < Internal::Types::Model
6
+ field :account_id, -> { String }, optional: false, nullable: false
7
+ field :created_at, -> { String }, optional: false, nullable: false
8
+ field :environment_id, -> { String }, optional: false, nullable: false
9
+ field :external_id, -> { String }, optional: false, nullable: false
10
+ field :id, -> { String }, optional: false, nullable: false
11
+ field :is_active, -> { Internal::Types::Boolean }, optional: false, nullable: false
12
+ field :name, -> { String }, optional: false, nullable: false
13
+ field :provider_type, -> { Schematic::Types::BillingProviderType }, optional: false, nullable: false
14
+ field :updated_at, -> { String }, optional: false, nullable: false
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ module CheckoutBundlePurchaseBehavior
6
+ extend Schematic::Internal::Types::Enum
7
+
8
+ INDIVIDUAL = "individual"
9
+ QUANTITY = "quantity"
10
+ end
11
+ end
12
+ end
@@ -3,9 +3,11 @@
3
3
  module Schematic
4
4
  module Types
5
5
  class CheckoutSettingsResponseData < Internal::Types::Model
6
+ field :bundle_purchase_behavior, -> { Schematic::Types::CheckoutBundlePurchaseBehavior }, optional: false, nullable: false
6
7
  field :collect_address, -> { Internal::Types::Boolean }, optional: false, nullable: false
7
8
  field :collect_email, -> { Internal::Types::Boolean }, optional: false, nullable: false
8
9
  field :collect_phone, -> { Internal::Types::Boolean }, optional: false, nullable: false
10
+ field :collect_tax_id, -> { Internal::Types::Boolean }, optional: false, nullable: false
9
11
  field :opt_in_enabled, -> { Internal::Types::Boolean }, optional: false, nullable: false
10
12
  field :opt_in_text, -> { String }, optional: true, nullable: false
11
13
  field :opt_in_title, -> { String }, optional: true, nullable: false
@@ -6,6 +6,7 @@ module Schematic
6
6
  field :collect_address, -> { Internal::Types::Boolean }, optional: false, nullable: false
7
7
  field :collect_email, -> { Internal::Types::Boolean }, optional: false, nullable: false
8
8
  field :collect_phone, -> { Internal::Types::Boolean }, optional: false, nullable: false
9
+ field :collect_tax_id, -> { Internal::Types::Boolean }, optional: false, nullable: false
9
10
  end
10
11
  end
11
12
  end
@@ -5,7 +5,9 @@ module Schematic
5
5
  class CompanyFeatureUsageExportMetadata < Internal::Types::Model
6
6
  field :company_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false
7
7
  field :credit_type_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false
8
- field :feature_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
8
+ field :entity_key_definition_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false
9
+ field :entity_trait_definition_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false
10
+ field :feature_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false
9
11
  field :has_scheduled_downgrade, -> { Internal::Types::Boolean }, optional: true, nullable: false
10
12
  field :monetized_subscriptions, -> { Internal::Types::Boolean }, optional: true, nullable: false
11
13
  field :notification_email_recipient_email_addresses, -> { Internal::Types::Array[String] }, optional: true, nullable: false
@@ -13,8 +15,11 @@ module Schematic
13
15
  field :plan_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false
14
16
  field :plan_version_id, -> { String }, optional: true, nullable: false
15
17
  field :q, -> { String }, optional: true, nullable: false
18
+ field :sort_order_column, -> { String }, optional: true, nullable: false
19
+ field :sort_order_direction, -> { Schematic::Types::CompanyFeatureUsageExportMetadataSortOrderDirection }, optional: true, nullable: false
16
20
  field :subscription_statuses, -> { Internal::Types::Array[String] }, optional: true, nullable: false
17
21
  field :subscription_types, -> { Internal::Types::Array[String] }, optional: true, nullable: false
22
+ field :visible_columns, -> { Internal::Types::Array[Schematic::Types::CompanyFeatureUsageExportMetadataVisibleColumnsItem] }, optional: true, nullable: false
18
23
  field :with_entitlement_for, -> { String }, optional: true, nullable: false
19
24
  field :with_subscription, -> { Internal::Types::Boolean }, optional: true, nullable: false
20
25
  field :without_feature_override_for, -> { String }, optional: true, nullable: false
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ module CompanyFeatureUsageExportMetadataSortOrderDirection
6
+ extend Schematic::Internal::Types::Enum
7
+
8
+ ASC = "asc"
9
+ DESC = "desc"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ module CompanyFeatureUsageExportMetadataVisibleColumnsItem
6
+ extend Schematic::Internal::Types::Enum
7
+
8
+ PLAN = "plan"
9
+ SUBSCRIPTION = "subscription"
10
+ USERS = "users"
11
+ LAST_SEEN_AT = "last_seen_at"
12
+ end
13
+ end
14
+ end
@@ -17,6 +17,7 @@ module Schematic
17
17
  field :company_auto_topup_amount, -> { Integer }, optional: true, nullable: false
18
18
  field :company_auto_topup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false
19
19
  field :company_auto_topup_threshold_credits, -> { Integer }, optional: true, nullable: false
20
+ field :company_credit_amount, -> { Integer }, optional: false, nullable: false
20
21
  field :created_at, -> { String }, optional: false, nullable: false
21
22
  field :credit, -> { Schematic::Types::BillingCreditView }, optional: true, nullable: false
22
23
  field :credit_amount, -> { Integer }, optional: false, nullable: false
@@ -3,9 +3,11 @@
3
3
  module Schematic
4
4
  module Types
5
5
  class ComponentCheckoutSettings < Internal::Types::Model
6
+ field :bundle_purchase_behavior, -> { Schematic::Types::CheckoutBundlePurchaseBehavior }, optional: false, nullable: false
6
7
  field :collect_address, -> { Internal::Types::Boolean }, optional: false, nullable: false
7
8
  field :collect_email, -> { Internal::Types::Boolean }, optional: false, nullable: false
8
9
  field :collect_phone, -> { Internal::Types::Boolean }, optional: false, nullable: false
10
+ field :collect_tax_id, -> { Internal::Types::Boolean }, optional: false, nullable: false
9
11
  field :proration_behavior, -> { Schematic::Types::ProrationBehavior }, optional: false, nullable: false
10
12
  field :tax_collection_enabled, -> { Internal::Types::Boolean }, optional: false, nullable: false
11
13
  end
@@ -15,6 +15,7 @@ module Schematic
15
15
  field :auto_topup_threshold_credits, -> { Integer }, optional: true, nullable: false
16
16
  field :auto_topup_threshold_percent, -> { Integer }, optional: true, nullable: false
17
17
  field :can_buy_bundles, -> { Internal::Types::Boolean }, optional: true, nullable: false
18
+ field :company_credit_amount, -> { Integer }, optional: true, nullable: false
18
19
  field :credit_amount, -> { Integer }, optional: false, nullable: false
19
20
  field :credit_id, -> { String }, optional: false, nullable: false
20
21
  field :expiry_type, -> { Schematic::Types::BillingCreditExpiryType }, optional: true, nullable: false
@@ -6,6 +6,7 @@ module Schematic
6
6
  field :billing_credit_bundle_id, -> { String }, optional: true, nullable: false
7
7
  field :billing_credit_id, -> { String }, optional: false, nullable: false
8
8
  field :company_id, -> { String }, optional: false, nullable: false
9
+ field :company_license_id, -> { String }, optional: true, nullable: false
9
10
  field :company_name, -> { String }, optional: false, nullable: false
10
11
  field :created_at, -> { String }, optional: false, nullable: false
11
12
  field :credit_description, -> { String }, optional: false, nullable: false
@@ -19,6 +20,7 @@ module Schematic
19
20
  field :expiry_unit_count, -> { Integer }, optional: true, nullable: false
20
21
  field :grant_reason, -> { Schematic::Types::BillingCreditGrantReason }, optional: false, nullable: false
21
22
  field :id, -> { String }, optional: false, nullable: false
23
+ field :license_name, -> { String }, optional: true, nullable: false
22
24
  field :plan_id, -> { String }, optional: true, nullable: false
23
25
  field :plan_name, -> { String }, optional: true, nullable: false
24
26
  field :plural_name, -> { String }, optional: true, nullable: false
@@ -4,12 +4,14 @@ module Schematic
4
4
  module Types
5
5
  class CustomPlanBillingResponseData < Internal::Types::Model
6
6
  field :activation_strategy, -> { Schematic::Types::CustomPlanActivationStrategy }, optional: false, nullable: false
7
+ field :billing_cycle_anchor, -> { String }, optional: true, nullable: false
7
8
  field :company_id, -> { String }, optional: false, nullable: false
8
9
  field :created_at, -> { String }, optional: false, nullable: false
9
10
  field :days_until_due, -> { Integer }, optional: false, nullable: false
10
11
  field :external_invoice_id, -> { String }, optional: true, nullable: false
11
12
  field :id, -> { String }, optional: false, nullable: false
12
13
  field :paid_at, -> { String }, optional: true, nullable: false
14
+ field :plan_billing_source, -> { Schematic::Types::PlanBillingSource }, optional: false, nullable: false
13
15
  field :plan_id, -> { String }, optional: false, nullable: false
14
16
  field :published_at, -> { String }, optional: true, nullable: false
15
17
  field :send_invoice, -> { Internal::Types::Boolean }, optional: false, nullable: false
@@ -9,6 +9,7 @@ module Schematic
9
9
 
10
10
  member -> { Schematic::Types::AuditLogExportMetadata }, key: "AUDIT_LOG"
11
11
  member -> { Schematic::Types::CompanyFeatureUsageExportMetadata }, key: "COMPANY_FEATURE_USAGE"
12
+ member -> { Schematic::Types::EventExportMetadata }, key: "EVENT"
12
13
  end
13
14
  end
14
15
  end
@@ -7,6 +7,7 @@ module Schematic
7
7
 
8
8
  AUDIT_LOG = "audit-log"
9
9
  COMPANY_FEATURE_USAGE = "company-feature-usage"
10
+ EVENT = "event"
10
11
  end
11
12
  end
12
13
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class EntityTraitDefinitionUsage < Internal::Types::Model
6
+ field :checkout_field_config_count, -> { Integer }, optional: false, nullable: false
7
+ field :company_override_count, -> { Integer }, optional: false, nullable: false
8
+ field :feature_count, -> { Integer }, optional: false, nullable: false
9
+ field :plan_entitlement_count, -> { Integer }, optional: false, nullable: false
10
+ field :plan_trait_count, -> { Integer }, optional: false, nullable: false
11
+ field :rule_condition_count, -> { Integer }, optional: false, nullable: false
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class EventExportMetadata < Internal::Types::Model
6
+ field :company_id, -> { String }, optional: true, nullable: false
7
+ field :end_time, -> { String }, optional: true, nullable: false
8
+ field :event_subtype, -> { String }, optional: true, nullable: false
9
+ field :event_types, -> { Internal::Types::Array[Schematic::Types::EventExportMetadataEventTypesItem] }, optional: true, nullable: false
10
+ field :flag_id, -> { String }, optional: true, nullable: false
11
+ field :notification_email_recipient_email_addresses, -> { Internal::Types::Array[String] }, optional: true, nullable: false
12
+ field :start_time, -> { String }, optional: true, nullable: false
13
+ field :user_id, -> { String }, optional: true, nullable: false
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ module EventExportMetadataEventTypesItem
6
+ extend Schematic::Internal::Types::Enum
7
+
8
+ FLAG_CHECK = "flag_check"
9
+ IDENTIFY = "identify"
10
+ INFERENCE = "inference"
11
+ TRACK = "track"
12
+ end
13
+ end
14
+ end
@@ -5,7 +5,7 @@ module Schematic
5
5
  class FeatureView < Internal::Types::Model
6
6
  field :account_id, -> { String }, optional: false, nullable: false
7
7
  field :billing_linked_resource, -> { Schematic::Types::BillingLinkedResourceResponseData }, optional: true, nullable: false
8
- field :billing_product, -> { Schematic::Types::BillingProductResponseData }, optional: true, nullable: false
8
+ field :billing_product, -> { Schematic::Types::BillingProductRecordResponseData }, optional: true, nullable: false
9
9
  field :created_at, -> { String }, optional: false, nullable: false
10
10
  field :description, -> { String }, optional: false, nullable: false
11
11
  field :event_subtype, -> { String }, optional: true, nullable: false
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class GetOnboardingStateResp < Internal::Types::Model
6
+ field :environment_id, -> { String }, optional: true, nullable: false
7
+ field :milestones, -> { Internal::Types::Array[Schematic::Types::OnboardingMilestoneView] }, optional: false, nullable: false
8
+ field :path, -> { Schematic::Types::OnboardingPath }, optional: true, nullable: false
9
+ field :requirements, -> { Internal::Types::Array[Schematic::Types::OnboardingRequirementView] }, optional: false, nullable: false
10
+ field :suggested_next, -> { Internal::Types::Array[Schematic::Types::OnboardingRequirement] }, optional: false, nullable: false
11
+ field :track, -> { Schematic::Types::OnboardingTrack }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
@@ -3,20 +3,27 @@
3
3
  module Schematic
4
4
  module Types
5
5
  class ManagePlanRequest < Internal::Types::Model
6
+ field :activate_on_payment, -> { Internal::Types::Boolean }, optional: true, nullable: false
6
7
  field :add_on_selections, -> { Internal::Types::Array[Schematic::Types::PlanSelection] }, optional: false, nullable: false
7
8
  field :base_plan_id, -> { String }, optional: true, nullable: false
8
9
  field :base_plan_price_id, -> { String }, optional: true, nullable: false
9
10
  field :base_plan_version_id, -> { String }, optional: true, nullable: false
11
+ field :billing_cycle_anchor, -> { String }, optional: true, nullable: false
12
+ field :billing_email, -> { String }, optional: true, nullable: false
10
13
  field :billing_entity_id, -> { String }, optional: true, nullable: false
11
14
  field :cancel_immediately, -> { Internal::Types::Boolean }, optional: true, nullable: false
15
+ field :collection_method, -> { Schematic::Types::BillingCollectionMethod }, optional: true, nullable: false
12
16
  field :company_id, -> { String }, optional: false, nullable: false
13
17
  field :coupon_external_id, -> { String }, optional: true, nullable: false
14
18
  field :credit_bundles, -> { Internal::Types::Array[Schematic::Types::UpdateCreditBundleRequestBody] }, optional: false, nullable: false
15
19
  field :custom_field_values, -> { Internal::Types::Array[Schematic::Types::CheckoutFieldValue] }, optional: false, nullable: false
20
+ field :days_until_due, -> { Integer }, optional: true, nullable: false
16
21
  field :pay_in_advance_entitlements, -> { Internal::Types::Array[Schematic::Types::UpdatePayInAdvanceRequestBody] }, optional: false, nullable: false
17
22
  field :payment_method_external_id, -> { String }, optional: true, nullable: false
18
23
  field :promo_code, -> { String }, optional: true, nullable: false
19
24
  field :prorate, -> { Internal::Types::Boolean }, optional: true, nullable: false
25
+ field :prorate_first_period, -> { Internal::Types::Boolean }, optional: true, nullable: false
26
+ field :send_invoice, -> { Internal::Types::Boolean }, optional: true, nullable: false
20
27
  field :trial_end, -> { String }, optional: true, nullable: false
21
28
  end
22
29
  end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ module MigrationProrationBehavior
6
+ extend Schematic::Internal::Types::Enum
7
+
8
+ ALWAYS_INVOICE = "always_invoice"
9
+ CREATE_PRORATIONS = "create_prorations"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ module OnboardingMilestone
6
+ extend Schematic::Internal::Types::Enum
7
+
8
+ EVALUATED = "evaluated"
9
+ IMPLEMENTED = "implemented"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class OnboardingMilestoneView < Internal::Types::Model
6
+ field :id, -> { Schematic::Types::OnboardingMilestone }, optional: false, nullable: false
7
+ field :missing, -> { Internal::Types::Array[Schematic::Types::OnboardingRequirement] }, optional: false, nullable: false
8
+ field :progress, -> { Integer }, optional: false, nullable: false
9
+ field :reached_at, -> { String }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ module OnboardingPath
6
+ extend Schematic::Internal::Types::Enum
7
+
8
+ AGENT = "agent"
9
+ APP = "app"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ module OnboardingRequirement
6
+ extend Schematic::Internal::Types::Enum
7
+
8
+ CONNECT_BILLING = "connect_billing"
9
+ CREATE_API_KEY = "create_api_key"
10
+ FIRST_FLAG_CHECK = "first_flag_check"
11
+ IMPORT_COMPANIES = "import_companies"
12
+ MODEL_PACKAGING = "model_packaging"
13
+ SEND_EVENTS = "send_events"
14
+ end
15
+ end
16
+ end