schematichq 1.4.1 → 1.4.3

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 (150) 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 +34 -4
  6. data/WASM_VERSION +1 -1
  7. data/lib/schematic/billing/client.rb +38 -2
  8. data/lib/schematic/billing/types/count_billing_products_params.rb +1 -0
  9. data/lib/schematic/billing/types/count_billing_products_request.rb +1 -0
  10. data/lib/schematic/billing/types/create_billing_price_request_body.rb +1 -0
  11. data/lib/schematic/billing/types/delete_payment_method_by_external_id_response.rb +12 -0
  12. data/lib/schematic/billing/types/list_billing_products_params.rb +1 -0
  13. data/lib/schematic/billing/types/list_billing_products_request.rb +1 -0
  14. data/lib/schematic/client.rb +6 -6
  15. data/lib/schematic/companies/client.rb +6 -2
  16. data/lib/schematic/companies/types/count_companies_params.rb +1 -0
  17. data/lib/schematic/companies/types/count_companies_request.rb +1 -0
  18. data/lib/schematic/companies/types/list_companies_params.rb +1 -0
  19. data/lib/schematic/companies/types/list_companies_request.rb +1 -0
  20. data/lib/schematic/credits/client.rb +108 -2
  21. data/lib/schematic/credits/types/acquire_credit_lease_request_body.rb +14 -0
  22. data/lib/schematic/credits/types/acquire_credit_lease_response.rb +12 -0
  23. data/lib/schematic/credits/types/count_billing_plan_credit_grants_params.rb +1 -0
  24. data/lib/schematic/credits/types/count_billing_plan_credit_grants_request.rb +1 -0
  25. data/lib/schematic/credits/types/extend_credit_lease_request_body.rb +13 -0
  26. data/lib/schematic/credits/types/extend_credit_lease_response.rb +12 -0
  27. data/lib/schematic/credits/types/list_billing_plan_credit_grants_params.rb +1 -0
  28. data/lib/schematic/credits/types/list_billing_plan_credit_grants_request.rb +1 -0
  29. data/lib/schematic/credits/types/release_credit_lease_response.rb +12 -0
  30. data/lib/schematic/datastream/merge.rb +71 -0
  31. data/lib/schematic/datastream/websocket_client.rb +32 -1
  32. data/lib/schematic/entitlements/client.rb +6 -2
  33. data/lib/schematic/entitlements/types/count_feature_usage_params.rb +1 -0
  34. data/lib/schematic/entitlements/types/count_feature_usage_request.rb +1 -0
  35. data/lib/schematic/entitlements/types/create_billing_linked_plan_entitlement_request_body.rb +5 -0
  36. data/lib/schematic/entitlements/types/create_plan_entitlement_request_body.rb +5 -0
  37. data/lib/schematic/entitlements/types/list_feature_usage_params.rb +1 -0
  38. data/lib/schematic/entitlements/types/list_feature_usage_request.rb +1 -0
  39. data/lib/schematic/entitlements/types/update_plan_entitlement_request_body.rb +5 -0
  40. data/lib/schematic/event_buffer.rb +17 -3
  41. data/lib/schematic/events/client.rb +3 -1
  42. data/lib/schematic/events/types/list_events_params.rb +1 -0
  43. data/lib/schematic/events/types/list_events_request.rb +1 -0
  44. data/lib/schematic/features/client.rb +6 -2
  45. data/lib/schematic/features/types/count_features_params.rb +1 -0
  46. data/lib/schematic/features/types/count_features_request.rb +1 -0
  47. data/lib/schematic/features/types/list_features_params.rb +1 -0
  48. data/lib/schematic/features/types/list_features_request.rb +1 -0
  49. data/lib/schematic/integrationsapi/client.rb +177 -0
  50. data/lib/schematic/integrationsapi/types/list_integrations_params.rb +18 -0
  51. data/lib/schematic/integrationsapi/types/list_integrations_request.rb +17 -0
  52. data/lib/schematic/integrationsapi/types/list_integrations_response.rb +12 -0
  53. data/lib/schematic/integrationsapi/types/load_sample_data_set_v_2_response.rb +12 -0
  54. data/lib/schematic/integrationsapi/types/run_integration_response.rb +12 -0
  55. data/lib/schematic/integrationsapi/types/start_data_import_request_body.rb +13 -0
  56. data/lib/schematic/integrationsapi/types/start_data_import_response.rb +12 -0
  57. data/lib/schematic/integrationsapi/types/uninstall_integration_response.rb +12 -0
  58. data/lib/schematic/logger.rb +1 -1
  59. data/lib/schematic/planbundle/client.rb +32 -0
  60. data/lib/schematic/planbundle/types/create_custom_plan_bundle_request_body.rb +13 -0
  61. data/lib/schematic/planbundle/types/create_custom_plan_bundle_response.rb +12 -0
  62. data/lib/schematic/planmigrations/client.rb +101 -0
  63. data/lib/schematic/planmigrations/types/create_migration_input.rb +17 -0
  64. data/lib/schematic/planmigrations/types/create_migration_response.rb +12 -0
  65. data/lib/schematic/planmigrations/types/retry_company_migration_response.rb +12 -0
  66. data/lib/schematic/planmigrations/types/retry_migration_request_body.rb +12 -0
  67. data/lib/schematic/planmigrations/types/retry_migration_response.rb +12 -0
  68. data/lib/schematic/plans/client.rb +43 -2
  69. data/lib/schematic/plans/types/count_plans_params.rb +2 -0
  70. data/lib/schematic/plans/types/count_plans_request.rb +2 -0
  71. data/lib/schematic/plans/types/create_billing_linked_plan_request_body.rb +1 -0
  72. data/lib/schematic/plans/types/list_plans_params.rb +2 -0
  73. data/lib/schematic/plans/types/list_plans_request.rb +2 -0
  74. data/lib/schematic/plans/types/mark_custom_plan_billing_paid_response.rb +12 -0
  75. data/lib/schematic/schematic_client.rb +46 -13
  76. data/lib/schematic/types/api_key_create_response_data.rb +1 -0
  77. data/lib/schematic/types/api_key_integration_response_data.rb +11 -0
  78. data/lib/schematic/types/api_key_response_data.rb +1 -0
  79. data/lib/schematic/types/audit_log_list_response_data.rb +1 -0
  80. data/lib/schematic/types/audit_log_response_data.rb +1 -0
  81. data/lib/schematic/types/billing_credit_bundle_view.rb +1 -1
  82. data/lib/schematic/types/billing_credit_view.rb +1 -0
  83. data/lib/schematic/types/billing_plan_credit_grant_response_data.rb +1 -0
  84. data/lib/schematic/types/billing_price_response_data.rb +1 -0
  85. data/lib/schematic/types/billing_price_view.rb +1 -0
  86. data/lib/schematic/types/billing_product_for_subscription_response_data.rb +1 -0
  87. data/lib/schematic/types/billing_product_plan_response_data.rb +1 -0
  88. data/lib/schematic/types/billing_product_price_response_data.rb +1 -0
  89. data/lib/schematic/types/billing_strategy.rb +13 -0
  90. data/lib/schematic/types/change_subscription_internal_request_body.rb +1 -0
  91. data/lib/schematic/types/change_subscription_request_body.rb +1 -0
  92. data/lib/schematic/types/charge_type.rb +1 -0
  93. data/lib/schematic/types/checkout_subscription.rb +1 -0
  94. data/lib/schematic/types/clerk_integration_config.rb +10 -0
  95. data/lib/schematic/types/company_matching_criteria.rb +12 -0
  96. data/lib/schematic/types/company_plan_credit_grant_view.rb +40 -0
  97. data/lib/schematic/types/company_plan_detail_response_data.rb +4 -1
  98. data/lib/schematic/types/company_plan_with_billing_sub_view.rb +1 -1
  99. data/lib/schematic/types/create_billing_plan_credit_grant_request_body.rb +1 -0
  100. data/lib/schematic/types/create_custom_plan_bundle_plan_request_body.rb +12 -0
  101. data/lib/schematic/types/create_entitlement_in_bundle_request_body.rb +5 -0
  102. data/lib/schematic/types/create_event_request_body.rb +3 -0
  103. data/lib/schematic/types/credit_currency_price.rb +10 -0
  104. data/lib/schematic/types/credit_lease_response_data.rb +16 -0
  105. data/lib/schematic/types/currency_price_request_body.rb +3 -0
  106. data/lib/schematic/types/custom_plan_billing_response_data.rb +1 -0
  107. data/lib/schematic/types/data_event_payload.rb +3 -0
  108. data/lib/schematic/types/duplicate_plan_entitlements_response_response_data.rb +1 -0
  109. data/lib/schematic/types/entitlement_currency_prices_response_data.rb +1 -0
  110. data/lib/schematic/types/event_body_track.rb +1 -0
  111. data/lib/schematic/types/event_detail_response_data.rb +2 -0
  112. data/lib/schematic/types/event_response_data.rb +1 -0
  113. data/lib/schematic/types/feature_company_response_data.rb +1 -0
  114. data/lib/schematic/types/feature_usage_response_data.rb +1 -0
  115. data/lib/schematic/types/feature_view.rb +1 -0
  116. data/lib/schematic/types/integration_capabilities.rb +11 -0
  117. data/lib/schematic/types/integration_config.rb +16 -0
  118. data/lib/schematic/types/integration_response_data.rb +13 -0
  119. data/lib/schematic/types/integration_state.rb +13 -0
  120. data/lib/schematic/types/integration_type.rb +1 -0
  121. data/lib/schematic/types/integrations_data_set_response_data.rb +9 -0
  122. data/lib/schematic/types/integrations_list_response_data.rb +15 -0
  123. data/lib/schematic/types/integrations_response_data.rb +13 -0
  124. data/lib/schematic/types/mark_custom_plan_billing_paid_request_body.rb +23 -0
  125. data/lib/schematic/types/migration_error_code.rb +21 -0
  126. data/lib/schematic/types/orb_integration_config.rb +9 -0
  127. data/lib/schematic/types/plan_credit_grant_view.rb +1 -0
  128. data/lib/schematic/types/plan_currency_price_request_body.rb +1 -0
  129. data/lib/schematic/types/plan_currency_prices_response_data.rb +1 -0
  130. data/lib/schematic/types/plan_detail_response_data.rb +3 -0
  131. data/lib/schematic/types/plan_entitlement_response_data.rb +2 -0
  132. data/lib/schematic/types/plan_group_plan_detail_response_data.rb +4 -1
  133. data/lib/schematic/types/plan_price_cadence.rb +13 -0
  134. data/lib/schematic/types/plan_version_company_migration_response_data.rb +1 -0
  135. data/lib/schematic/types/plan_version_migration_response_data.rb +1 -0
  136. data/lib/schematic/types/plan_view_public_response_data.rb +4 -1
  137. data/lib/schematic/types/release_credit_lease_request_body.rb +23 -0
  138. data/lib/schematic/types/rules_engine_schema_version.rb +1 -1
  139. data/lib/schematic/types/stripe_integration_config.rb +14 -0
  140. data/lib/schematic/types/update_auto_topup_override_request_body.rb +12 -0
  141. data/lib/schematic/types/update_billing_plan_credit_grant_request_body.rb +1 -0
  142. data/lib/schematic/types/upsert_billing_product_request_body.rb +3 -0
  143. data/lib/schematic/types/usage_based_entitlement_request_body.rb +5 -0
  144. data/lib/schematic/types/usage_based_entitlement_response_data.rb +2 -0
  145. data/lib/schematic/types/work_os_integration_config.rb +10 -0
  146. data/lib/schematic/version.rb +1 -1
  147. data/lib/schematic/wasm/rulesengine.wasm +0 -0
  148. data/lib/schematic.rb +55 -10
  149. data/reference.md +1355 -188
  150. metadata +48 -2
