schematichq 1.4.1 → 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 (114) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +3 -3
  3. data/.fern/replay.lock +10 -0
  4. data/.fernignore +3 -0
  5. data/README.md +1 -1
  6. data/lib/schematic/billing/client.rb +6 -2
  7. data/lib/schematic/billing/types/count_billing_products_params.rb +1 -0
  8. data/lib/schematic/billing/types/count_billing_products_request.rb +1 -0
  9. data/lib/schematic/billing/types/create_billing_price_request_body.rb +1 -0
  10. data/lib/schematic/billing/types/list_billing_products_params.rb +1 -0
  11. data/lib/schematic/billing/types/list_billing_products_request.rb +1 -0
  12. data/lib/schematic/client.rb +6 -6
  13. data/lib/schematic/credits/client.rb +6 -2
  14. data/lib/schematic/credits/types/count_billing_plan_credit_grants_params.rb +1 -0
  15. data/lib/schematic/credits/types/count_billing_plan_credit_grants_request.rb +1 -0
  16. data/lib/schematic/credits/types/list_billing_plan_credit_grants_params.rb +1 -0
  17. data/lib/schematic/credits/types/list_billing_plan_credit_grants_request.rb +1 -0
  18. data/lib/schematic/datastream/websocket_client.rb +32 -1
  19. data/lib/schematic/entitlements/client.rb +6 -2
  20. data/lib/schematic/entitlements/types/count_feature_usage_params.rb +1 -0
  21. data/lib/schematic/entitlements/types/count_feature_usage_request.rb +1 -0
  22. data/lib/schematic/entitlements/types/create_billing_linked_plan_entitlement_request_body.rb +4 -0
  23. data/lib/schematic/entitlements/types/create_plan_entitlement_request_body.rb +4 -0
  24. data/lib/schematic/entitlements/types/list_feature_usage_params.rb +1 -0
  25. data/lib/schematic/entitlements/types/list_feature_usage_request.rb +1 -0
  26. data/lib/schematic/entitlements/types/update_plan_entitlement_request_body.rb +4 -0
  27. data/lib/schematic/event_buffer.rb +10 -2
  28. data/lib/schematic/events/client.rb +3 -1
  29. data/lib/schematic/events/types/list_events_params.rb +1 -0
  30. data/lib/schematic/events/types/list_events_request.rb +1 -0
  31. data/lib/schematic/features/client.rb +6 -2
  32. data/lib/schematic/features/types/count_features_params.rb +1 -0
  33. data/lib/schematic/features/types/count_features_request.rb +1 -0
  34. data/lib/schematic/features/types/list_features_params.rb +1 -0
  35. data/lib/schematic/features/types/list_features_request.rb +1 -0
  36. data/lib/schematic/integrationsapi/client.rb +177 -0
  37. data/lib/schematic/integrationsapi/types/list_integrations_params.rb +18 -0
  38. data/lib/schematic/integrationsapi/types/list_integrations_request.rb +17 -0
  39. data/lib/schematic/integrationsapi/types/list_integrations_response.rb +12 -0
  40. data/lib/schematic/integrationsapi/types/load_sample_data_set_v_2_response.rb +12 -0
  41. data/lib/schematic/integrationsapi/types/run_integration_response.rb +12 -0
  42. data/lib/schematic/integrationsapi/types/start_data_import_request_body.rb +13 -0
  43. data/lib/schematic/integrationsapi/types/start_data_import_response.rb +12 -0
  44. data/lib/schematic/integrationsapi/types/uninstall_integration_response.rb +12 -0
  45. data/lib/schematic/planbundle/client.rb +32 -0
  46. data/lib/schematic/planbundle/types/create_custom_plan_bundle_request_body.rb +13 -0
  47. data/lib/schematic/planbundle/types/create_custom_plan_bundle_response.rb +12 -0
  48. data/lib/schematic/plans/client.rb +6 -2
  49. data/lib/schematic/plans/types/count_plans_params.rb +1 -0
  50. data/lib/schematic/plans/types/count_plans_request.rb +1 -0
  51. data/lib/schematic/plans/types/create_billing_linked_plan_request_body.rb +1 -0
  52. data/lib/schematic/plans/types/list_plans_params.rb +1 -0
  53. data/lib/schematic/plans/types/list_plans_request.rb +1 -0
  54. data/lib/schematic/types/api_key_create_response_data.rb +1 -0
  55. data/lib/schematic/types/api_key_integration_response_data.rb +11 -0
  56. data/lib/schematic/types/api_key_response_data.rb +1 -0
  57. data/lib/schematic/types/audit_log_list_response_data.rb +1 -0
  58. data/lib/schematic/types/audit_log_response_data.rb +1 -0
  59. data/lib/schematic/types/billing_credit_bundle_view.rb +1 -1
  60. data/lib/schematic/types/billing_credit_view.rb +1 -0
  61. data/lib/schematic/types/billing_plan_credit_grant_response_data.rb +1 -0
  62. data/lib/schematic/types/billing_price_response_data.rb +1 -0
  63. data/lib/schematic/types/billing_price_view.rb +1 -0
  64. data/lib/schematic/types/billing_product_for_subscription_response_data.rb +1 -0
  65. data/lib/schematic/types/billing_product_plan_response_data.rb +1 -0
  66. data/lib/schematic/types/billing_product_price_response_data.rb +1 -0
  67. data/lib/schematic/types/billing_strategy.rb +13 -0
  68. data/lib/schematic/types/change_subscription_internal_request_body.rb +1 -0
  69. data/lib/schematic/types/change_subscription_request_body.rb +1 -0
  70. data/lib/schematic/types/charge_type.rb +1 -0
  71. data/lib/schematic/types/clerk_integration_config.rb +10 -0
  72. data/lib/schematic/types/company_matching_criteria.rb +12 -0
  73. data/lib/schematic/types/company_plan_credit_grant_view.rb +40 -0
  74. data/lib/schematic/types/company_plan_detail_response_data.rb +2 -0
  75. data/lib/schematic/types/company_plan_with_billing_sub_view.rb +1 -1
  76. data/lib/schematic/types/create_billing_plan_credit_grant_request_body.rb +1 -0
  77. data/lib/schematic/types/create_custom_plan_bundle_plan_request_body.rb +12 -0
  78. data/lib/schematic/types/create_entitlement_in_bundle_request_body.rb +4 -0
  79. data/lib/schematic/types/create_event_request_body.rb +3 -0
  80. data/lib/schematic/types/credit_currency_price.rb +10 -0
  81. data/lib/schematic/types/currency_price_request_body.rb +3 -0
  82. data/lib/schematic/types/data_event_payload.rb +3 -0
  83. data/lib/schematic/types/duplicate_plan_entitlements_response_response_data.rb +1 -0
  84. data/lib/schematic/types/entitlement_currency_prices_response_data.rb +1 -0
  85. data/lib/schematic/types/event_detail_response_data.rb +2 -0
  86. data/lib/schematic/types/event_response_data.rb +1 -0
  87. data/lib/schematic/types/feature_company_response_data.rb +1 -0
  88. data/lib/schematic/types/feature_usage_response_data.rb +1 -0
  89. data/lib/schematic/types/integration_capabilities.rb +11 -0
  90. data/lib/schematic/types/integration_config.rb +15 -0
  91. data/lib/schematic/types/integration_response_data.rb +13 -0
  92. data/lib/schematic/types/integration_state.rb +13 -0
  93. data/lib/schematic/types/integrations_data_set_response_data.rb +9 -0
  94. data/lib/schematic/types/integrations_list_response_data.rb +15 -0
  95. data/lib/schematic/types/integrations_response_data.rb +13 -0
  96. data/lib/schematic/types/orb_integration_config.rb +9 -0
  97. data/lib/schematic/types/plan_credit_grant_view.rb +1 -0
  98. data/lib/schematic/types/plan_currency_price_request_body.rb +1 -0
  99. data/lib/schematic/types/plan_currency_prices_response_data.rb +1 -0
  100. data/lib/schematic/types/plan_detail_response_data.rb +2 -0
  101. data/lib/schematic/types/plan_entitlement_response_data.rb +1 -0
  102. data/lib/schematic/types/plan_group_plan_detail_response_data.rb +2 -0
  103. data/lib/schematic/types/plan_view_public_response_data.rb +2 -0
  104. data/lib/schematic/types/rules_engine_schema_version.rb +1 -1
  105. data/lib/schematic/types/stripe_integration_config.rb +15 -0
  106. data/lib/schematic/types/update_auto_topup_override_request_body.rb +12 -0
  107. data/lib/schematic/types/update_billing_plan_credit_grant_request_body.rb +1 -0
  108. data/lib/schematic/types/upsert_billing_product_request_body.rb +3 -0
  109. data/lib/schematic/types/usage_based_entitlement_request_body.rb +4 -0
  110. data/lib/schematic/types/usage_based_entitlement_response_data.rb +1 -0
  111. data/lib/schematic/version.rb +1 -1
  112. data/lib/schematic.rb +37 -10
  113. data/reference.md +675 -88
  114. metadata +30 -2
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class ClerkIntegrationConfig < Internal::Types::Model
6
+ field :first_events_received, -> { Internal::Types::Boolean }, optional: true, nullable: false
7
+ field :webhook_url, -> { String }, optional: true, nullable: false
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ module CompanyMatchingCriteria
6
+ extend Schematic::Internal::Types::Enum
7
+
8
+ BILLING_META_OBJECT = "billing_meta_object"
9
+ MANUAL_UPSERT = "manual_upsert"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class CompanyPlanCreditGrantView < Internal::Types::Model
6
+ field :billing_credit_auto_topup_amount, -> { Integer }, optional: true, nullable: false
7
+ field :billing_credit_auto_topup_amount_type, -> { String }, optional: true, nullable: false
8
+ field :billing_credit_auto_topup_enabled, -> { Internal::Types::Boolean }, optional: false, nullable: false
9
+ field :billing_credit_auto_topup_expiry_type, -> { Schematic::Types::BillingCreditExpiryType }, optional: true, nullable: false
10
+ field :billing_credit_auto_topup_expiry_unit, -> { Schematic::Types::BillingCreditExpiryUnit }, optional: true, nullable: false
11
+ field :billing_credit_auto_topup_expiry_unit_count, -> { Integer }, optional: true, nullable: false
12
+ field :billing_credit_auto_topup_self_service, -> { Internal::Types::Boolean }, optional: false, nullable: false
13
+ field :billing_credit_auto_topup_threshold_credits, -> { Integer }, optional: true, nullable: false
14
+ field :billing_credit_auto_topup_threshold_percent, -> { Integer }, optional: true, nullable: false
15
+ field :company_auto_topup_amount, -> { Integer }, optional: true, nullable: false
16
+ field :company_auto_topup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false
17
+ field :company_auto_topup_threshold_credits, -> { Integer }, optional: true, nullable: false
18
+ field :created_at, -> { String }, optional: false, nullable: false
19
+ field :credit, -> { Schematic::Types::BillingCreditView }, optional: true, nullable: false
20
+ field :credit_amount, -> { Integer }, optional: false, nullable: false
21
+ field :credit_description, -> { String }, optional: false, nullable: false
22
+ field :credit_icon, -> { String }, optional: true, nullable: false
23
+ field :credit_id, -> { String }, optional: false, nullable: false
24
+ field :credit_name, -> { String }, optional: false, nullable: false
25
+ field :expiry_type, -> { Schematic::Types::BillingCreditExpiryType }, optional: true, nullable: false
26
+ field :expiry_unit, -> { Schematic::Types::BillingCreditExpiryUnit }, optional: true, nullable: false
27
+ field :expiry_unit_count, -> { Integer }, optional: true, nullable: false
28
+ field :id, -> { String }, optional: false, nullable: false
29
+ field :plan, -> { Schematic::Types::GenericPreviewObject }, optional: true, nullable: false
30
+ field :plan_id, -> { String }, optional: false, nullable: false
31
+ field :plan_version_id, -> { String }, optional: true, nullable: false
32
+ field :plural_name, -> { String }, optional: true, nullable: false
33
+ field :reset_cadence, -> { Schematic::Types::BillingPlanCreditGrantResetCadence }, optional: true, nullable: false
34
+ field :reset_start, -> { Schematic::Types::BillingPlanCreditGrantResetStart }, optional: true, nullable: false
35
+ field :reset_type, -> { Schematic::Types::BillingPlanCreditGrantResetType }, optional: false, nullable: false
36
+ field :singular_name, -> { String }, optional: true, nullable: false
37
+ field :updated_at, -> { String }, optional: false, nullable: false
38
+ end
39
+ end
40
+ end
@@ -7,6 +7,7 @@ module Schematic
7
7
  field :audience_type, -> { String }, optional: true, nullable: false
