From 474677d2e5bb4df3f74d7b7c5e44ad94202a898e Mon Sep 17 00:00:00 2001 From: fern-api <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 13:47:40 +0000 Subject: [PATCH] SDK regeneration --- .fern/metadata.json | 8 +- reference.md | 262 +++++++++++------- .../SchematicHQ.Client.Test.csproj | 2 +- .../Requests/CreateBillingPriceRequestBody.cs | 3 + src/SchematicHQ.Client/Core/Public/Version.cs | 2 +- .../Entitlements/EntitlementsClient.cs | 8 +- .../Requests/CountFeatureUsageRequest.cs | 6 + ...BillingLinkedPlanEntitlementRequestBody.cs | 12 + .../CreatePlanEntitlementRequestBody.cs | 12 + .../Requests/ListFeatureUsageRequest.cs | 6 + .../UpdatePlanEntitlementRequestBody.cs | 12 + .../Types/CountFeatureUsageParams.cs | 6 + .../Types/ListFeatureUsageParams.cs | 6 + src/SchematicHQ.Client/ISchematicApi.cs | 2 +- .../Planbundle/IPlanbundleClient.cs | 6 + .../Planbundle/PlanbundleClient.cs | 115 ++++++++ .../CreateCustomPlanBundleRequestBody.cs | 24 ++ .../Types/CreateCustomPlanBundleResponse.cs | 34 +++ src/SchematicHQ.Client/SchematicApi.cs | 8 +- .../SchematicHQ.Client.csproj | 2 +- .../Types/BillingPriceResponseData.cs | 3 + .../Types/BillingPriceView.cs | 3 + ...llingProductForSubscriptionResponseData.cs | 3 + .../Types/BillingProductPriceResponseData.cs | 3 + .../Types/CompanyPlanDetailResponseData.cs | 3 + .../CreateCustomPlanBundlePlanRequestBody.cs | 37 +++ .../CreateEntitlementInBundleRequestBody.cs | 12 + .../Types/CreateEventRequestBody.cs | 12 + .../Types/CurrencyPriceRequestBody.cs | 9 + .../Types/DataEventPayload.cs | 6 + .../EntitlementCurrencyPricesResponseData.cs | 3 + .../Types/FeatureCompanyResponseData.cs | 3 + .../Types/FeatureUsageResponseData.cs | 3 + .../Types/PlanCurrencyPriceRequestBody.cs | 3 + .../Types/PlanCurrencyPricesResponseData.cs | 3 + .../Types/PlanDetailResponseData.cs | 3 + .../Types/PlanEntitlementResponseData.cs | 3 + .../Types/PlanGroupPlanDetailResponseData.cs | 3 + .../Types/PlanViewPublicResponseData.cs | 3 + .../Types/UpsertBillingProductRequestBody.cs | 6 + .../Types/UsageBasedEntitlementRequestBody.cs | 12 + .../UsageBasedEntitlementResponseData.cs | 3 + 42 files changed, 555 insertions(+), 120 deletions(-) create mode 100644 src/SchematicHQ.Client/Planbundle/Requests/CreateCustomPlanBundleRequestBody.cs create mode 100644 src/SchematicHQ.Client/Planbundle/Types/CreateCustomPlanBundleResponse.cs create mode 100644 src/SchematicHQ.Client/Types/CreateCustomPlanBundlePlanRequestBody.cs diff --git a/.fern/metadata.json b/.fern/metadata.json index eb502820..40d236e0 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,7 +1,7 @@ { "cliVersion": "5.6.0", "generatorName": "fernapi/fern-csharp-sdk", - "generatorVersion": "2.66.1", + "generatorVersion": "2.66.4", "generatorConfig": { "namespace": "SchematicHQ.Client", "client-class-name": "SchematicApi", @@ -12,10 +12,10 @@ }, "generate-mock-server-tests": false }, - "originGitCommit": "4fd82021eff164a6f2484d4504850c46fe8f4a95", + "originGitCommit": "efe71642022d9d3303fd78c648e5b2539192230e", "originGitCommitIsDirty": false, "invokedBy": "ci", - "requestedVersion": "1.4.5", + "requestedVersion": "1.4.6", "ciProvider": "github", - "sdkVersion": "1.4.5" + "sdkVersion": "1.4.6" } \ No newline at end of file diff --git a/reference.md b/reference.md index 2953406a..118d3452 100644 --- a/reference.md +++ b/reference.md @@ -5648,6 +5648,7 @@ await client.Entitlements.ListFeatureUsageAsync( CompanyId = "company_id", FeatureIds = new List() { "feature_ids" }, IncludeUsageAggregation = true, + ManagedBy = BillingProviderType.Orb, Q = "q", WithoutNegativeEntitlements = true, Limit = 1000000, @@ -5748,6 +5749,7 @@ await client.Entitlements.CountFeatureUsageAsync( CompanyId = "company_id", FeatureIds = new List() { "feature_ids" }, IncludeUsageAggregation = true, + ManagedBy = BillingProviderType.Orb, Q = "q", WithoutNegativeEntitlements = true, Limit = 1000000, @@ -7468,6 +7470,160 @@ await client.Components.PreviewComponentDataAsync( + + + + +## planbundle +
client.Planbundle.CreateCustomPlanBundleAsync(CreateCustomPlanBundleRequestBody { ... }) -> WithRawResponseTask<CreateCustomPlanBundleResponse> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```csharp +await client.Planbundle.CreateCustomPlanBundleAsync( + new CreateCustomPlanBundleRequestBody + { + Entitlements = new List() + { + new PlanBundleEntitlementRequestBody { Action = PlanBundleAction.Create }, + }, + } +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `CreateCustomPlanBundleRequestBody` + +
+
+
+
+ + +
+
+
+ +
client.Planbundle.CreatePlanBundleAsync(CreatePlanBundleRequestBody { ... }) -> WithRawResponseTask<CreatePlanBundleResponse> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```csharp +await client.Planbundle.CreatePlanBundleAsync( + new CreatePlanBundleRequestBody + { + Entitlements = new List() + { + new PlanBundleEntitlementRequestBody { Action = PlanBundleAction.Create }, + }, + } +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `CreatePlanBundleRequestBody` + +
+
+
+
+ + +
+
+
+ +
client.Planbundle.UpdatePlanBundleAsync(planBundleId, UpdatePlanBundleRequestBody { ... }) -> WithRawResponseTask<UpdatePlanBundleResponse> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```csharp +await client.Planbundle.UpdatePlanBundleAsync( + "plan_bundle_id", + new UpdatePlanBundleRequestBody + { + Entitlements = new List() + { + new PlanBundleEntitlementRequestBody { Action = PlanBundleAction.Create }, + }, + } +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**planBundleId:** `string` — plan_bundle_id + +
+
+ +
+
+ +**request:** `UpdatePlanBundleRequestBody` + +
+
+
+
+ +
@@ -9137,112 +9293,6 @@ await client.Integrationsapi.UninstallIntegrationAsync("integration_id"); - - - - -## planbundle -
client.Planbundle.CreatePlanBundleAsync(CreatePlanBundleRequestBody { ... }) -> WithRawResponseTask<CreatePlanBundleResponse> -
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Planbundle.CreatePlanBundleAsync( - new CreatePlanBundleRequestBody - { - Entitlements = new List() - { - new PlanBundleEntitlementRequestBody { Action = PlanBundleAction.Create }, - }, - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `CreatePlanBundleRequestBody` - -
-
-
-
- - -
-
-
- -
client.Planbundle.UpdatePlanBundleAsync(planBundleId, UpdatePlanBundleRequestBody { ... }) -> WithRawResponseTask<UpdatePlanBundleResponse> -
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Planbundle.UpdatePlanBundleAsync( - "plan_bundle_id", - new UpdatePlanBundleRequestBody - { - Entitlements = new List() - { - new PlanBundleEntitlementRequestBody { Action = PlanBundleAction.Create }, - }, - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**planBundleId:** `string` — plan_bundle_id - -
-
- -
-
- -**request:** `UpdatePlanBundleRequestBody` - -
-
-
-
- -
diff --git a/src/SchematicHQ.Client.Test/SchematicHQ.Client.Test.csproj b/src/SchematicHQ.Client.Test/SchematicHQ.Client.Test.csproj index b7917d1f..408d5da0 100644 --- a/src/SchematicHQ.Client.Test/SchematicHQ.Client.Test.csproj +++ b/src/SchematicHQ.Client.Test/SchematicHQ.Client.Test.csproj @@ -25,7 +25,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/src/SchematicHQ.Client/Billing/Requests/CreateBillingPriceRequestBody.cs b/src/SchematicHQ.Client/Billing/Requests/CreateBillingPriceRequestBody.cs index 1b8a198a..316f991f 100644 --- a/src/SchematicHQ.Client/Billing/Requests/CreateBillingPriceRequestBody.cs +++ b/src/SchematicHQ.Client/Billing/Requests/CreateBillingPriceRequestBody.cs @@ -18,6 +18,9 @@ public record CreateBillingPriceRequestBody [JsonPropertyName("interval")] public required string Interval { get; set; } + [JsonPropertyName("interval_count")] + public long? IntervalCount { get; set; } + [JsonPropertyName("is_active")] public required bool IsActive { get; set; } diff --git a/src/SchematicHQ.Client/Core/Public/Version.cs b/src/SchematicHQ.Client/Core/Public/Version.cs index 065ca076..17984ad1 100644 --- a/src/SchematicHQ.Client/Core/Public/Version.cs +++ b/src/SchematicHQ.Client/Core/Public/Version.cs @@ -3,5 +3,5 @@ namespace SchematicHQ.Client; [Serializable] internal class Version { - public const string Current = "1.4.5"; + public const string Current = "1.4.6"; } diff --git a/src/SchematicHQ.Client/Entitlements/EntitlementsClient.cs b/src/SchematicHQ.Client/Entitlements/EntitlementsClient.cs index 3ae1ee25..d468cd73 100644 --- a/src/SchematicHQ.Client/Entitlements/EntitlementsClient.cs +++ b/src/SchematicHQ.Client/Entitlements/EntitlementsClient.cs @@ -792,11 +792,12 @@ private async Task> ListFeatureUsageAs CancellationToken cancellationToken = default ) { - var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 8) + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 9) .Add("company_id", request.CompanyId) .Add("company_keys", request.CompanyKeys) .Add("feature_ids", request.FeatureIds) .Add("include_usage_aggregation", request.IncludeUsageAggregation) + .Add("managed_by", request.ManagedBy) .Add("q", request.Q) .Add("without_negative_entitlements", request.WithoutNegativeEntitlements) .Add("limit", request.Limit) @@ -989,11 +990,12 @@ private async Task> CountFeatureUsage CancellationToken cancellationToken = default ) { - var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 8) + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 9) .Add("company_id", request.CompanyId) .Add("company_keys", request.CompanyKeys) .Add("feature_ids", request.FeatureIds) .Add("include_usage_aggregation", request.IncludeUsageAggregation) + .Add("managed_by", request.ManagedBy) .Add("q", request.Q) .Add("without_negative_entitlements", request.WithoutNegativeEntitlements) .Add("limit", request.Limit) @@ -2307,6 +2309,7 @@ public WithRawResponseTask CountFeatureCompaniesA /// CompanyId = "company_id", /// FeatureIds = new List<string>() { "feature_ids" }, /// IncludeUsageAggregation = true, + /// ManagedBy = BillingProviderType.Orb, /// Q = "q", /// WithoutNegativeEntitlements = true, /// Limit = 1000000, @@ -2355,6 +2358,7 @@ public WithRawResponseTask GetFeatureUsageTim /// CompanyId = "company_id", /// FeatureIds = new List<string>() { "feature_ids" }, /// IncludeUsageAggregation = true, + /// ManagedBy = BillingProviderType.Orb, /// Q = "q", /// WithoutNegativeEntitlements = true, /// Limit = 1000000, diff --git a/src/SchematicHQ.Client/Entitlements/Requests/CountFeatureUsageRequest.cs b/src/SchematicHQ.Client/Entitlements/Requests/CountFeatureUsageRequest.cs index 57364523..f45385e7 100644 --- a/src/SchematicHQ.Client/Entitlements/Requests/CountFeatureUsageRequest.cs +++ b/src/SchematicHQ.Client/Entitlements/Requests/CountFeatureUsageRequest.cs @@ -21,6 +21,12 @@ public record CountFeatureUsageRequest [JsonIgnore] public bool? IncludeUsageAggregation { get; set; } + /// + /// Filter for features managed by a billing provider, or by Schematic (no billing provider) + /// + [JsonIgnore] + public BillingProviderType? ManagedBy { get; set; } + [JsonIgnore] public string? Q { get; set; } diff --git a/src/SchematicHQ.Client/Entitlements/Requests/CreateBillingLinkedPlanEntitlementRequestBody.cs b/src/SchematicHQ.Client/Entitlements/Requests/CreateBillingLinkedPlanEntitlementRequestBody.cs index e508d3b8..ee0ca666 100644 --- a/src/SchematicHQ.Client/Entitlements/Requests/CreateBillingLinkedPlanEntitlementRequestBody.cs +++ b/src/SchematicHQ.Client/Entitlements/Requests/CreateBillingLinkedPlanEntitlementRequestBody.cs @@ -66,6 +66,18 @@ public record CreateBillingLinkedPlanEntitlementRequestBody [JsonPropertyName("price_tiers")] public IEnumerable? PriceTiers { get; set; } + [JsonPropertyName("quarterly_metered_price_id")] + public string? QuarterlyMeteredPriceId { get; set; } + + [JsonPropertyName("quarterly_price_tiers")] + public IEnumerable? QuarterlyPriceTiers { get; set; } + + [JsonPropertyName("quarterly_unit_price")] + public long? QuarterlyUnitPrice { get; set; } + + [JsonPropertyName("quarterly_unit_price_decimal")] + public string? QuarterlyUnitPriceDecimal { get; set; } + [JsonPropertyName("soft_limit")] public long? SoftLimit { get; set; } diff --git a/src/SchematicHQ.Client/Entitlements/Requests/CreatePlanEntitlementRequestBody.cs b/src/SchematicHQ.Client/Entitlements/Requests/CreatePlanEntitlementRequestBody.cs index adfc995a..68884f21 100644 --- a/src/SchematicHQ.Client/Entitlements/Requests/CreatePlanEntitlementRequestBody.cs +++ b/src/SchematicHQ.Client/Entitlements/Requests/CreatePlanEntitlementRequestBody.cs @@ -60,6 +60,18 @@ public record CreatePlanEntitlementRequestBody [JsonPropertyName("price_tiers")] public IEnumerable? PriceTiers { get; set; } + [JsonPropertyName("quarterly_metered_price_id")] + public string? QuarterlyMeteredPriceId { get; set; } + + [JsonPropertyName("quarterly_price_tiers")] + public IEnumerable? QuarterlyPriceTiers { get; set; } + + [JsonPropertyName("quarterly_unit_price")] + public long? QuarterlyUnitPrice { get; set; } + + [JsonPropertyName("quarterly_unit_price_decimal")] + public string? QuarterlyUnitPriceDecimal { get; set; } + [JsonPropertyName("soft_limit")] public long? SoftLimit { get; set; } diff --git a/src/SchematicHQ.Client/Entitlements/Requests/ListFeatureUsageRequest.cs b/src/SchematicHQ.Client/Entitlements/Requests/ListFeatureUsageRequest.cs index 640be7a6..5cc0743b 100644 --- a/src/SchematicHQ.Client/Entitlements/Requests/ListFeatureUsageRequest.cs +++ b/src/SchematicHQ.Client/Entitlements/Requests/ListFeatureUsageRequest.cs @@ -21,6 +21,12 @@ public record ListFeatureUsageRequest [JsonIgnore] public bool? IncludeUsageAggregation { get; set; } + /// + /// Filter for features managed by a billing provider, or by Schematic (no billing provider) + /// + [JsonIgnore] + public BillingProviderType? ManagedBy { get; set; } + [JsonIgnore] public string? Q { get; set; } diff --git a/src/SchematicHQ.Client/Entitlements/Requests/UpdatePlanEntitlementRequestBody.cs b/src/SchematicHQ.Client/Entitlements/Requests/UpdatePlanEntitlementRequestBody.cs index 06f4d4d4..25d9b404 100644 --- a/src/SchematicHQ.Client/Entitlements/Requests/UpdatePlanEntitlementRequestBody.cs +++ b/src/SchematicHQ.Client/Entitlements/Requests/UpdatePlanEntitlementRequestBody.cs @@ -51,6 +51,18 @@ public record UpdatePlanEntitlementRequestBody [JsonPropertyName("price_tiers")] public IEnumerable? PriceTiers { get; set; } + [JsonPropertyName("quarterly_metered_price_id")] + public string? QuarterlyMeteredPriceId { get; set; } + + [JsonPropertyName("quarterly_price_tiers")] + public IEnumerable? QuarterlyPriceTiers { get; set; } + + [JsonPropertyName("quarterly_unit_price")] + public long? QuarterlyUnitPrice { get; set; } + + [JsonPropertyName("quarterly_unit_price_decimal")] + public string? QuarterlyUnitPriceDecimal { get; set; } + [JsonPropertyName("soft_limit")] public long? SoftLimit { get; set; } diff --git a/src/SchematicHQ.Client/Entitlements/Types/CountFeatureUsageParams.cs b/src/SchematicHQ.Client/Entitlements/Types/CountFeatureUsageParams.cs index a18d8544..01928e71 100644 --- a/src/SchematicHQ.Client/Entitlements/Types/CountFeatureUsageParams.cs +++ b/src/SchematicHQ.Client/Entitlements/Types/CountFeatureUsageParams.cs @@ -35,6 +35,12 @@ public record CountFeatureUsageParams : IJsonOnDeserialized [JsonPropertyName("limit")] public long? Limit { get; set; } + /// + /// Filter for features managed by a billing provider, or by Schematic (no billing provider) + /// + [JsonPropertyName("managed_by")] + public BillingProviderType? ManagedBy { get; set; } + /// /// Page offset (default 0) /// diff --git a/src/SchematicHQ.Client/Entitlements/Types/ListFeatureUsageParams.cs b/src/SchematicHQ.Client/Entitlements/Types/ListFeatureUsageParams.cs index 8a651629..b4ac019d 100644 --- a/src/SchematicHQ.Client/Entitlements/Types/ListFeatureUsageParams.cs +++ b/src/SchematicHQ.Client/Entitlements/Types/ListFeatureUsageParams.cs @@ -35,6 +35,12 @@ public record ListFeatureUsageParams : IJsonOnDeserialized [JsonPropertyName("limit")] public long? Limit { get; set; } + /// + /// Filter for features managed by a billing provider, or by Schematic (no billing provider) + /// + [JsonPropertyName("managed_by")] + public BillingProviderType? ManagedBy { get; set; } + /// /// Page offset (default 0) /// diff --git a/src/SchematicHQ.Client/ISchematicApi.cs b/src/SchematicHQ.Client/ISchematicApi.cs index 53216a9f..ceb857a3 100644 --- a/src/SchematicHQ.Client/ISchematicApi.cs +++ b/src/SchematicHQ.Client/ISchematicApi.cs @@ -10,12 +10,12 @@ public partial interface ISchematicApi public IEntitlementsClient Entitlements { get; } public IPlansClient Plans { get; } public IComponentsClient Components { get; } + public IPlanbundleClient Planbundle { get; } public IDataexportsClient Dataexports { get; } public IEventsClient Events { get; } public IFeaturesClient Features { get; } public IInsightsClient Insights { get; } public IIntegrationsapiClient Integrationsapi { get; } - public IPlanbundleClient Planbundle { get; } public IPlangroupsClient Plangroups { get; } public IPlanmigrationsClient Planmigrations { get; } public IComponentspublicClient Componentspublic { get; } diff --git a/src/SchematicHQ.Client/Planbundle/IPlanbundleClient.cs b/src/SchematicHQ.Client/Planbundle/IPlanbundleClient.cs index 6b04b0bb..8d774741 100644 --- a/src/SchematicHQ.Client/Planbundle/IPlanbundleClient.cs +++ b/src/SchematicHQ.Client/Planbundle/IPlanbundleClient.cs @@ -2,6 +2,12 @@ namespace SchematicHQ.Client; public partial interface IPlanbundleClient { + WithRawResponseTask CreateCustomPlanBundleAsync( + CreateCustomPlanBundleRequestBody request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ); + WithRawResponseTask CreatePlanBundleAsync( CreatePlanBundleRequestBody request, RequestOptions? options = null, diff --git a/src/SchematicHQ.Client/Planbundle/PlanbundleClient.cs b/src/SchematicHQ.Client/Planbundle/PlanbundleClient.cs index 0600e093..82338cf4 100644 --- a/src/SchematicHQ.Client/Planbundle/PlanbundleClient.cs +++ b/src/SchematicHQ.Client/Planbundle/PlanbundleClient.cs @@ -12,6 +12,99 @@ internal PlanbundleClient(RawClient client) _client = client; } + private async Task< + WithRawResponse + > CreateCustomPlanBundleAsyncCore( + CreateCustomPlanBundleRequestBody request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ) + { + var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() + .Add(_client.Options.Headers) + .Add(_client.Options.AdditionalHeaders) + .Add(options?.AdditionalHeaders) + .BuildAsync() + .ConfigureAwait(false); + var response = await _client + .SendRequestAsync( + new JsonRequest + { + Method = HttpMethod.Post, + Path = "custom-plan-bundles", + Body = request, + Headers = _headers, + ContentType = "application/json", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); + if (response.StatusCode is >= 200 and < 400) + { + var responseBody = await response + .Raw.Content.ReadAsStringAsync(cancellationToken) + .ConfigureAwait(false); + try + { + var responseData = JsonUtils.Deserialize( + responseBody + )!; + return new WithRawResponse() + { + Data = responseData, + RawResponse = new RawResponse() + { + StatusCode = response.Raw.StatusCode, + Url = response.Raw.RequestMessage?.RequestUri ?? new Uri("about:blank"), + Headers = ResponseHeaders.FromHttpResponseMessage(response.Raw), + }, + }; + } + catch (JsonException e) + { + throw new SchematicApiException( + "Failed to deserialize response", + response.StatusCode, + responseBody, + e + ); + } + } + { + var responseBody = await response + .Raw.Content.ReadAsStringAsync(cancellationToken) + .ConfigureAwait(false); + try + { + switch (response.StatusCode) + { + case 400: + throw new BadRequestError(JsonUtils.Deserialize(responseBody)); + case 401: + throw new UnauthorizedError(JsonUtils.Deserialize(responseBody)); + case 403: + throw new ForbiddenError(JsonUtils.Deserialize(responseBody)); + case 404: + throw new NotFoundError(JsonUtils.Deserialize(responseBody)); + case 500: + throw new InternalServerError( + JsonUtils.Deserialize(responseBody) + ); + } + } + catch (JsonException) + { + // unable to map error response, throwing generic error + } + throw new SchematicApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } + } + private async Task> CreatePlanBundleAsyncCore( CreatePlanBundleRequestBody request, RequestOptions? options = null, @@ -194,6 +287,28 @@ private async Task> UpdatePlanBundleAs } } + /// + /// await client.Planbundle.CreateCustomPlanBundleAsync( + /// new CreateCustomPlanBundleRequestBody + /// { + /// Entitlements = new List<PlanBundleEntitlementRequestBody>() + /// { + /// new PlanBundleEntitlementRequestBody { Action = PlanBundleAction.Create }, + /// }, + /// } + /// ); + /// + public WithRawResponseTask CreateCustomPlanBundleAsync( + CreateCustomPlanBundleRequestBody request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ) + { + return new WithRawResponseTask( + CreateCustomPlanBundleAsyncCore(request, options, cancellationToken) + ); + } + /// /// await client.Planbundle.CreatePlanBundleAsync( /// new CreatePlanBundleRequestBody diff --git a/src/SchematicHQ.Client/Planbundle/Requests/CreateCustomPlanBundleRequestBody.cs b/src/SchematicHQ.Client/Planbundle/Requests/CreateCustomPlanBundleRequestBody.cs new file mode 100644 index 00000000..fa11c65e --- /dev/null +++ b/src/SchematicHQ.Client/Planbundle/Requests/CreateCustomPlanBundleRequestBody.cs @@ -0,0 +1,24 @@ +using global::System.Text.Json.Serialization; +using SchematicHQ.Client.Core; + +namespace SchematicHQ.Client; + +[Serializable] +public record CreateCustomPlanBundleRequestBody +{ + [JsonPropertyName("billing_product")] + public UpsertBillingProductRequestBody? BillingProduct { get; set; } + + [JsonPropertyName("entitlements")] + public IEnumerable Entitlements { get; set; } = + new List(); + + [JsonPropertyName("plan")] + public CreateCustomPlanBundlePlanRequestBody? Plan { get; set; } + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/SchematicHQ.Client/Planbundle/Types/CreateCustomPlanBundleResponse.cs b/src/SchematicHQ.Client/Planbundle/Types/CreateCustomPlanBundleResponse.cs new file mode 100644 index 00000000..0b4bfbe5 --- /dev/null +++ b/src/SchematicHQ.Client/Planbundle/Types/CreateCustomPlanBundleResponse.cs @@ -0,0 +1,34 @@ +using global::System.Text.Json; +using global::System.Text.Json.Serialization; +using SchematicHQ.Client.Core; + +namespace SchematicHQ.Client; + +[Serializable] +public record CreateCustomPlanBundleResponse : IJsonOnDeserialized +{ + [JsonExtensionData] + private readonly IDictionary _extensionData = + new Dictionary(); + + [JsonPropertyName("data")] + public required PlanBundleResponseData Data { get; set; } + + /// + /// Input parameters + /// + [JsonPropertyName("params")] + public Dictionary Params { get; set; } = new Dictionary(); + + [JsonIgnore] + public ReadOnlyAdditionalProperties AdditionalProperties { get; private set; } = new(); + + void IJsonOnDeserialized.OnDeserialized() => + AdditionalProperties.CopyFromExtensionData(_extensionData); + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/SchematicHQ.Client/SchematicApi.cs b/src/SchematicHQ.Client/SchematicApi.cs index 54f934d9..f5447f92 100644 --- a/src/SchematicHQ.Client/SchematicApi.cs +++ b/src/SchematicHQ.Client/SchematicApi.cs @@ -15,7 +15,7 @@ public SchematicApi(string? apiKey = null, ClientOptions? clientOptions = null) { "X-Fern-Language", "C#" }, { "X-Fern-SDK-Name", "SchematicHQ.Client" }, { "X-Fern-SDK-Version", Version.Current }, - { "User-Agent", "SchematicHQ.Client/1.4.5" }, + { "User-Agent", "SchematicHQ.Client/1.4.6" }, } ); foreach (var header in platformHeaders) @@ -42,12 +42,12 @@ public SchematicApi(string? apiKey = null, ClientOptions? clientOptions = null) Entitlements = new EntitlementsClient(_client); Plans = new PlansClient(_client); Components = new ComponentsClient(_client); + Planbundle = new PlanbundleClient(_client); Dataexports = new DataexportsClient(_client); Events = new EventsClient(_client); Features = new FeaturesClient(_client); Insights = new InsightsClient(_client); Integrationsapi = new IntegrationsapiClient(_client); - Planbundle = new PlanbundleClient(_client); Plangroups = new PlangroupsClient(_client); Planmigrations = new PlanmigrationsClient(_client); Componentspublic = new ComponentspublicClient(_client); @@ -72,6 +72,8 @@ public SchematicApi(string? apiKey = null, ClientOptions? clientOptions = null) public IComponentsClient Components { get; } + public IPlanbundleClient Planbundle { get; } + public IDataexportsClient Dataexports { get; } public IEventsClient Events { get; } @@ -82,8 +84,6 @@ public SchematicApi(string? apiKey = null, ClientOptions? clientOptions = null) public IIntegrationsapiClient Integrationsapi { get; } - public IPlanbundleClient Planbundle { get; } - public IPlangroupsClient Plangroups { get; } public IPlanmigrationsClient Planmigrations { get; } diff --git a/src/SchematicHQ.Client/SchematicHQ.Client.csproj b/src/SchematicHQ.Client/SchematicHQ.Client.csproj index 9105fabc..ca5dfdfc 100644 --- a/src/SchematicHQ.Client/SchematicHQ.Client.csproj +++ b/src/SchematicHQ.Client/SchematicHQ.Client.csproj @@ -4,7 +4,7 @@ enable 12 enable - 1.4.5 + 1.4.6 $(Version) $(Version) README.md diff --git a/src/SchematicHQ.Client/Types/BillingPriceResponseData.cs b/src/SchematicHQ.Client/Types/BillingPriceResponseData.cs index 1173be10..27bc9c75 100644 --- a/src/SchematicHQ.Client/Types/BillingPriceResponseData.cs +++ b/src/SchematicHQ.Client/Types/BillingPriceResponseData.cs @@ -23,6 +23,9 @@ public record BillingPriceResponseData : IJsonOnDeserialized [JsonPropertyName("interval")] public required BillingProductPriceInterval Interval { get; set; } + [JsonPropertyName("interval_count")] + public required long IntervalCount { get; set; } + [JsonPropertyName("nickname")] public string? Nickname { get; set; } diff --git a/src/SchematicHQ.Client/Types/BillingPriceView.cs b/src/SchematicHQ.Client/Types/BillingPriceView.cs index d133d272..12dc7096 100644 --- a/src/SchematicHQ.Client/Types/BillingPriceView.cs +++ b/src/SchematicHQ.Client/Types/BillingPriceView.cs @@ -26,6 +26,9 @@ public record BillingPriceView : IJsonOnDeserialized [JsonPropertyName("interval")] public required BillingProductPriceInterval Interval { get; set; } + [JsonPropertyName("interval_count")] + public required long IntervalCount { get; set; } + [JsonPropertyName("is_active")] public required bool IsActive { get; set; } diff --git a/src/SchematicHQ.Client/Types/BillingProductForSubscriptionResponseData.cs b/src/SchematicHQ.Client/Types/BillingProductForSubscriptionResponseData.cs index 2b46c699..90aeb991 100644 --- a/src/SchematicHQ.Client/Types/BillingProductForSubscriptionResponseData.cs +++ b/src/SchematicHQ.Client/Types/BillingProductForSubscriptionResponseData.cs @@ -35,6 +35,9 @@ public record BillingProductForSubscriptionResponseData : IJsonOnDeserialized [JsonPropertyName("interval")] public required string Interval { get; set; } + [JsonPropertyName("interval_count")] + public long? IntervalCount { get; set; } + [JsonPropertyName("meter_id")] public string? MeterId { get; set; } diff --git a/src/SchematicHQ.Client/Types/BillingProductPriceResponseData.cs b/src/SchematicHQ.Client/Types/BillingProductPriceResponseData.cs index 147c047b..345e8311 100644 --- a/src/SchematicHQ.Client/Types/BillingProductPriceResponseData.cs +++ b/src/SchematicHQ.Client/Types/BillingProductPriceResponseData.cs @@ -26,6 +26,9 @@ public record BillingProductPriceResponseData : IJsonOnDeserialized [JsonPropertyName("interval")] public required BillingProductPriceInterval Interval { get; set; } + [JsonPropertyName("interval_count")] + public required long IntervalCount { get; set; } + [JsonPropertyName("is_active")] public required bool IsActive { get; set; } diff --git a/src/SchematicHQ.Client/Types/CompanyPlanDetailResponseData.cs b/src/SchematicHQ.Client/Types/CompanyPlanDetailResponseData.cs index 449ef697..230de98b 100644 --- a/src/SchematicHQ.Client/Types/CompanyPlanDetailResponseData.cs +++ b/src/SchematicHQ.Client/Types/CompanyPlanDetailResponseData.cs @@ -114,6 +114,9 @@ public record CompanyPlanDetailResponseData : IJsonOnDeserialized [JsonPropertyName("plan_type")] public required PlanType PlanType { get; set; } + [JsonPropertyName("quarterly_price")] + public BillingPriceResponseData? QuarterlyPrice { get; set; } + [JsonPropertyName("trial_days")] public long? TrialDays { get; set; } diff --git a/src/SchematicHQ.Client/Types/CreateCustomPlanBundlePlanRequestBody.cs b/src/SchematicHQ.Client/Types/CreateCustomPlanBundlePlanRequestBody.cs new file mode 100644 index 00000000..e8914fcf --- /dev/null +++ b/src/SchematicHQ.Client/Types/CreateCustomPlanBundlePlanRequestBody.cs @@ -0,0 +1,37 @@ +using global::System.Text.Json; +using global::System.Text.Json.Serialization; +using SchematicHQ.Client.Core; + +namespace SchematicHQ.Client; + +[Serializable] +public record CreateCustomPlanBundlePlanRequestBody : IJsonOnDeserialized +{ + [JsonExtensionData] + private readonly IDictionary _extensionData = + new Dictionary(); + + [JsonPropertyName("company_id")] + public required string CompanyId { get; set; } + + [JsonPropertyName("description")] + public required string Description { get; set; } + + [JsonPropertyName("icon")] + public PlanIcon? Icon { get; set; } + + [JsonPropertyName("name")] + public required string Name { get; set; } + + [JsonIgnore] + public ReadOnlyAdditionalProperties AdditionalProperties { get; private set; } = new(); + + void IJsonOnDeserialized.OnDeserialized() => + AdditionalProperties.CopyFromExtensionData(_extensionData); + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/SchematicHQ.Client/Types/CreateEntitlementInBundleRequestBody.cs b/src/SchematicHQ.Client/Types/CreateEntitlementInBundleRequestBody.cs index dd0abc8c..29eb6feb 100644 --- a/src/SchematicHQ.Client/Types/CreateEntitlementInBundleRequestBody.cs +++ b/src/SchematicHQ.Client/Types/CreateEntitlementInBundleRequestBody.cs @@ -65,6 +65,18 @@ public record CreateEntitlementInBundleRequestBody : IJsonOnDeserialized [JsonPropertyName("price_tiers")] public IEnumerable? PriceTiers { get; set; } + [JsonPropertyName("quarterly_metered_price_id")] + public string? QuarterlyMeteredPriceId { get; set; } + + [JsonPropertyName("quarterly_price_tiers")] + public IEnumerable? QuarterlyPriceTiers { get; set; } + + [JsonPropertyName("quarterly_unit_price")] + public long? QuarterlyUnitPrice { get; set; } + + [JsonPropertyName("quarterly_unit_price_decimal")] + public string? QuarterlyUnitPriceDecimal { get; set; } + [JsonPropertyName("soft_limit")] public long? SoftLimit { get; set; } diff --git a/src/SchematicHQ.Client/Types/CreateEventRequestBody.cs b/src/SchematicHQ.Client/Types/CreateEventRequestBody.cs index d186dad7..49fd627f 100644 --- a/src/SchematicHQ.Client/Types/CreateEventRequestBody.cs +++ b/src/SchematicHQ.Client/Types/CreateEventRequestBody.cs @@ -12,6 +12,12 @@ public record CreateEventRequestBody : IJsonOnDeserialized private readonly IDictionary _extensionData = new Dictionary(); + /// + /// Requires a secret API key, and trusted_client_clock. Import historical data without affecting billing. + /// + [JsonPropertyName("backfill")] + public bool? Backfill { get; set; } + [JsonPropertyName("body")] public OneOf? Body { get; set; } @@ -33,6 +39,12 @@ public record CreateEventRequestBody : IJsonOnDeserialized [JsonPropertyName("sent_at")] public DateTime? SentAt { get; set; } + /// + /// Requires a secret API key and sent_at. Use sent_at as the effective timestamp. + /// + [JsonPropertyName("trusted_client_clock")] + public bool? TrustedClientClock { get; set; } + [JsonIgnore] public ReadOnlyAdditionalProperties AdditionalProperties { get; private set; } = new(); diff --git a/src/SchematicHQ.Client/Types/CurrencyPriceRequestBody.cs b/src/SchematicHQ.Client/Types/CurrencyPriceRequestBody.cs index aab1621a..9fc26e99 100644 --- a/src/SchematicHQ.Client/Types/CurrencyPriceRequestBody.cs +++ b/src/SchematicHQ.Client/Types/CurrencyPriceRequestBody.cs @@ -23,6 +23,15 @@ public record CurrencyPriceRequestBody : IJsonOnDeserialized [JsonPropertyName("monthly_unit_price_decimal")] public string? MonthlyUnitPriceDecimal { get; set; } + [JsonPropertyName("quarterly_price_tiers")] + public IEnumerable? QuarterlyPriceTiers { get; set; } + + [JsonPropertyName("quarterly_unit_price")] + public long? QuarterlyUnitPrice { get; set; } + + [JsonPropertyName("quarterly_unit_price_decimal")] + public string? QuarterlyUnitPriceDecimal { get; set; } + [JsonPropertyName("yearly_price_tiers")] public IEnumerable? YearlyPriceTiers { get; set; } diff --git a/src/SchematicHQ.Client/Types/DataEventPayload.cs b/src/SchematicHQ.Client/Types/DataEventPayload.cs index 11a8ffdf..f1be6242 100644 --- a/src/SchematicHQ.Client/Types/DataEventPayload.cs +++ b/src/SchematicHQ.Client/Types/DataEventPayload.cs @@ -14,6 +14,9 @@ public record DataEventPayload : IJsonOnDeserialized [JsonPropertyName("api_key")] public required string ApiKey { get; set; } + [JsonPropertyName("backfill")] + public bool? Backfill { get; set; } + [JsonPropertyName("body")] public Dictionary? Body { get; set; } @@ -23,6 +26,9 @@ public record DataEventPayload : IJsonOnDeserialized [JsonPropertyName("sent_at")] public DateTime? SentAt { get; set; } + [JsonPropertyName("trusted_client_clock")] + public bool? TrustedClientClock { get; set; } + [JsonPropertyName("type")] public required EventType Type { get; set; } diff --git a/src/SchematicHQ.Client/Types/EntitlementCurrencyPricesResponseData.cs b/src/SchematicHQ.Client/Types/EntitlementCurrencyPricesResponseData.cs index 40c69c9e..49f3e50b 100644 --- a/src/SchematicHQ.Client/Types/EntitlementCurrencyPricesResponseData.cs +++ b/src/SchematicHQ.Client/Types/EntitlementCurrencyPricesResponseData.cs @@ -17,6 +17,9 @@ public record EntitlementCurrencyPricesResponseData : IJsonOnDeserialized [JsonPropertyName("monthly_price")] public BillingPriceView? MonthlyPrice { get; set; } + [JsonPropertyName("quarterly_price")] + public BillingPriceView? QuarterlyPrice { get; set; } + [JsonPropertyName("yearly_price")] public BillingPriceView? YearlyPrice { get; set; } diff --git a/src/SchematicHQ.Client/Types/FeatureCompanyResponseData.cs b/src/SchematicHQ.Client/Types/FeatureCompanyResponseData.cs index 624c50a3..7402b7cf 100644 --- a/src/SchematicHQ.Client/Types/FeatureCompanyResponseData.cs +++ b/src/SchematicHQ.Client/Types/FeatureCompanyResponseData.cs @@ -164,6 +164,9 @@ public record FeatureCompanyResponseData : IJsonOnDeserialized [JsonPropertyName("price_behavior")] public EntitlementPriceBehavior? PriceBehavior { get; set; } + [JsonPropertyName("quarterly_usage_based_price")] + public BillingPriceView? QuarterlyUsageBasedPrice { get; set; } + /// /// The soft limit for the feature usage. Available only for overage price behavior /// diff --git a/src/SchematicHQ.Client/Types/FeatureUsageResponseData.cs b/src/SchematicHQ.Client/Types/FeatureUsageResponseData.cs index 7d5e19cb..81d6283e 100644 --- a/src/SchematicHQ.Client/Types/FeatureUsageResponseData.cs +++ b/src/SchematicHQ.Client/Types/FeatureUsageResponseData.cs @@ -158,6 +158,9 @@ public record FeatureUsageResponseData : IJsonOnDeserialized [JsonPropertyName("price_behavior")] public EntitlementPriceBehavior? PriceBehavior { get; set; } + [JsonPropertyName("quarterly_usage_based_price")] + public BillingPriceView? QuarterlyUsageBasedPrice { get; set; } + /// /// The soft limit for the feature usage. Available only for overage price behavior /// diff --git a/src/SchematicHQ.Client/Types/PlanCurrencyPriceRequestBody.cs b/src/SchematicHQ.Client/Types/PlanCurrencyPriceRequestBody.cs index 6e8523bb..075a53a8 100644 --- a/src/SchematicHQ.Client/Types/PlanCurrencyPriceRequestBody.cs +++ b/src/SchematicHQ.Client/Types/PlanCurrencyPriceRequestBody.cs @@ -20,6 +20,9 @@ public record PlanCurrencyPriceRequestBody : IJsonOnDeserialized [JsonPropertyName("one_time_price")] public long? OneTimePrice { get; set; } + [JsonPropertyName("quarterly_price")] + public long? QuarterlyPrice { get; set; } + [JsonPropertyName("yearly_price")] public long? YearlyPrice { get; set; } diff --git a/src/SchematicHQ.Client/Types/PlanCurrencyPricesResponseData.cs b/src/SchematicHQ.Client/Types/PlanCurrencyPricesResponseData.cs index 585863d7..7241e75e 100644 --- a/src/SchematicHQ.Client/Types/PlanCurrencyPricesResponseData.cs +++ b/src/SchematicHQ.Client/Types/PlanCurrencyPricesResponseData.cs @@ -20,6 +20,9 @@ public record PlanCurrencyPricesResponseData : IJsonOnDeserialized [JsonPropertyName("one_time_price")] public BillingPriceResponseData? OneTimePrice { get; set; } + [JsonPropertyName("quarterly_price")] + public BillingPriceResponseData? QuarterlyPrice { get; set; } + [JsonPropertyName("yearly_price")] public BillingPriceResponseData? YearlyPrice { get; set; } diff --git a/src/SchematicHQ.Client/Types/PlanDetailResponseData.cs b/src/SchematicHQ.Client/Types/PlanDetailResponseData.cs index 4b6cab11..a98e9573 100644 --- a/src/SchematicHQ.Client/Types/PlanDetailResponseData.cs +++ b/src/SchematicHQ.Client/Types/PlanDetailResponseData.cs @@ -88,6 +88,9 @@ public record PlanDetailResponseData : IJsonOnDeserialized [JsonPropertyName("plan_type")] public required PlanType PlanType { get; set; } + [JsonPropertyName("quarterly_price")] + public BillingPriceResponseData? QuarterlyPrice { get; set; } + [JsonPropertyName("trial_days")] public long? TrialDays { get; set; } diff --git a/src/SchematicHQ.Client/Types/PlanEntitlementResponseData.cs b/src/SchematicHQ.Client/Types/PlanEntitlementResponseData.cs index c0e3e82b..5efffbec 100644 --- a/src/SchematicHQ.Client/Types/PlanEntitlementResponseData.cs +++ b/src/SchematicHQ.Client/Types/PlanEntitlementResponseData.cs @@ -42,6 +42,9 @@ public record PlanEntitlementResponseData : IJsonOnDeserialized [JsonPropertyName("metered_monthly_price")] public BillingPriceView? MeteredMonthlyPrice { get; set; } + [JsonPropertyName("metered_quarterly_price")] + public BillingPriceView? MeteredQuarterlyPrice { get; set; } + [JsonPropertyName("metered_yearly_price")] public BillingPriceView? MeteredYearlyPrice { get; set; } diff --git a/src/SchematicHQ.Client/Types/PlanGroupPlanDetailResponseData.cs b/src/SchematicHQ.Client/Types/PlanGroupPlanDetailResponseData.cs index 451cb297..f06ad9eb 100644 --- a/src/SchematicHQ.Client/Types/PlanGroupPlanDetailResponseData.cs +++ b/src/SchematicHQ.Client/Types/PlanGroupPlanDetailResponseData.cs @@ -101,6 +101,9 @@ public record PlanGroupPlanDetailResponseData : IJsonOnDeserialized [JsonPropertyName("plan_type")] public required PlanType PlanType { get; set; } + [JsonPropertyName("quarterly_price")] + public BillingPriceResponseData? QuarterlyPrice { get; set; } + [JsonPropertyName("trial_days")] public long? TrialDays { get; set; } diff --git a/src/SchematicHQ.Client/Types/PlanViewPublicResponseData.cs b/src/SchematicHQ.Client/Types/PlanViewPublicResponseData.cs index edf9b9e4..4c1be96a 100644 --- a/src/SchematicHQ.Client/Types/PlanViewPublicResponseData.cs +++ b/src/SchematicHQ.Client/Types/PlanViewPublicResponseData.cs @@ -105,6 +105,9 @@ public record PlanViewPublicResponseData : IJsonOnDeserialized [JsonPropertyName("plan_type")] public required PlanType PlanType { get; set; } + [JsonPropertyName("quarterly_price")] + public BillingPriceResponseData? QuarterlyPrice { get; set; } + [JsonPropertyName("trial_days")] public long? TrialDays { get; set; } diff --git a/src/SchematicHQ.Client/Types/UpsertBillingProductRequestBody.cs b/src/SchematicHQ.Client/Types/UpsertBillingProductRequestBody.cs index c3e0ae60..959ef909 100644 --- a/src/SchematicHQ.Client/Types/UpsertBillingProductRequestBody.cs +++ b/src/SchematicHQ.Client/Types/UpsertBillingProductRequestBody.cs @@ -38,6 +38,12 @@ public record UpsertBillingProductRequestBody : IJsonOnDeserialized [JsonPropertyName("one_time_price_id")] public string? OneTimePriceId { get; set; } + [JsonPropertyName("quarterly_price")] + public long? QuarterlyPrice { get; set; } + + [JsonPropertyName("quarterly_price_id")] + public string? QuarterlyPriceId { get; set; } + [JsonPropertyName("trial_days")] public long? TrialDays { get; set; } diff --git a/src/SchematicHQ.Client/Types/UsageBasedEntitlementRequestBody.cs b/src/SchematicHQ.Client/Types/UsageBasedEntitlementRequestBody.cs index 03313ccd..3cd92df8 100644 --- a/src/SchematicHQ.Client/Types/UsageBasedEntitlementRequestBody.cs +++ b/src/SchematicHQ.Client/Types/UsageBasedEntitlementRequestBody.cs @@ -47,6 +47,18 @@ public record UsageBasedEntitlementRequestBody : IJsonOnDeserialized [JsonPropertyName("price_tiers")] public IEnumerable? PriceTiers { get; set; } + [JsonPropertyName("quarterly_metered_price_id")] + public string? QuarterlyMeteredPriceId { get; set; } + + [JsonPropertyName("quarterly_price_tiers")] + public IEnumerable? QuarterlyPriceTiers { get; set; } + + [JsonPropertyName("quarterly_unit_price")] + public long? QuarterlyUnitPrice { get; set; } + + [JsonPropertyName("quarterly_unit_price_decimal")] + public string? QuarterlyUnitPriceDecimal { get; set; } + [JsonPropertyName("soft_limit")] public long? SoftLimit { get; set; } diff --git a/src/SchematicHQ.Client/Types/UsageBasedEntitlementResponseData.cs b/src/SchematicHQ.Client/Types/UsageBasedEntitlementResponseData.cs index 37840fac..ed0ff3dc 100644 --- a/src/SchematicHQ.Client/Types/UsageBasedEntitlementResponseData.cs +++ b/src/SchematicHQ.Client/Types/UsageBasedEntitlementResponseData.cs @@ -35,6 +35,9 @@ public record UsageBasedEntitlementResponseData : IJsonOnDeserialized [JsonPropertyName("price_behavior")] public EntitlementPriceBehavior? PriceBehavior { get; set; } + [JsonPropertyName("quarterly_usage_based_price")] + public BillingPriceView? QuarterlyUsageBasedPrice { get; set; } + [JsonPropertyName("value_bool")] public bool? ValueBool { get; set; }