@@ -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
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class CreditLeaseResponseData < Internal::Types::Model
6
+ field :company_id, -> { String }, optional: false, nullable: false
7
+ field :created_at, -> { String }, optional: false, nullable: false
8
+ field :credit_type_id, -> { String }, optional: false, nullable: false
9
+ field :expires_at, -> { String }, optional: false, nullable: false
10
+ field :granted_amount, -> { Integer }, optional: false, nullable: false
11
+ field :id, -> { String }, optional: false, nullable: false
12
+ field :released_at, -> { String }, optional: true, nullable: false
13
+ field :updated_at, -> { String }, optional: false, nullable: false
14
+ end
15
+ end
16
+ 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
@@ -7,6 +7,7 @@ module Schematic
7
7
  field :company_id, -> { String }, optional: false, nullable: false
8
8
  field :created_at, -> { String }, optional: false, nullable: false
9
9
  field :days_until_due, -> { Integer }, optional: false, nullable: false
10
+ field :external_invoice_id, -> { String }, optional: true, nullable: false
10
11
  field :id, -> { String }, optional: false, nullable: false
11
12
  field :paid_at, -> { String }, optional: true, nullable: false
12
13
  field :plan_id, -> { String }, optional: false, 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
@@ -5,6 +5,7 @@ module Schematic
5
5
  class EventBodyTrack < Internal::Types::Model