8
8
  field :billing_linked_resource, -> { Schematic::Types::BillingLinkedResourceResponseData }, optional: true, nullable: false
9
9
  field :billing_product, -> { Schematic::Types::BillingProductDetailResponseData }, optional: true, nullable: false
10
+ field :billing_strategy, -> { Schematic::Types::BillingStrategy }, optional: false, nullable: false
10
11
  field :charge_type, -> { Schematic::Types::ChargeType }, optional: false, nullable: false
11
12
  field :company_can_trial, -> { Internal::Types::Boolean }, optional: false, nullable: false
12
13
  field :company_count, -> { Integer }, optional: false, nullable: false
@@ -36,6 +37,7 @@ module Schematic
36
37
  field :name, -> { String }, optional: false, nullable: false
37
38
  field :one_time_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
38
39
  field :plan_type, -> { Schematic::Types::PlanType }, optional: false, nullable: false
40
+ field :quarterly_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
39
41
  field :trial_days, -> { Integer }, optional: true, nullable: false
40
42
  field :updated_at, -> { String }, optional: false, nullable: false
41
43
  field :usage_violations, -> { Internal::Types::Array[Schematic::Types::FeatureUsageResponseData] }, optional: false, nullable: false
@@ -9,7 +9,7 @@ module Schematic
9
9
  field :description, -> { String }, optional: true, nullable: false
10
10
  field :id, -> { String }, optional: false, nullable: false
11
11
  field :image_url, -> { String }, optional: true, nullable: false
12
- field :included_credit_grants, -> { Internal::Types::Array[Schematic::Types::PlanCreditGrantView] }, optional: false, nullable: false
12
+ field :included_credit_grants, -> { Internal::Types::Array[Schematic::Types::CompanyPlanCreditGrantView] }, optional: false, nullable: false
13
13
  field :name, -> { String }, optional: false, nullable: false
14
14
  field :plan_period, -> { String }, optional: true, nullable: false
15
15
  field :plan_price, -> { Integer }, optional: true, nullable: false
@@ -10,6 +10,7 @@ module Schematic
10
10
  field :auto_topup_expiry_type, -> { Schematic::Types::BillingCreditExpiryType }, optional: true, nullable: false
11
11
  field :auto_topup_expiry_unit, -> { Schematic::Types::BillingCreditExpiryUnit }, optional: true, nullable: false
12
12
  field :auto_topup_expiry_unit_count, -> { Integer }, optional: true, nullable: false
13
+ field :auto_topup_self_service, -> { Internal::Types::Boolean }, optional: true, nullable: false
13
14
  field :auto_topup_threshold_credits, -> { Integer }, optional: true, nullable: false