6
6
  field :company, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false
7
7
  field :event, -> { String }, optional: false, nullable: false
8
+ field :lease_id, -> { String }, optional: true, nullable: false
8
9
  field :quantity, -> { Integer }, optional: true, nullable: false
9
10
  field :traits, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false
10
11
  field :user, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false
@@ -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
@@ -21,6 +21,7 @@ module Schematic
21
21
  field :trait, -> { Schematic::Types::EntityTraitDefinitionResponseData }, optional: true, nullable: false
22
22
  field :trait_id, -> { String }, optional: true, nullable: false
23
23
  field :updated_at, -> { String }, optional: false, nullable: false
24
+ field :usage_limit_trait_id, -> { String }, optional: true, nullable: false
24
25
  end
25
26
  end
26
27
  end
@@ -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,16 @@
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
+ member -> { Schematic::Types::WorkOsIntegrationConfig }, key: "WORKOS"
14
+ end
15
+ end
16
+ 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
@@ -9,6 +9,7 @@ module Schematic
9
9
  ORB = "orb"
10
10
  STRIPE = "stripe"
11
11
  UNKNOWN = "unknown"
12
+ WORKOS = "workos"
12
13
  end
13
14
  end
14
15
  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,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ module MarkCustomPlanBillingPaidRequestBody