14
15
  field :auto_topup_threshold_percent, -> { Integer }, optional: true, nullable: false
15
16
  field :credit_amount, -> { Integer }, optional: false, nullable: false
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class CreateCustomPlanBundlePlanRequestBody < Internal::Types::Model
6
+ field :company_id, -> { String }, optional: false, nullable: false
7
+ field :description, -> { String }, optional: false, nullable: false
8
+ field :icon, -> { Schematic::Types::PlanIcon }, optional: true, nullable: false
9
+ field :name, -> { String }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
@@ -20,6 +20,10 @@ module Schematic
20
20
  field :plan_version_id, -> { String }, optional: true, nullable: false
21
21
  field :price_behavior, -> { Schematic::Types::EntitlementPriceBehavior }, optional: true, nullable: false
22
22
  field :price_tiers, -> { Internal::Types::Array[Schematic::Types::CreatePriceTierRequestBody] }, optional: true, nullable: false
23
+ field :quarterly_metered_price_id, -> { String }, optional: true, nullable: false
24
+ field :quarterly_price_tiers, -> { Internal::Types::Array[Schematic::Types::CreatePriceTierRequestBody] }, optional: true, nullable: false
25
+ field :quarterly_unit_price, -> { Integer }, optional: true, nullable: false
26
+ field :quarterly_unit_price_decimal, -> { String }, optional: true, nullable: false
23
27
  field :soft_limit, -> { Integer }, optional: true, nullable: false
24
28
  field :tier_mode, -> { Schematic::Types::BillingTiersMode }, optional: true, nullable: false
25
29
  field :value_bool, -> { Internal::Types::Boolean }, optional: true, nullable: false
@@ -3,9 +3,12 @@
3
3
  module Schematic
4
4
  module Types
5
5
  class CreateEventRequestBody < Internal::Types::Model
6
+ field :backfill, -> { Internal::Types::Boolean }, optional: true, nullable: false
6
7
  field :body, -> { Schematic::Types::EventBody }, optional: true, nullable: false
7
8
  field :event_type, -> { Schematic::Types::EventType }, optional: false, nullable: false
9
+ field :idempotency_key, -> { String }, optional: true, nullable: false
8
10
  field :sent_at, -> { String }, optional: true, nullable: false
11
+ field :trusted_client_clock, -> { Internal::Types::Boolean }, optional: true, nullable: false
9
12
  end
10
13
  end
11
14
  end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class CreditCurrencyPrice < Internal::Types::Model
6
+ field :currency, -> { String }, optional: false, nullable: false
7
+ field :price, -> { Schematic::Types::BillingPriceView }, optional: true, nullable: false
8
+ end
9
+ end
10
+ end
@@ -7,6 +7,9 @@ module Schematic
7
7
  field :monthly_price_tiers, -> { Internal::Types::Array[Schematic::Types::CreatePriceTierRequestBody] }, optional: true, nullable: false
8
8
  field :monthly_unit_price, -> { Integer }, optional: true, nullable: false
9
9
  field :monthly_unit_price_decimal, -> { String }, optional: true, nullable: false
10
+ field :quarterly_price_tiers, -> { Internal::Types::Array[Schematic::Types::CreatePriceTierRequestBody] }, optional: true, nullable: false
11
+ field :quarterly_unit_price, -> { Integer }, optional: true, nullable: false
12
+ field :quarterly_unit_price_decimal, -> { String }, optional: true, nullable: false
10
13
  field :yearly_price_tiers, -> { Internal::Types::Array[Schematic::Types::CreatePriceTierRequestBody] }, optional: true, nullable: false
11
14
  field :yearly_unit_price, -> { Integer }, optional: true, nullable: false
12
15
  field :yearly_unit_price_decimal, -> { String }, optional: true, nullable: false
@@ -4,8 +4,11 @@ module Schematic
4
4
  module Types
5
5
  class DataEventPayload < Internal::Types::Model
6
6
  field :api_key, -> { String }, optional: false, nullable: false
7
+ field :backfill, -> { Internal::Types::Boolean }, optional: true, nullable: false
7
8
  field :body, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false
9
+ field :idempotency_key, -> { String }, optional: true, nullable: false
8
10
  field :sent_at, -> { String }, optional: true, nullable: false
11
+ field :trusted_client_clock, -> { Internal::Types::Boolean }, optional: true, nullable: false
9
12
  field :type, -> { Schematic::Types::EventType }, optional: false, nullable: false
10
13
  end
11
14
  end
@@ -4,6 +4,7 @@ module Schematic
4
4
  module Types
5
5
  class DuplicatePlanEntitlementsResponseResponseData < Internal::Types::Model
6
6
  field :data, -> { Internal::Types::Array[Schematic::Types::PlanEntitlementResponseData] }, optional: false, nullable: false
7
+ field :issues, -> { Internal::Types::Array[Schematic::Types::PlanIssueResponseData] }, optional: false, nullable: false
7
8
  field :skipped, -> { Internal::Types::Array[Schematic::Types::SkippedEntitlementResponseData] }, optional: false, nullable: false
8
9
  end
9
10
  end
@@ -5,6 +5,7 @@ module Schematic
5
5
  class EntitlementCurrencyPricesResponseData < Internal::Types::Model
6
6
  field :currency, -> { String }, optional: false, nullable: false
7
7
  field :monthly_price, -> { Schematic::Types::BillingPriceView }, optional: true, nullable: false
8
+ field :quarterly_price, -> { Schematic::Types::BillingPriceView }, optional: true, nullable: false
8
9
  field :yearly_price, -> { Schematic::Types::BillingPriceView }, optional: true, nullable: false
9
10
  end
10
11
  end
@@ -4,6 +4,7 @@ module Schematic
4
4
  module Types
5
5
  class EventDetailResponseData < Internal::Types::Model
6
6
  field :api_key, -> { String }, optional: true, nullable: false
7
+ field :api_key_view, -> { Schematic::Types::ApiKeyResponseData }, optional: true, nullable: false
7
8
  field :body, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
8
9
  field :body_preview, -> { String }, optional: false, nullable: false
9
10
  field :captured_at, -> { String }, optional: false, nullable: false
@@ -15,6 +16,7 @@ module Schematic
15
16
  field :feature_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
16
17
  field :features, -> { Internal::Types::Array[Schematic::Types::PreviewObject] }, optional: false, nullable: false
17
18
  field :id, -> { String }, optional: false, nullable: false
19
+ field :idempotency_key, -> { String }, optional: true, nullable: false
18
20
  field :loaded_at, -> { String }, optional: true, nullable: false
19
21
  field :processed_at, -> { String }, optional: true, nullable: false
20
22
  field :quantity, -> { Integer }, optional: false, nullable: false
@@ -13,6 +13,7 @@ module Schematic
13
13
  field :error_message, -> { String }, optional: true, nullable: false
14
14
  field :feature_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
15
15
  field :id, -> { String }, optional: false, nullable: false
16
+ field :idempotency_key, -> { String }, optional: true, nullable: false
16
17
  field :loaded_at, -> { String }, optional: true, nullable: false
17
18
  field :processed_at, -> { String }, optional: true, nullable: false
18
19
  field :quantity, -> { Integer }, optional: false, nullable: false
@@ -36,6 +36,7 @@ module Schematic
36
36
  field :plan, -> { Schematic::Types::PlanResponseData }, optional: true, nullable: false
37
37
  field :plan_entitlement, -> { Schematic::Types::PlanEntitlementResponseData }, optional: true, nullable: false
38
38
  field :price_behavior, -> { Schematic::Types::EntitlementPriceBehavior }, optional: true, nullable: false
39
+ field :quarterly_usage_based_price, -> { Schematic::Types::BillingPriceView }, optional: true, nullable: false
39
40
  field :soft_limit, -> { Integer }, optional: true, nullable: false
40
41
  field :usage, -> { Integer }, optional: true, nullable: false
41
42
  field :yearly_usage_based_price, -> { Schematic::Types::BillingPriceView }, optional: true, nullable: false
@@ -34,6 +34,7 @@ module Schematic
34
34
  field :plan, -> { Schematic::Types::PlanResponseData }, optional: true, nullable: false
35
35
  field :plan_entitlement, -> { Schematic::Types::PlanEntitlementResponseData }, optional: true, nullable: false
36
36
  field :price_behavior, -> { Schematic::Types::EntitlementPriceBehavior }, optional: true, nullable: false
37
+ field :quarterly_usage_based_price, -> { Schematic::Types::BillingPriceView }, optional: true, nullable: false
37
38
  field :soft_limit, -> { Integer }, optional: true, nullable: false
38
39
  field :usage, -> { Integer }, optional: true, nullable: false