6
+ # MarkCustomPlanBillingPaidRequestBody is an alias for Hash
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ module MigrationErrorCode
6
+ extend Schematic::Internal::Types::Enum
7
+
8
+ AMBIGUOUS_SUBSCRIPTION_ITEM = "ambiguous_subscription_item"
9
+ MULTIPLE_SUBSCRIPTIONS = "multiple_subscriptions"
10
+ NO_PRICE_FOR_INTERVAL = "no_price_for_interval"
11
+ NOT_ON_ORIGIN_VERSION = "not_on_origin_version"
12
+ PERMANENT_CONFIG = "permanent_config"
13
+ PERMANENT_DECLINE = "permanent_decline"
14
+ TRANSIENT_DECLINE = "transient_decline"
15
+ TRANSIENT_INFRA = "transient_infra"
16
+ TRANSIENT_STRIPE = "transient_stripe"
17
+ UNKNOWN = "unknown"
18
+ WOULD_LEAVE_EMPTY_SUBSCRIPTION = "would_leave_empty_subscription"
19
+ end
20
+ end
21
+ 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
@@ -17,6 +18,7 @@ module Schematic
17
18
  field :currency_prices, -> { Internal::Types::Array[Schematic::Types::PlanCurrencyPricesResponseData] }, optional: false, nullable: false
18
19
  field :description, -> { String }, optional: false, nullable: false
19
20
  field :draft_version, -> { Schematic::Types::PlanVersionResponseData }, optional: true, nullable: false
21
+ field :entitlements, -> { Internal::Types::Array[Schematic::Types::PlanEntitlementResponseData] }, optional: true, nullable: false
20
22
  field :features, -> { Internal::Types::Array[Schematic::Types::FeatureInPlanResponseData] }, optional: false, nullable: false
21
23
  field :icon, -> { Schematic::Types::PlanIcon }, optional: false, nullable: false
22
24
  field :id, -> { String }, optional: false, nullable: false
@@ -28,6 +30,7 @@ module Schematic
28
30
  field :name, -> { String }, optional: false, nullable: false
29
31
  field :one_time_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
30
32
  field :plan_type, -> { Schematic::Types::PlanType }, optional: false, nullable: false
33
+ field :quarterly_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
31
34
  field :trial_days, -> { Integer }, optional: true, nullable: false
32
35
  field :updated_at, -> { String }, optional: false, nullable: false
33
36
  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
@@ -24,6 +25,7 @@ module Schematic
24
25
  field :soft_limit, -> { Integer }, optional: true, nullable: false
25
26
  field :updated_at, -> { String }, optional: false, nullable: false
26
27
  field :usage_based_product, -> { Schematic::Types::BillingProductResponseData }, optional: true, nullable: false