39
40
  field :yearly_usage_based_price, -> { Schematic::Types::BillingPriceView }, optional: true, nullable: false
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class IntegrationCapabilities < Internal::Types::Model
6
+ field :author_plans, -> { Internal::Types::Boolean }, optional: false, nullable: false
7
+ field :checkout, -> { Internal::Types::Boolean }, optional: false, nullable: false
8
+ field :edit_billing, -> { Internal::Types::Boolean }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class IntegrationConfig < Internal::Types::Model
6
+ extend Schematic::Internal::Types::Union
7
+
8
+ discriminant :type
9
+
10
+ member -> { Schematic::Types::ClerkIntegrationConfig }, key: "CLERK"
11
+ member -> { Schematic::Types::OrbIntegrationConfig }, key: "ORB"
12
+ member -> { Schematic::Types::StripeIntegrationConfig }, key: "STRIPE"
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class IntegrationResponseData < Internal::Types::Model
6
+ field :created_at, -> { String }, optional: false, nullable: false
7
+ field :id, -> { String }, optional: false, nullable: false
8
+ field :state, -> { Schematic::Types::IntegrationState }, optional: false, nullable: false
9
+ field :type, -> { Schematic::Types::IntegrationType }, optional: false, nullable: false
10
+ field :updated_at, -> { String }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ module IntegrationState
6
+ extend Schematic::Internal::Types::Enum
7
+
8
+ ACTIVE = "active"
9
+ CREATED = "created"
10
+ PENDING = "pending"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class IntegrationsDataSetResponseData < Internal::Types::Model
6
+ field :keys, -> { Internal::Types::Array[String] }, optional: false, nullable: false
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class IntegrationsListResponseData < Internal::Types::Model
6
+ field :capabilities, -> { Schematic::Types::IntegrationCapabilities }, optional: false, nullable: false
7
+ field :config, -> { Schematic::Types::IntegrationConfig }, optional: true, nullable: false
8
+ field :id, -> { String }, optional: false, nullable: false
9
+ field :is_app_install, -> { Internal::Types::Boolean }, optional: false, nullable: false
10
+ field :is_connect_install, -> { Internal::Types::Boolean }, optional: false, nullable: false
11
+ field :state, -> { Schematic::Types::IntegrationState }, optional: false, nullable: false
12
+ field :type, -> { Schematic::Types::IntegrationType }, optional: false, nullable: false
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class IntegrationsResponseData < Internal::Types::Model
6
+ field :created_at, -> { String }, optional: false, nullable: false
7
+ field :id, -> { String }, optional: false, nullable: false
8
+ field :state, -> { Schematic::Types::IntegrationState }, optional: false, nullable: false
9
+ field :type, -> { Schematic::Types::IntegrationType }, optional: false, nullable: false
10
+ field :updated_at, -> { String }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class OrbIntegrationConfig < Internal::Types::Model
6
+ field :external_customer_id_key, -> { String }, optional: true, nullable: false
7
+ end
8
+ end
9
+ end
@@ -9,6 +9,7 @@ module Schematic
9
9
  field :billing_credit_auto_topup_expiry_type, -> { Schematic::Types::BillingCreditExpiryType }, optional: true, nullable: false
10
10
  field :billing_credit_auto_topup_expiry_unit, -> { Schematic::Types::BillingCreditExpiryUnit }, optional: true, nullable: false
11
11
  field :billing_credit_auto_topup_expiry_unit_count, -> { Integer }, optional: true, nullable: false
12
+ field :billing_credit_auto_topup_self_service, -> { Internal::Types::Boolean }, optional: false, nullable: false
12
13
  field :billing_credit_auto_topup_threshold_credits, -> { Integer }, optional: true, nullable: false
13
14
  field :billing_credit_auto_topup_threshold_percent, -> { Integer }, optional: true, nullable: false
14
15
  field :created_at, -> { String }, optional: false, nullable: false
@@ -6,6 +6,7 @@ module Schematic
6
6
  field :currency, -> { String }, optional: false, nullable: false
7
7
  field :monthly_price, -> { Integer }, optional: true, nullable: false
8
8
  field :one_time_price, -> { Integer }, optional: true, nullable: false
9
+ field :quarterly_price, -> { Integer }, optional: true, nullable: false
9
10
  field :yearly_price, -> { Integer }, optional: true, nullable: false
10
11
  end
11
12
  end
@@ -6,6 +6,7 @@ module Schematic
6
6
  field :currency, -> { String }, optional: false, nullable: false
7
7
  field :monthly_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
8
8
  field :one_time_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
9
+ field :quarterly_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
9
10
  field :yearly_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
10
11
  end
11
12
  end
@@ -7,6 +7,7 @@ module Schematic
7
7
  field :audience_type, -> { String }, optional: true, nullable: false
8
8
  field :billing_linked_resource, -> { Schematic::Types::BillingLinkedResourceResponseData }, optional: true, nullable: false
9
9
  field :billing_product, -> { Schematic::Types::BillingProductDetailResponseData }, optional: true, nullable: false
10
+ field :billing_strategy, -> { Schematic::Types::BillingStrategy }, optional: false, nullable: false
10
11
  field :charge_type, -> { Schematic::Types::ChargeType }, optional: false, nullable: false
11
12
  field :company_count, -> { Integer }, optional: false, nullable: false
12
13
  field :company_id, -> { String }, optional: true, nullable: false
@@ -28,6 +29,7 @@ module Schematic
28
29
  field :name, -> { String }, optional: false, nullable: false
29
30
  field :one_time_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
30
31
  field :plan_type, -> { Schematic::Types::PlanType }, optional: false, nullable: false
32
+ field :quarterly_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
31
33
  field :trial_days, -> { Integer }, optional: true, nullable: false
32
34
  field :updated_at, -> { String }, optional: false, nullable: false
33
35
  field :versions, -> { Internal::Types::Array[Schematic::Types::PlanVersionResponseData] }, optional: false, nullable: false
@@ -13,6 +13,7 @@ module Schematic
13
13
  field :feature_id, -> { String }, optional: false, nullable: false
14
14
  field :id, -> { String }, optional: false, nullable: false
15
15
  field :metered_monthly_price, -> { Schematic::Types::BillingPriceView }, optional: true, nullable: false
16
+ field :metered_quarterly_price, -> { Schematic::Types::BillingPriceView }, optional: true, nullable: false
16
17
  field :metered_yearly_price, -> { Schematic::Types::BillingPriceView }, optional: true, nullable: false
17
18
  field :metric_period, -> { Schematic::Types::MetricPeriod }, optional: true, nullable: false
18
19
  field :metric_period_month_reset, -> { Schematic::Types::MetricPeriodMonthReset }, optional: true, nullable: false
@@ -7,6 +7,7 @@ module Schematic
7
7
  field :audience_type, -> { String }, optional: true, nullable: false
8
8
  field :billing_linked_resource, -> { Schematic::Types::BillingLinkedResourceResponseData }, optional: true, nullable: false
9
9
  field :billing_product, -> { Schematic::Types::BillingProductDetailResponseData }, optional: true, nullable: false
10
+ field :billing_strategy, -> { Schematic::Types::BillingStrategy }, optional: false, nullable: false
10
11
  field :charge_type, -> { Schematic::Types::ChargeType }, optional: false, nullable: false
11
12
  field :company_count, -> { Integer }, optional: false, nullable: false
12
13
  field :company_id, -> { String }, optional: true, nullable: false
@@ -32,6 +33,7 @@ module Schematic
32
33
  field :name, -> { String }, optional: false, nullable: false
33
34
  field :one_time_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
34
35
  field :plan_type, -> { Schematic::Types::PlanType }, optional: false, nullable: false
36
+ field :quarterly_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
35
37
  field :trial_days, -> { Integer }, optional: true, nullable: false
36
38
  field :updated_at, -> { String }, optional: false, nullable: false
37
39
  field :versions, -> { Internal::Types::Array[Schematic::Types::PlanVersionResponseData] }, optional: false, nullable: false
@@ -7,6 +7,7 @@ module Schematic
7
7
  field :audience_type, -> { String }, optional: true, nullable: false
8
8
  field :billing_linked_resource, -> { Schematic::Types::BillingLinkedResourceResponseData }, optional: true, nullable: false
9
9
  field :billing_product, -> { Schematic::Types::BillingProductDetailResponseData }, optional: true, nullable: false
10
+ field :billing_strategy, -> { Schematic::Types::BillingStrategy }, optional: false, nullable: false
10
11
  field :charge_type, -> { Schematic::Types::ChargeType }, optional: false, nullable: false
11
12
  field :company_count, -> { Integer }, optional: false, nullable: false
12
13
  field :company_id, -> { String }, optional: true, nullable: false
@@ -33,6 +34,7 @@ module Schematic
33
34
  field :name, -> { String }, optional: false, nullable: false
34
35
  field :one_time_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
35
36
  field :plan_type, -> { Schematic::Types::PlanType }, optional: false, nullable: false
37
+ field :quarterly_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
36
38
  field :trial_days, -> { Integer }, optional: true, nullable: false
37
39
  field :updated_at, -> { String }, optional: false, nullable: false
38
40
  field :versions, -> { Internal::Types::Array[Schematic::Types::PlanVersionResponseData] }, optional: false, nullable: false
@@ -5,7 +5,7 @@ module Schematic
5
5
  module RulesEngineSchemaVersion
6
6
  extend Schematic::Internal::Types::Enum
7
7
 
8
- VF_05_BF_5_DA = "vf05bf5da"
8
+ V_97288_F_60 = "v97288f60"
9
9
  PLACEHOLDER_FOR_FERN_COMPATIBILITY = "placeholder-for-fern-compatibility"
10
10
  end