28
+ field :usage_quantity, -> { Integer }, optional: true, nullable: false
27
29
  field :value_bool, -> { Internal::Types::Boolean }, optional: true, nullable: false
28
30
  field :value_credit, -> { Schematic::Types::BillingCreditResponseData }, optional: true, nullable: false
29
31
  field :value_numeric, -> { Integer }, optional: true, nullable: false
@@ -5,8 +5,10 @@ module Schematic
5
5
  class PlanGroupPlanDetailResponseData < Internal::Types::Model
6
6
  field :active_version, -> { Schematic::Types::PlanVersionResponseData }, optional: true, nullable: false
7
7
  field :audience_type, -> { String }, optional: true, nullable: false
8
+ field :available_periods, -> { Internal::Types::Array[Schematic::Types::PlanPriceCadence] }, optional: false, nullable: false
8
9
  field :billing_linked_resource, -> { Schematic::Types::BillingLinkedResourceResponseData }, optional: true, nullable: false
9
10
  field :billing_product, -> { Schematic::Types::BillingProductDetailResponseData }, optional: true, nullable: false
11
+ field :billing_strategy, -> { Schematic::Types::BillingStrategy }, optional: false, nullable: false
10
12
  field :charge_type, -> { Schematic::Types::ChargeType }, optional: false, nullable: false
11
13
  field :company_count, -> { Integer }, optional: false, nullable: false
12
14
  field :company_id, -> { String }, optional: true, nullable: false
@@ -19,7 +21,7 @@ module Schematic
19
21
  field :custom_plan_config, -> { Schematic::Types::CustomPlanViewConfigResponseData }, optional: true, nullable: false
20
22
  field :description, -> { String }, optional: false, nullable: false
21
23
  field :draft_version, -> { Schematic::Types::PlanVersionResponseData }, optional: true, nullable: false
22
- field :entitlements, -> { Internal::Types::Array[Schematic::Types::PlanEntitlementResponseData] }, optional: false, nullable: false
24
+ field :entitlements, -> { Internal::Types::Array[Schematic::Types::PlanEntitlementResponseData] }, optional: true, nullable: false
23
25
  field :features, -> { Internal::Types::Array[Schematic::Types::FeatureInPlanResponseData] }, optional: false, nullable: false
24
26
  field :icon, -> { Schematic::Types::PlanIcon }, optional: false, nullable: false
25
27
  field :id, -> { String }, optional: false, nullable: false
@@ -32,6 +34,7 @@ module Schematic
32
34
  field :name, -> { String }, optional: false, nullable: false
33
35
  field :one_time_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
34
36
  field :plan_type, -> { Schematic::Types::PlanType }, optional: false, nullable: false
37
+ field :quarterly_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
35
38
  field :trial_days, -> { Integer }, optional: true, nullable: false
36
39
  field :updated_at, -> { String }, optional: false, nullable: false
37
40
  field :versions, -> { Internal::Types::Array[Schematic::Types::PlanVersionResponseData] }, optional: false, nullable: false
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ module PlanPriceCadence
6
+ extend Schematic::Internal::Types::Enum
7
+
8
+ MONTHLY = "monthly"
9
+ QUARTERLY = "quarterly"
10
+ YEARLY = "yearly"
11
+ end
12
+ end
13
+ end
@@ -8,6 +8,7 @@ module Schematic
8
8
  field :completed_at, -> { String }, optional: true, nullable: false
9
9
  field :created_at, -> { String }, optional: false, nullable: false
10
10
  field :error, -> { String }, optional: true, nullable: false
11
+ field :error_code, -> { Schematic::Types::MigrationErrorCode }, optional: true, nullable: false
11
12
  field :id, -> { String }, optional: false, nullable: false
12
13
  field :migration_id, -> { String }, optional: false, nullable: false
13
14
  field :plan_version_id_from, -> { String }, optional: true, nullable: false
@@ -12,6 +12,7 @@ module Schematic
12
12
  field :plan_id, -> { String }, optional: false, nullable: false
13
13
  field :plan_version_id_from, -> { String }, optional: true, nullable: false
14
14
  field :plan_version_id_to, -> { String }, optional: false, nullable: false
15
+ field :plan_version_ids_from, -> { Internal::Types::Array[String] }, optional: false, nullable: false
15
16
  field :skipped_companies, -> { Integer }, optional: false, nullable: false
16
17
  field :started_at, -> { String }, optional: true, nullable: false