11
11
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class StripeIntegrationConfig < Internal::Types::Model
6
+ field :account_id, -> { String }, optional: true, nullable: false
7
+ field :account_name, -> { String }, optional: true, nullable: false
8
+ field :company_update_only, -> { Internal::Types::Boolean }, optional: true, nullable: false
9
+ field :is_sandbox, -> { Internal::Types::Boolean }, optional: false, nullable: false
10
+ field :live_mode, -> { Internal::Types::Boolean }, optional: false, nullable: false
11
+ field :onboard_url, -> { String }, optional: true, nullable: false
12
+ field :version, -> { Integer }, optional: false, nullable: false
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class UpdateAutoTopupOverrideRequestBody < Internal::Types::Model
6
+ field :auto_topup_amount, -> { Integer }, optional: true, nullable: false
7
+ field :auto_topup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false
8
+ field :auto_topup_threshold_credits, -> { Integer }, optional: true, nullable: false
9
+ field :plan_credit_grant_id, -> { String }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
@@ -10,6 +10,7 @@ module Schematic
10
10
  field :auto_topup_expiry_type, -> { Schematic::Types::BillingCreditExpiryType }, optional: true, nullable: false
11
11
  field :auto_topup_expiry_unit, -> { Schematic::Types::BillingCreditExpiryUnit }, optional: true, nullable: false
12
12
  field :auto_topup_expiry_unit_count, -> { Integer }, optional: true, nullable: false
13
+ field :auto_topup_self_service, -> { Internal::Types::Boolean }, optional: true, nullable: false
13
14
  field :auto_topup_threshold_credits, -> { Integer }, optional: true, nullable: false
14
15
  field :auto_topup_threshold_percent, -> { Integer }, optional: true, nullable: false
15
16
  field :credit_amount, -> { Integer }, optional: true, nullable: false
@@ -4,6 +4,7 @@ module Schematic
4
4
  module Types
5
5
  class UpsertBillingProductRequestBody < Internal::Types::Model
6
6
  field :billing_product_id, -> { String }, optional: true, nullable: false
7
+ field :billing_strategy, -> { Schematic::Types::BillingStrategy }, optional: true, nullable: false
7
8
  field :charge_type, -> { Schematic::Types::ChargeType }, optional: false, nullable: false
8
9
  field :currency, -> { String }, optional: true, nullable: false
9
10
  field :currency_prices, -> { Internal::Types::Array[Schematic::Types::PlanCurrencyPriceRequestBody] }, optional: true, nullable: false
@@ -12,6 +13,8 @@ module Schematic
12
13
  field :monthly_price_id, -> { String }, optional: true, nullable: false
13
14
  field :one_time_price, -> { Integer }, optional: true, nullable: false
14
15
  field :one_time_price_id, -> { String }, optional: true, nullable: false
16
+ field :quarterly_price, -> { Integer }, optional: true, nullable: false
17
+ field :quarterly_price_id, -> { String }, optional: true, nullable: false
15
18
  field :trial_days, -> { Integer }, optional: true, nullable: false
16
19
  field :yearly_price, -> { Integer }, optional: true, nullable: false
17
20
  field :yearly_price_id, -> { String }, optional: true, nullable: false
@@ -14,6 +14,10 @@ module Schematic
14
14
  field :overage_billing_product_id, -> { String }, optional: true, nullable: false
15
15
  field :price_behavior, -> { Schematic::Types::EntitlementPriceBehavior }, optional: true, nullable: false
16
16
  field :price_tiers, -> { Internal::Types::Array[Schematic::Types::CreatePriceTierRequestBody] }, optional: true, nullable: false
17
+ field :quarterly_metered_price_id, -> { String }, optional: true, nullable: false
18
+ field :quarterly_price_tiers, -> { Internal::Types::Array[Schematic::Types::CreatePriceTierRequestBody] }, optional: true, nullable: false
19
+ field :quarterly_unit_price, -> { Integer }, optional: true, nullable: false
20
+ field :quarterly_unit_price_decimal, -> { String }, optional: true, nullable: false
17
21
  field :soft_limit, -> { Integer }, optional: true, nullable: false
18
22
  field :tier_mode, -> { Schematic::Types::BillingTiersMode }, optional: true, nullable: false
19
23
  field :yearly_metered_price_id, -> { String }, optional: true, nullable: false
@@ -11,6 +11,7 @@ module Schematic
11
11
  field :metric_period_month_reset, -> { Schematic::Types::MetricPeriodMonthReset }, optional: true, nullable: false
12
12
  field :monthly_usage_based_price, -> { Schematic::Types::BillingPriceView }, optional: true, nullable: false
13
13
  field :price_behavior, -> { Schematic::Types::EntitlementPriceBehavior }, optional: true, nullable: false
14
+ field :quarterly_usage_based_price, -> { Schematic::Types::BillingPriceView }, optional: true, nullable: false
14
15
  field :value_bool, -> { Internal::Types::Boolean }, optional: true, nullable: false
15
16
  field :value_numeric, -> { Integer }, optional: true, nullable: false
16
17
  field :value_type, -> { Schematic::Types::EntitlementValueType }, optional: false, nullable: false
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Schematic
4
- VERSION = "1.4.1"
4
+ VERSION = "1.4.2"
5
5
  end