17
18
  field :status, -> { Schematic::Types::PlanVersionMigrationStatus }, optional: false, nullable: false
@@ -5,8 +5,10 @@ module Schematic
5
5
  class PlanViewPublicResponseData < Internal::Types::Model
6
6
  field :active_version, -> { Schematic::Types::PlanVersionResponseData }, optional: true, nullable: false
7
7
  field :audience_type, -> { String }, optional: true, nullable: false
8
+ field :available_periods, -> { Internal::Types::Array[Schematic::Types::PlanPriceCadence] }, optional: false, nullable: false
8
9
  field :billing_linked_resource, -> { Schematic::Types::BillingLinkedResourceResponseData }, optional: true, nullable: false
9
10
  field :billing_product, -> { Schematic::Types::BillingProductDetailResponseData }, optional: true, nullable: false
11
+ field :billing_strategy, -> { Schematic::Types::BillingStrategy }, optional: false, nullable: false
10
12
  field :charge_type, -> { Schematic::Types::ChargeType }, optional: false, nullable: false
11
13
  field :company_count, -> { Integer }, optional: false, nullable: false
12
14
  field :company_id, -> { String }, optional: true, nullable: false
@@ -20,7 +22,7 @@ module Schematic
20
22
  field :custom_plan_config, -> { Schematic::Types::CustomPlanConfig }, optional: true, nullable: false
21
23
  field :description, -> { String }, optional: false, nullable: false
22
24
  field :draft_version, -> { Schematic::Types::PlanVersionResponseData }, optional: true, nullable: false
23
- field :entitlements, -> { Internal::Types::Array[Schematic::Types::PlanEntitlementResponseData] }, optional: false, nullable: false
25
+ field :entitlements, -> { Internal::Types::Array[Schematic::Types::PlanEntitlementResponseData] }, optional: true, nullable: false
24
26
  field :features, -> { Internal::Types::Array[Schematic::Types::FeatureInPlanResponseData] }, optional: false, nullable: false
25
27
  field :icon, -> { Schematic::Types::PlanIcon }, optional: false, nullable: false
26
28
  field :id, -> { String }, optional: false, nullable: false
@@ -33,6 +35,7 @@ module Schematic
33
35
  field :name, -> { String }, optional: false, nullable: false
34
36
  field :one_time_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
35
37
  field :plan_type, -> { Schematic::Types::PlanType }, optional: false, nullable: false
38
+ field :quarterly_price, -> { Schematic::Types::BillingPriceResponseData }, optional: true, nullable: false
36
39
  field :trial_days, -> { Integer }, optional: true, nullable: false
37
40
  field :updated_at, -> { String }, optional: false, nullable: false
38
41
  field :versions, -> { Internal::Types::Array[Schematic::Types::PlanVersionResponseData] }, optional: false, nullable: false
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ module ReleaseCreditLeaseRequestBody
6
+ # ReleaseCreditLeaseRequestBody is an alias for Hash
7
+
8
+ # @option str [String]
9
+ #
10
+ # @return [untyped]
11
+ def self.load(str)
12
+ ::JSON.parse(str)
13
+ end
14
+
15
+ # @option value [untyped]
16
+ #
17
+ # @return [String]
18
+ def self.dump(value)
19
+ ::JSON.generate(value)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -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,14 @@
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
+ end
13
+ end
14
+ 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,8 +14,13 @@ 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
23
+ field :usage_quantity, -> { Integer }, optional: true, nullable: false
19
24
  field :yearly_metered_price_id, -> { String }, optional: true, nullable: false
20
25
  field :yearly_price_tiers, -> { Internal::Types::Array[Schematic::Types::CreatePriceTierRequestBody] }, optional: true, nullable: false
21
26
  field :yearly_unit_price, -> { Integer }, optional: true, nullable: false
@@ -11,6 +11,8 @@ 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
15
+ field :usage_quantity, -> { Integer }, optional: true, nullable: false
14
16
  field :value_bool, -> { Internal::Types::Boolean }, optional: true, nullable: false
15
17
  field :value_numeric, -> { Integer }, optional: true, nullable: false
16
18
  field :value_type, -> { Schematic::Types::EntitlementValueType }, optional: false, nullable: false
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Schematic
4
+ module Types
5
+ class WorkOsIntegrationConfig < 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
@@ -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.3"
5
5
  end