diff --git a/.fern/metadata.json b/.fern/metadata.json index 80712f90..fd816940 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,17 +1,17 @@ { - "cliVersion": "5.6.0", + "cliVersion": "5.50.0", "generatorName": "fernapi/fern-csharp-sdk", - "generatorVersion": "2.68.5", + "generatorVersion": "2.71.1", "generatorConfig": { "namespace": "SchematicHQ.Client", "client-class-name": "SchematicApi", "exported-client-class-name": "Schematic", "generate-mock-server-tests": false }, - "originGitCommit": "deb8532a1f84f6daa08b5c611a66a5ec92f53f0e", + "originGitCommit": "19cafdf92ab056ef6ba803bf1e352b0422a8ec45", "originGitCommitIsDirty": false, "invokedBy": "ci", - "requestedVersion": "1.4.10", + "requestedVersion": "1.5.1", "ciProvider": "github", - "sdkVersion": "1.4.10" + "sdkVersion": "1.5.1" } \ No newline at end of file diff --git a/.fern/replay.lock b/.fern/replay.lock index 30d53abd..28fcd44d 100644 --- a/.fern/replay.lock +++ b/.fern/replay.lock @@ -24,14 +24,20 @@ generations: cli_version: unknown generator_versions: fernapi/fern-csharp-sdk: 2.68.5 -current_generation: c419e42086cf42862fd31e9dbed243ffd9f7edad + - commit_sha: 1b7ac10f82c1ca0f8c2636da1828f42ff6132896 + tree_hash: c05ab5c6ccb79c97753360cfd43321daae1128b6 + timestamp: 2026-07-14T14:27:42.471Z + cli_version: unknown + generator_versions: + fernapi/fern-csharp-sdk: 2.71.1 +current_generation: 1b7ac10f82c1ca0f8c2636da1828f42ff6132896 patches: - id: patch-0816e16a content_hash: sha256:17a9a52d7557e941a9879ef072a5b51bb135098a4021df914f5c6a344964a947 original_commit: 0816e16ac6deea213675e5288d1b96ade208183b original_message: "chore: update rules engine WASM to v0.4.0 (#158)" original_author: Schematic Bot - base_generation: c419e42086cf42862fd31e9dbed243ffd9f7edad + base_generation: 1b7ac10f82c1ca0f8c2636da1828f42ff6132896 files: - WASM_VERSION patch_content: | diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c5bd1f12..9eed61c6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,4 +49,3 @@ jobs: env: NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} run: dotnet nuget push src/SchematicHQ.Client/bin/Release/*.nupkg --api-key $NUGET_API_KEY --source "nuget.org" - diff --git a/reference.md b/reference.md index cd991242..1aac3f10 100644 --- a/reference.md +++ b/reference.md @@ -4253,6 +4253,90 @@ await client.Companies.LookupCompanyAsync( + + + + +
client.Companies.GetCompanyBillingEntityAsync(GetCompanyBillingEntityRequest { ... }) -> WithRawResponseTask<GetCompanyBillingEntityResponse> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```csharp +await client.Companies.GetCompanyBillingEntityAsync( + new GetCompanyBillingEntityRequest { CompanyId = "company_id" } +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `GetCompanyBillingEntityRequest` + +
+
+
+
+ + +
+
+
+ +
client.Companies.GetBillingEntityChildSubscriptionsAsync(GetBillingEntityChildSubscriptionsRequest { ... }) -> WithRawResponseTask<GetBillingEntityChildSubscriptionsResponse> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```csharp +await client.Companies.GetBillingEntityChildSubscriptionsAsync( + new GetBillingEntityChildSubscriptionsRequest { CompanyId = "company_id" } +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `GetBillingEntityChildSubscriptionsRequest` + +
+
+
+
+ +
diff --git a/src/SchematicHQ.Client.Test/Core/RawClientTests/RetriesTests.cs b/src/SchematicHQ.Client.Test/Core/RawClientTests/RetriesTests.cs index b51f687b..305d63ae 100644 --- a/src/SchematicHQ.Client.Test/Core/RawClientTests/RetriesTests.cs +++ b/src/SchematicHQ.Client.Test/Core/RawClientTests/RetriesTests.cs @@ -59,7 +59,7 @@ public async SystemTask SendRequestAsync_ShouldRetry_OnRetryableStatusCodes(int .WhenStateIs("Success") .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - var request = new EmptyRequest + var request = new SchematicHQ.Client.Core.EmptyRequest { BaseUrl = _baseUrl, Method = HttpMethod.Get, @@ -89,7 +89,7 @@ public async SystemTask SendRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(i .WillSetStateTo("Server Error") .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); - var request = new JsonRequest + var request = new SchematicHQ.Client.Core.JsonRequest { BaseUrl = _baseUrl, Method = HttpMethod.Get, @@ -118,7 +118,7 @@ public async SystemTask SendRequestAsync_ShouldNotRetry_WithStreamRequest() .WillSetStateTo("Server Error") .RespondWith(WireMockResponse.Create().WithStatusCode(429).WithBody("Failure")); - var request = new StreamRequest + var request = new SchematicHQ.Client.Core.StreamRequest { BaseUrl = _baseUrl, Method = HttpMethod.Post, @@ -223,7 +223,7 @@ public async SystemTask SendRequestAsync_ShouldRespectRetryAfterHeader_WithSecon .WhenStateIs("Success") .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - var request = new EmptyRequest + var request = new SchematicHQ.Client.Core.EmptyRequest { BaseUrl = _baseUrl, Method = HttpMethod.Get, @@ -262,7 +262,7 @@ public async SystemTask SendRequestAsync_ShouldRespectRetryAfterHeader_WithHttpD .WhenStateIs("Success") .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - var request = new EmptyRequest + var request = new SchematicHQ.Client.Core.EmptyRequest { BaseUrl = _baseUrl, Method = HttpMethod.Get, @@ -301,7 +301,7 @@ public async SystemTask SendRequestAsync_ShouldRespectXRateLimitResetHeader() .WhenStateIs("Success") .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - var request = new EmptyRequest + var request = new SchematicHQ.Client.Core.EmptyRequest { BaseUrl = _baseUrl, Method = HttpMethod.Get, @@ -334,7 +334,7 @@ public async SystemTask SendRequestAsync_ShouldPreserveJsonBody_OnRetry() .WhenStateIs("Success") .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - var request = new JsonRequest + var request = new SchematicHQ.Client.Core.JsonRequest { BaseUrl = _baseUrl, Method = HttpMethod.Post, @@ -424,7 +424,7 @@ public async SystemTask SendRequestAsync_ShouldRetry_WhenHandlerDisposesRequestC BaseRetryDelay = 0, }; - var request = new JsonRequest + var request = new SchematicHQ.Client.Core.JsonRequest { BaseUrl = _baseUrl, Method = HttpMethod.Post, @@ -487,7 +487,7 @@ public async SystemTask SendRequestAsync_ShouldRetry_WhenHandlerDisposesRequestC BaseRetryDelay = 0, }; - var request = new JsonRequest + var request = new SchematicHQ.Client.Core.JsonRequest { BaseUrl = _baseUrl, Method = HttpMethod.Post, diff --git a/src/SchematicHQ.Client/Accesstokens/AccesstokensClient.cs b/src/SchematicHQ.Client/Accesstokens/AccesstokensClient.cs index 6f2dd484..9362e3aa 100644 --- a/src/SchematicHQ.Client/Accesstokens/AccesstokensClient.cs +++ b/src/SchematicHQ.Client/Accesstokens/AccesstokensClient.cs @@ -20,6 +20,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -33,6 +36,7 @@ private async Task< Method = HttpMethod.Post, Path = "temporary-access-tokens", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, diff --git a/src/SchematicHQ.Client/Accounts/AccountsClient.cs b/src/SchematicHQ.Client/Accounts/AccountsClient.cs index efd33cbd..eb0b76fe 100644 --- a/src/SchematicHQ.Client/Accounts/AccountsClient.cs +++ b/src/SchematicHQ.Client/Accounts/AccountsClient.cs @@ -173,6 +173,9 @@ private async Task> GetAccountMemberAs CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -188,6 +191,7 @@ private async Task> GetAccountMemberAs "account-members/{0}", ValueConvert.ToPathParameterString(accountMemberId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -623,6 +627,9 @@ private async Task> CreateApiKeyAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -636,6 +643,7 @@ private async Task> CreateApiKeyAsyncCore( Method = HttpMethod.Post, Path = "api-keys", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -772,6 +780,9 @@ private async Task> GetApiKeyAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -787,6 +798,7 @@ private async Task> GetApiKeyAsyncCore( "api-keys/{0}", ValueConvert.ToPathParameterString(apiKeyId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -911,6 +923,9 @@ private async Task> UpdateApiKeyAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -927,6 +942,7 @@ private async Task> UpdateApiKeyAsyncCore( ValueConvert.ToPathParameterString(apiKeyId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1063,6 +1079,9 @@ private async Task> DeleteApiKeyAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1078,6 +1097,7 @@ private async Task> DeleteApiKeyAsyncCore( "api-keys/{0}", ValueConvert.ToPathParameterString(apiKeyId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -1526,6 +1546,9 @@ private async Task> GetAuditLogAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1541,6 +1564,7 @@ private async Task> GetAuditLogAsyncCore( "audit-log/{0}", ValueConvert.ToPathParameterString(auditLogId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -1976,6 +2000,9 @@ private async Task> CreateEnvironment CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1989,6 +2016,7 @@ private async Task> CreateEnvironment Method = HttpMethod.Post, Path = "environments", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -2125,6 +2153,9 @@ private async Task> GetEnvironmentAsyncC CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2140,6 +2171,7 @@ private async Task> GetEnvironmentAsyncC "environments/{0}", ValueConvert.ToPathParameterString(environmentId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -2264,6 +2296,9 @@ private async Task> UpdateEnvironment CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2280,6 +2315,7 @@ private async Task> UpdateEnvironment ValueConvert.ToPathParameterString(environmentId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -2416,6 +2452,9 @@ private async Task> DeleteEnvironment CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2431,6 +2470,7 @@ private async Task> DeleteEnvironment "environments/{0}", ValueConvert.ToPathParameterString(environmentId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -2565,6 +2605,9 @@ private async Task> QuickstartAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2577,6 +2620,7 @@ private async Task> QuickstartAsyncCore( { Method = HttpMethod.Post, Path = "quickstart", + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -2711,6 +2755,9 @@ private async Task> GetWhoAmIAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2723,6 +2770,7 @@ private async Task> GetWhoAmIAsyncCore( { Method = HttpMethod.Get, Path = "whoami", + QueryString = _queryString, Headers = _headers, Options = options, }, diff --git a/src/SchematicHQ.Client/Billing/BillingClient.cs b/src/SchematicHQ.Client/Billing/BillingClient.cs index e875c735..697c4623 100644 --- a/src/SchematicHQ.Client/Billing/BillingClient.cs +++ b/src/SchematicHQ.Client/Billing/BillingClient.cs @@ -173,6 +173,9 @@ private async Task> UpsertBillingCo CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -186,6 +189,7 @@ private async Task> UpsertBillingCo Method = HttpMethod.Post, Path = "billing/coupons", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -324,6 +328,9 @@ private async Task> DeleteBillingCo CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -339,6 +346,7 @@ private async Task> DeleteBillingCo "billing/coupons/{0}", ValueConvert.ToPathParameterString(billingId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -478,6 +486,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -493,6 +504,7 @@ private async Task< "billing/customer/{0}", ValueConvert.ToPathParameterString(billingId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -632,6 +644,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -645,6 +660,7 @@ private async Task< Method = HttpMethod.Post, Path = "billing/customer/upsert", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1257,6 +1273,9 @@ private async Task> UpsertInvoiceAsyncCor CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1270,6 +1289,7 @@ private async Task> UpsertInvoiceAsyncCor Method = HttpMethod.Post, Path = "billing/invoices", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1406,6 +1426,9 @@ private async Task> DeleteBillingI CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1421,6 +1444,7 @@ private async Task> DeleteBillingI "billing/invoices/{0}", ValueConvert.ToPathParameterString(billingId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -1712,6 +1736,9 @@ private async Task> UpsertBillingMet CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1725,6 +1752,7 @@ private async Task> UpsertBillingMet Method = HttpMethod.Post, Path = "billing/meter/upsert", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -2016,6 +2044,9 @@ private async Task> UpsertPaymentMe CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2029,6 +2060,7 @@ private async Task> UpsertPaymentMe Method = HttpMethod.Post, Path = "billing/payment-methods", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -2169,6 +2201,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2184,6 +2219,7 @@ private async Task< "billing/payment-methods/{0}", ValueConvert.ToPathParameterString(billingId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -2489,6 +2525,9 @@ private async Task> UpsertBillingPri CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2502,6 +2541,7 @@ private async Task> UpsertBillingPri Method = HttpMethod.Post, Path = "billing/price/upsert", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -2638,6 +2678,9 @@ private async Task> DeleteBillingP CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2653,6 +2696,7 @@ private async Task> DeleteBillingP "billing/product/{0}", ValueConvert.ToPathParameterString(billingId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -2962,6 +3006,9 @@ private async Task> DeleteProductPri CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2977,6 +3024,7 @@ private async Task> DeleteProductPri "billing/product/prices/{0}", ValueConvert.ToPathParameterString(billingId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -3112,6 +3160,9 @@ private async Task> UpsertBillingP CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -3125,6 +3176,7 @@ private async Task> UpsertBillingP Method = HttpMethod.Post, Path = "billing/product/upsert", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -3597,6 +3649,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -3610,6 +3665,7 @@ private async Task< Method = HttpMethod.Post, Path = "billing/subscription/upsert", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, diff --git a/src/SchematicHQ.Client/Billing/Requests/CreateBillingSubscriptionRequestBody.cs b/src/SchematicHQ.Client/Billing/Requests/CreateBillingSubscriptionRequestBody.cs index 8d0e975a..7168f3ac 100644 --- a/src/SchematicHQ.Client/Billing/Requests/CreateBillingSubscriptionRequestBody.cs +++ b/src/SchematicHQ.Client/Billing/Requests/CreateBillingSubscriptionRequestBody.cs @@ -15,6 +15,9 @@ public record CreateBillingSubscriptionRequestBody [JsonPropertyName("cancel_at_period_end")] public required bool CancelAtPeriodEnd { get; set; } + [JsonPropertyName("company_id")] + public string? CompanyId { get; set; } + [JsonPropertyName("currency")] public required string Currency { get; set; } diff --git a/src/SchematicHQ.Client/Billing/Requests/CreateInvoiceRequestBody.cs b/src/SchematicHQ.Client/Billing/Requests/CreateInvoiceRequestBody.cs index baafee94..9197342c 100644 --- a/src/SchematicHQ.Client/Billing/Requests/CreateInvoiceRequestBody.cs +++ b/src/SchematicHQ.Client/Billing/Requests/CreateInvoiceRequestBody.cs @@ -27,12 +27,18 @@ public record CreateInvoiceRequestBody [JsonPropertyName("due_date")] public DateTime? DueDate { get; set; } + [JsonPropertyName("ending_balance")] + public long? EndingBalance { get; set; } + [JsonPropertyName("external_id")] public string? ExternalId { get; set; } [JsonPropertyName("payment_method_external_id")] public string? PaymentMethodExternalId { get; set; } + [JsonPropertyName("starting_balance")] + public long? StartingBalance { get; set; } + [JsonPropertyName("status")] public InvoiceStatus? Status { get; set; } diff --git a/src/SchematicHQ.Client/Checkout/CheckoutClient.cs b/src/SchematicHQ.Client/Checkout/CheckoutClient.cs index 15c5aa9d..14ca5ff8 100644 --- a/src/SchematicHQ.Client/Checkout/CheckoutClient.cs +++ b/src/SchematicHQ.Client/Checkout/CheckoutClient.cs @@ -18,6 +18,9 @@ private async Task> InternalAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -31,6 +34,7 @@ private async Task> InternalAsyncCore( Method = HttpMethod.Post, Path = "checkout-internal", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -167,6 +171,9 @@ private async Task> GetCheckoutDataAsyn CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -180,6 +187,7 @@ private async Task> GetCheckoutDataAsyn Method = HttpMethod.Post, Path = "checkout-internal/data", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -318,6 +326,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -331,6 +342,7 @@ private async Task< Method = HttpMethod.Post, Path = "checkout-internal/preview", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -469,6 +481,9 @@ private async Task> ManagePlanAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -482,6 +497,7 @@ private async Task> ManagePlanAsyncCore( Method = HttpMethod.Post, Path = "manage-plan", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -618,6 +634,9 @@ private async Task> PreviewManagePlan CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -631,6 +650,7 @@ private async Task> PreviewManagePlan Method = HttpMethod.Post, Path = "manage-plan/preview", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -767,6 +787,9 @@ private async Task> CancelSubscripti CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -780,6 +803,7 @@ private async Task> CancelSubscripti Method = HttpMethod.Post, Path = "manage-plan/subscription/cancel", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -919,6 +943,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -935,6 +962,7 @@ private async Task< ValueConvert.ToPathParameterString(subscriptionId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, diff --git a/src/SchematicHQ.Client/Companies/CompaniesClient.cs b/src/SchematicHQ.Client/Companies/CompaniesClient.cs index bb40df05..e7532c91 100644 --- a/src/SchematicHQ.Client/Companies/CompaniesClient.cs +++ b/src/SchematicHQ.Client/Companies/CompaniesClient.cs @@ -189,6 +189,9 @@ private async Task> UpsertCompanyAsyncCor CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -202,6 +205,7 @@ private async Task> UpsertCompanyAsyncCor Method = HttpMethod.Post, Path = "companies", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -338,6 +342,9 @@ private async Task> GetCompanyAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -353,6 +360,7 @@ private async Task> GetCompanyAsyncCore( "companies/{0}", ValueConvert.ToPathParameterString(companyId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -804,6 +812,9 @@ private async Task> CreateCompanyAsyncCor CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -817,6 +828,7 @@ private async Task> CreateCompanyAsyncCor Method = HttpMethod.Post, Path = "companies/create", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -953,6 +965,9 @@ private async Task> DeleteCompanyBy CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -966,6 +981,7 @@ private async Task> DeleteCompanyBy Method = HttpMethod.Post, Path = "companies/delete", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1238,6 +1254,319 @@ private async Task> LookupCompanyAsyncCor } } + private async Task< + WithRawResponse + > GetCompanyBillingEntityAsyncCore( + GetCompanyBillingEntityRequest request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ) + { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 1) + .Add("company_id", request.CompanyId) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); + 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.Get, + Path = "company-billing-entity", + QueryString = _queryString, + Headers = _headers, + 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 SchematicHQ.Client.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, + rawResponse: new SchematicHQ.Client.RawResponse() + { + StatusCode = response.Raw.StatusCode, + Url = response.Raw.RequestMessage?.RequestUri ?? new Uri("about:blank"), + Headers = ResponseHeaders.FromHttpResponseMessage(response.Raw), + } + ); + } + } + { + var responseBody = await response + .Raw.Content.ReadAsStringAsync(cancellationToken) + .ConfigureAwait(false); + try + { + switch (response.StatusCode) + { + case 400: + throw new BadRequestError( + JsonUtils.Deserialize(responseBody), + rawResponse: new SchematicHQ.Client.RawResponse() + { + StatusCode = response.Raw.StatusCode, + Url = + response.Raw.RequestMessage?.RequestUri + ?? new Uri("about:blank"), + Headers = ResponseHeaders.FromHttpResponseMessage(response.Raw), + } + ); + case 401: + throw new UnauthorizedError( + JsonUtils.Deserialize(responseBody), + rawResponse: new SchematicHQ.Client.RawResponse() + { + StatusCode = response.Raw.StatusCode, + Url = + response.Raw.RequestMessage?.RequestUri + ?? new Uri("about:blank"), + Headers = ResponseHeaders.FromHttpResponseMessage(response.Raw), + } + ); + case 403: + throw new ForbiddenError( + JsonUtils.Deserialize(responseBody), + rawResponse: new SchematicHQ.Client.RawResponse() + { + StatusCode = response.Raw.StatusCode, + Url = + response.Raw.RequestMessage?.RequestUri + ?? new Uri("about:blank"), + Headers = ResponseHeaders.FromHttpResponseMessage(response.Raw), + } + ); + case 404: + throw new NotFoundError( + JsonUtils.Deserialize(responseBody), + rawResponse: new SchematicHQ.Client.RawResponse() + { + StatusCode = response.Raw.StatusCode, + Url = + response.Raw.RequestMessage?.RequestUri + ?? new Uri("about:blank"), + Headers = ResponseHeaders.FromHttpResponseMessage(response.Raw), + } + ); + case 500: + throw new InternalServerError( + JsonUtils.Deserialize(responseBody), + rawResponse: new SchematicHQ.Client.RawResponse() + { + StatusCode = response.Raw.StatusCode, + Url = + response.Raw.RequestMessage?.RequestUri + ?? new Uri("about:blank"), + Headers = ResponseHeaders.FromHttpResponseMessage(response.Raw), + } + ); + } + } + catch (JsonException) + { + // unable to map error response, throwing generic error + } + throw new SchematicApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody, + rawResponse: new SchematicHQ.Client.RawResponse() + { + StatusCode = response.Raw.StatusCode, + Url = response.Raw.RequestMessage?.RequestUri ?? new Uri("about:blank"), + Headers = ResponseHeaders.FromHttpResponseMessage(response.Raw), + } + ); + } + } + + private async Task< + WithRawResponse + > GetBillingEntityChildSubscriptionsAsyncCore( + GetBillingEntityChildSubscriptionsRequest request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ) + { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 1) + .Add("company_id", request.CompanyId) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); + 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.Get, + Path = "company-billing-entity-subscriptions", + QueryString = _queryString, + Headers = _headers, + 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 SchematicHQ.Client.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, + rawResponse: new SchematicHQ.Client.RawResponse() + { + StatusCode = response.Raw.StatusCode, + Url = response.Raw.RequestMessage?.RequestUri ?? new Uri("about:blank"), + Headers = ResponseHeaders.FromHttpResponseMessage(response.Raw), + } + ); + } + } + { + var responseBody = await response + .Raw.Content.ReadAsStringAsync(cancellationToken) + .ConfigureAwait(false); + try + { + switch (response.StatusCode) + { + case 400: + throw new BadRequestError( + JsonUtils.Deserialize(responseBody), + rawResponse: new SchematicHQ.Client.RawResponse() + { + StatusCode = response.Raw.StatusCode, + Url = + response.Raw.RequestMessage?.RequestUri + ?? new Uri("about:blank"), + Headers = ResponseHeaders.FromHttpResponseMessage(response.Raw), + } + ); + case 401: + throw new UnauthorizedError( + JsonUtils.Deserialize(responseBody), + rawResponse: new SchematicHQ.Client.RawResponse() + { + StatusCode = response.Raw.StatusCode, + Url = + response.Raw.RequestMessage?.RequestUri + ?? new Uri("about:blank"), + Headers = ResponseHeaders.FromHttpResponseMessage(response.Raw), + } + ); + case 403: + throw new ForbiddenError( + JsonUtils.Deserialize(responseBody), + rawResponse: new SchematicHQ.Client.RawResponse() + { + StatusCode = response.Raw.StatusCode, + Url = + response.Raw.RequestMessage?.RequestUri + ?? new Uri("about:blank"), + Headers = ResponseHeaders.FromHttpResponseMessage(response.Raw), + } + ); + case 404: + throw new NotFoundError( + JsonUtils.Deserialize(responseBody), + rawResponse: new SchematicHQ.Client.RawResponse() + { + StatusCode = response.Raw.StatusCode, + Url = + response.Raw.RequestMessage?.RequestUri + ?? new Uri("about:blank"), + Headers = ResponseHeaders.FromHttpResponseMessage(response.Raw), + } + ); + case 500: + throw new InternalServerError( + JsonUtils.Deserialize(responseBody), + rawResponse: new SchematicHQ.Client.RawResponse() + { + StatusCode = response.Raw.StatusCode, + Url = + response.Raw.RequestMessage?.RequestUri + ?? new Uri("about:blank"), + Headers = ResponseHeaders.FromHttpResponseMessage(response.Raw), + } + ); + } + } + catch (JsonException) + { + // unable to map error response, throwing generic error + } + throw new SchematicApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody, + rawResponse: new SchematicHQ.Client.RawResponse() + { + StatusCode = response.Raw.StatusCode, + Url = response.Raw.RequestMessage?.RequestUri ?? new Uri("about:blank"), + Headers = ResponseHeaders.FromHttpResponseMessage(response.Raw), + } + ); + } + } + private async Task< WithRawResponse > ListCompanyMembershipsAsyncCore( @@ -1405,6 +1734,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1418,6 +1750,7 @@ private async Task< Method = HttpMethod.Post, Path = "company-memberships", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1558,6 +1891,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1573,6 +1909,7 @@ private async Task< "company-memberships/{0}", ValueConvert.ToPathParameterString(companyMembershipId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -1869,6 +2206,9 @@ private async Task> UpsertCompanyTra CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1882,6 +2222,7 @@ private async Task> UpsertCompanyTra Method = HttpMethod.Post, Path = "company-traits", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -2502,6 +2843,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2515,6 +2859,7 @@ private async Task< Method = HttpMethod.Post, Path = "entity-trait-definitions", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -2655,6 +3000,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2670,6 +3018,7 @@ private async Task< "entity-trait-definitions/{0}", ValueConvert.ToPathParameterString(entityTraitDefinitionId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -2798,6 +3147,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2814,6 +3166,7 @@ private async Task< ValueConvert.ToPathParameterString(entityTraitDefinitionId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -3429,6 +3782,9 @@ private async Task> GetPlanChangeAsyncCor CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -3444,6 +3800,7 @@ private async Task> GetPlanChangeAsyncCor "plan-changes/{0}", ValueConvert.ToPathParameterString(planChangeId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -3724,6 +4081,9 @@ private async Task> GetPlanTraitAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -3739,6 +4099,7 @@ private async Task> GetPlanTraitAsyncCore( "plan-traits/{0}", ValueConvert.ToPathParameterString(planTraitId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -3862,6 +4223,9 @@ private async Task> UpdatePlanTrai CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -3875,6 +4239,7 @@ private async Task> UpdatePlanTrai Method = HttpMethod.Post, Path = "plan-traits/bulk", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -4170,6 +4535,9 @@ private async Task> UpsertUserTraitAsyn CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -4183,6 +4551,7 @@ private async Task> UpsertUserTraitAsyn Method = HttpMethod.Post, Path = "user-traits", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -4476,6 +4845,9 @@ private async Task> UpsertUserAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -4489,6 +4861,7 @@ private async Task> UpsertUserAsyncCore( Method = HttpMethod.Post, Path = "users", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -4625,6 +4998,9 @@ private async Task> GetUserAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -4637,6 +5013,7 @@ private async Task> GetUserAsyncCore( { Method = HttpMethod.Get, Path = string.Format("users/{0}", ValueConvert.ToPathParameterString(userId)), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -4760,6 +5137,9 @@ private async Task> DeleteUserAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -4772,6 +5152,7 @@ private async Task> DeleteUserAsyncCore( { Method = HttpMethod.Delete, Path = string.Format("users/{0}", ValueConvert.ToPathParameterString(userId)), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -5064,6 +5445,9 @@ private async Task> CreateUserAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -5077,6 +5461,7 @@ private async Task> CreateUserAsyncCore( Method = HttpMethod.Post, Path = "users/create", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -5213,6 +5598,9 @@ private async Task> DeleteUserByKeysAs CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -5226,6 +5614,7 @@ private async Task> DeleteUserByKeysAs Method = HttpMethod.Post, Path = "users/delete", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -5675,6 +6064,38 @@ public WithRawResponseTask LookupCompanyAsync( ); } + /// + /// await client.Companies.GetCompanyBillingEntityAsync( + /// new GetCompanyBillingEntityRequest { CompanyId = "company_id" } + /// ); + /// + public WithRawResponseTask GetCompanyBillingEntityAsync( + GetCompanyBillingEntityRequest request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ) + { + return new WithRawResponseTask( + GetCompanyBillingEntityAsyncCore(request, options, cancellationToken) + ); + } + + /// + /// await client.Companies.GetBillingEntityChildSubscriptionsAsync( + /// new GetBillingEntityChildSubscriptionsRequest { CompanyId = "company_id" } + /// ); + /// + public WithRawResponseTask GetBillingEntityChildSubscriptionsAsync( + GetBillingEntityChildSubscriptionsRequest request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ) + { + return new WithRawResponseTask( + GetBillingEntityChildSubscriptionsAsyncCore(request, options, cancellationToken) + ); + } + /// /// await client.Companies.ListCompanyMembershipsAsync( /// new ListCompanyMembershipsRequest diff --git a/src/SchematicHQ.Client/Companies/ICompaniesClient.cs b/src/SchematicHQ.Client/Companies/ICompaniesClient.cs index 61867771..b21f7a93 100644 --- a/src/SchematicHQ.Client/Companies/ICompaniesClient.cs +++ b/src/SchematicHQ.Client/Companies/ICompaniesClient.cs @@ -58,6 +58,18 @@ WithRawResponseTask LookupCompanyAsync( CancellationToken cancellationToken = default ); + WithRawResponseTask GetCompanyBillingEntityAsync( + GetCompanyBillingEntityRequest request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ); + + WithRawResponseTask GetBillingEntityChildSubscriptionsAsync( + GetBillingEntityChildSubscriptionsRequest request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ); + WithRawResponseTask ListCompanyMembershipsAsync( ListCompanyMembershipsRequest request, RequestOptions? options = null, diff --git a/src/SchematicHQ.Client/Companies/Requests/GetBillingEntityChildSubscriptionsRequest.cs b/src/SchematicHQ.Client/Companies/Requests/GetBillingEntityChildSubscriptionsRequest.cs new file mode 100644 index 00000000..e087f6b1 --- /dev/null +++ b/src/SchematicHQ.Client/Companies/Requests/GetBillingEntityChildSubscriptionsRequest.cs @@ -0,0 +1,17 @@ +using global::System.Text.Json.Serialization; +using SchematicHQ.Client.Core; + +namespace SchematicHQ.Client; + +[Serializable] +public record GetBillingEntityChildSubscriptionsRequest +{ + [JsonIgnore] + public string? CompanyId { get; set; } + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/SchematicHQ.Client/Companies/Requests/GetCompanyBillingEntityRequest.cs b/src/SchematicHQ.Client/Companies/Requests/GetCompanyBillingEntityRequest.cs new file mode 100644 index 00000000..50cf5ba4 --- /dev/null +++ b/src/SchematicHQ.Client/Companies/Requests/GetCompanyBillingEntityRequest.cs @@ -0,0 +1,17 @@ +using global::System.Text.Json.Serialization; +using SchematicHQ.Client.Core; + +namespace SchematicHQ.Client; + +[Serializable] +public record GetCompanyBillingEntityRequest +{ + [JsonIgnore] + public string? CompanyId { get; set; } + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/SchematicHQ.Client/Companies/Types/GetBillingEntityChildSubscriptionsParams.cs b/src/SchematicHQ.Client/Companies/Types/GetBillingEntityChildSubscriptionsParams.cs new file mode 100644 index 00000000..7600fa8f --- /dev/null +++ b/src/SchematicHQ.Client/Companies/Types/GetBillingEntityChildSubscriptionsParams.cs @@ -0,0 +1,31 @@ +using global::System.Text.Json; +using global::System.Text.Json.Serialization; +using SchematicHQ.Client.Core; + +namespace SchematicHQ.Client; + +/// +/// Input parameters +/// +[Serializable] +public record GetBillingEntityChildSubscriptionsParams : IJsonOnDeserialized +{ + [JsonExtensionData] + private readonly IDictionary _extensionData = + new Dictionary(); + + [JsonPropertyName("company_id")] + public string? CompanyId { 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/Companies/Types/GetBillingEntityChildSubscriptionsResponse.cs b/src/SchematicHQ.Client/Companies/Types/GetBillingEntityChildSubscriptionsResponse.cs new file mode 100644 index 00000000..cbc49b27 --- /dev/null +++ b/src/SchematicHQ.Client/Companies/Types/GetBillingEntityChildSubscriptionsResponse.cs @@ -0,0 +1,35 @@ +using global::System.Text.Json; +using global::System.Text.Json.Serialization; +using SchematicHQ.Client.Core; + +namespace SchematicHQ.Client; + +[Serializable] +public record GetBillingEntityChildSubscriptionsResponse : IJsonOnDeserialized +{ + [JsonExtensionData] + private readonly IDictionary _extensionData = + new Dictionary(); + + [JsonPropertyName("data")] + public IEnumerable Data { get; set; } = + new List(); + + /// + /// Input parameters + /// + [JsonPropertyName("params")] + public required GetBillingEntityChildSubscriptionsParams Params { 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/Companies/Types/GetCompanyBillingEntityParams.cs b/src/SchematicHQ.Client/Companies/Types/GetCompanyBillingEntityParams.cs new file mode 100644 index 00000000..67a0b9cc --- /dev/null +++ b/src/SchematicHQ.Client/Companies/Types/GetCompanyBillingEntityParams.cs @@ -0,0 +1,31 @@ +using global::System.Text.Json; +using global::System.Text.Json.Serialization; +using SchematicHQ.Client.Core; + +namespace SchematicHQ.Client; + +/// +/// Input parameters +/// +[Serializable] +public record GetCompanyBillingEntityParams : IJsonOnDeserialized +{ + [JsonExtensionData] + private readonly IDictionary _extensionData = + new Dictionary(); + + [JsonPropertyName("company_id")] + public string? CompanyId { 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/Companies/Types/GetCompanyBillingEntityResponse.cs b/src/SchematicHQ.Client/Companies/Types/GetCompanyBillingEntityResponse.cs new file mode 100644 index 00000000..193fc194 --- /dev/null +++ b/src/SchematicHQ.Client/Companies/Types/GetCompanyBillingEntityResponse.cs @@ -0,0 +1,35 @@ +using global::System.Text.Json; +using global::System.Text.Json.Serialization; +using SchematicHQ.Client.Core; + +namespace SchematicHQ.Client; + +[Serializable] +public record GetCompanyBillingEntityResponse : IJsonOnDeserialized +{ + [JsonExtensionData] + private readonly IDictionary _extensionData = + new Dictionary(); + + [JsonPropertyName("data")] + public IEnumerable Data { get; set; } = + new List(); + + /// + /// Input parameters + /// + [JsonPropertyName("params")] + public required GetCompanyBillingEntityParams Params { 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/Components/ComponentsClient.cs b/src/SchematicHQ.Client/Components/ComponentsClient.cs index c3d0e34d..4b1403f6 100644 --- a/src/SchematicHQ.Client/Components/ComponentsClient.cs +++ b/src/SchematicHQ.Client/Components/ComponentsClient.cs @@ -172,6 +172,9 @@ private async Task> CreateComponentAsyn CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -185,6 +188,7 @@ private async Task> CreateComponentAsyn Method = HttpMethod.Post, Path = "components", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -321,6 +325,9 @@ private async Task> GetComponentAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -336,6 +343,7 @@ private async Task> GetComponentAsyncCore( "components/{0}", ValueConvert.ToPathParameterString(componentId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -460,6 +468,9 @@ private async Task> UpdateComponentAsyn CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -476,6 +487,7 @@ private async Task> UpdateComponentAsyn ValueConvert.ToPathParameterString(componentId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -612,6 +624,9 @@ private async Task> DeleteComponentAsyn CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -627,6 +642,7 @@ private async Task> DeleteComponentAsyn "components/{0}", ValueConvert.ToPathParameterString(componentId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, diff --git a/src/SchematicHQ.Client/Componentspublic/ComponentspublicClient.cs b/src/SchematicHQ.Client/Componentspublic/ComponentspublicClient.cs index 60176362..a7faeac7 100644 --- a/src/SchematicHQ.Client/Componentspublic/ComponentspublicClient.cs +++ b/src/SchematicHQ.Client/Componentspublic/ComponentspublicClient.cs @@ -17,6 +17,9 @@ private async Task> GetPublicPlansAsyncC CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -29,6 +32,7 @@ private async Task> GetPublicPlansAsyncC { Method = HttpMethod.Get, Path = "public/plans", + QueryString = _queryString, Headers = _headers, Options = options, }, diff --git a/src/SchematicHQ.Client/Core/Public/Version.cs b/src/SchematicHQ.Client/Core/Public/Version.cs index ba57a4b3..5e7eb8d5 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.10"; + public const string Current = "1.5.1"; } diff --git a/src/SchematicHQ.Client/Credits/CreditsClient.cs b/src/SchematicHQ.Client/Credits/CreditsClient.cs index e5389ab1..7a341093 100644 --- a/src/SchematicHQ.Client/Credits/CreditsClient.cs +++ b/src/SchematicHQ.Client/Credits/CreditsClient.cs @@ -173,6 +173,9 @@ private async Task> CreateBillingCr CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -186,6 +189,7 @@ private async Task> CreateBillingCr Method = HttpMethod.Post, Path = "billing/credits", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -326,6 +330,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -341,6 +348,7 @@ private async Task< "billing/credits/{0}", ValueConvert.ToPathParameterString(creditId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -467,6 +475,9 @@ private async Task> UpdateBillingCr CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -483,6 +494,7 @@ private async Task> UpdateBillingCr ValueConvert.ToPathParameterString(creditId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -623,6 +635,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -638,6 +653,7 @@ private async Task< "billing/credits/{0}", ValueConvert.ToPathParameterString(creditId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -1088,6 +1104,9 @@ private async Task> CreateCreditBund CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1101,6 +1120,7 @@ private async Task> CreateCreditBund Method = HttpMethod.Post, Path = "billing/credits/bundles", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1237,6 +1257,9 @@ private async Task> GetCreditBundleAsyn CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1252,6 +1275,7 @@ private async Task> GetCreditBundleAsyn "billing/credits/bundles/{0}", ValueConvert.ToPathParameterString(bundleId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -1378,6 +1402,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1394,6 +1421,7 @@ private async Task< ValueConvert.ToPathParameterString(bundleId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1532,6 +1560,9 @@ private async Task> DeleteCreditBund CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1547,6 +1578,7 @@ private async Task> DeleteCreditBund "billing/credits/bundles/{0}", ValueConvert.ToPathParameterString(bundleId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -1997,6 +2029,9 @@ private async Task> ZeroOutGrantAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2013,6 +2048,7 @@ private async Task> ZeroOutGrantAsyncCore( ValueConvert.ToPathParameterString(grantId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -2151,6 +2187,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2164,6 +2203,7 @@ private async Task< Method = HttpMethod.Post, Path = "billing/credits/grants/company", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -2930,6 +2970,9 @@ private async Task> AcquireCreditLea CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2943,6 +2986,7 @@ private async Task> AcquireCreditLea Method = HttpMethod.Post, Path = "billing/credits/lease", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -3080,6 +3124,9 @@ private async Task> ExtendCreditLease CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -3096,6 +3143,7 @@ private async Task> ExtendCreditLease ValueConvert.ToPathParameterString(leaseId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -3233,6 +3281,9 @@ private async Task> ReleaseCreditLea CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -3249,6 +3300,7 @@ private async Task> ReleaseCreditLea ValueConvert.ToPathParameterString(leaseId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -3550,6 +3602,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -3563,6 +3618,7 @@ private async Task< Method = HttpMethod.Post, Path = "billing/credits/plan-grants", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -3703,6 +3759,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -3718,6 +3777,7 @@ private async Task< "billing/credits/plan-grants/{0}", ValueConvert.ToPathParameterString(planGrantId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -3846,6 +3906,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -3862,6 +3925,7 @@ private async Task< ValueConvert.ToPathParameterString(planGrantId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, diff --git a/src/SchematicHQ.Client/Dataexports/DataexportsClient.cs b/src/SchematicHQ.Client/Dataexports/DataexportsClient.cs index ede5740e..547d53a4 100644 --- a/src/SchematicHQ.Client/Dataexports/DataexportsClient.cs +++ b/src/SchematicHQ.Client/Dataexports/DataexportsClient.cs @@ -18,6 +18,9 @@ private async Task> CreateDataExportAs CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -31,6 +34,7 @@ private async Task> CreateDataExportAs Method = HttpMethod.Post, Path = "data-exports", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -167,6 +171,9 @@ private async Task> CreateDataExportAs CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -182,6 +189,7 @@ private async Task> CreateDataExportAs "data-exports/{0}/artifact", ValueConvert.ToPathParameterString(dataExportId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, diff --git a/src/SchematicHQ.Client/Entitlements/EntitlementsClient.cs b/src/SchematicHQ.Client/Entitlements/EntitlementsClient.cs index 6baf8b03..f3544e8d 100644 --- a/src/SchematicHQ.Client/Entitlements/EntitlementsClient.cs +++ b/src/SchematicHQ.Client/Entitlements/EntitlementsClient.cs @@ -182,6 +182,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -195,6 +198,7 @@ private async Task< Method = HttpMethod.Post, Path = "company-overrides", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -333,6 +337,9 @@ private async Task> GetCompanyOverri CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -348,6 +355,7 @@ private async Task> GetCompanyOverri "company-overrides/{0}", ValueConvert.ToPathParameterString(companyOverrideId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -474,6 +482,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -490,6 +501,7 @@ private async Task< ValueConvert.ToPathParameterString(companyOverrideId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -630,6 +642,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -645,6 +660,7 @@ private async Task< "company-overrides/{0}", ValueConvert.ToPathParameterString(companyOverrideId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -2206,6 +2222,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2219,6 +2238,7 @@ private async Task< Method = HttpMethod.Post, Path = "plan-entitlements", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -2357,6 +2377,9 @@ private async Task> GetPlanEntitleme CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2372,6 +2395,7 @@ private async Task> GetPlanEntitleme "plan-entitlements/{0}", ValueConvert.ToPathParameterString(planEntitlementId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -2498,6 +2522,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2514,6 +2541,7 @@ private async Task< ValueConvert.ToPathParameterString(planEntitlementId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -2654,6 +2682,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2669,6 +2700,7 @@ private async Task< "plan-entitlements/{0}", ValueConvert.ToPathParameterString(planEntitlementId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -2808,6 +2840,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2821,6 +2856,7 @@ private async Task< Method = HttpMethod.Post, Path = "plan-entitlements/billing-linked", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -3128,6 +3164,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -3141,6 +3180,7 @@ private async Task< Method = HttpMethod.Post, Path = "plan-entitlements/duplicate", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, diff --git a/src/SchematicHQ.Client/Entitlements/Requests/CreateBillingLinkedPlanEntitlementRequestBody.cs b/src/SchematicHQ.Client/Entitlements/Requests/CreateBillingLinkedPlanEntitlementRequestBody.cs index e82fb552..ef81dd8b 100644 --- a/src/SchematicHQ.Client/Entitlements/Requests/CreateBillingLinkedPlanEntitlementRequestBody.cs +++ b/src/SchematicHQ.Client/Entitlements/Requests/CreateBillingLinkedPlanEntitlementRequestBody.cs @@ -105,6 +105,9 @@ public record CreateBillingLinkedPlanEntitlementRequestBody [JsonPropertyName("value_type")] public required EntitlementValueType ValueType { get; set; } + [JsonPropertyName("warning_tiers")] + public IEnumerable? WarningTiers { get; set; } + [JsonPropertyName("yearly_metered_price_id")] public string? YearlyMeteredPriceId { get; set; } diff --git a/src/SchematicHQ.Client/Entitlements/Requests/CreatePlanEntitlementRequestBody.cs b/src/SchematicHQ.Client/Entitlements/Requests/CreatePlanEntitlementRequestBody.cs index b64485a0..2a9e3783 100644 --- a/src/SchematicHQ.Client/Entitlements/Requests/CreatePlanEntitlementRequestBody.cs +++ b/src/SchematicHQ.Client/Entitlements/Requests/CreatePlanEntitlementRequestBody.cs @@ -99,6 +99,9 @@ public record CreatePlanEntitlementRequestBody [JsonPropertyName("value_type")] public required EntitlementValueType ValueType { get; set; } + [JsonPropertyName("warning_tiers")] + public IEnumerable? WarningTiers { get; set; } + [JsonPropertyName("yearly_metered_price_id")] public string? YearlyMeteredPriceId { get; set; } diff --git a/src/SchematicHQ.Client/Entitlements/Requests/UpdatePlanEntitlementRequestBody.cs b/src/SchematicHQ.Client/Entitlements/Requests/UpdatePlanEntitlementRequestBody.cs index a91a7091..6de6d77b 100644 --- a/src/SchematicHQ.Client/Entitlements/Requests/UpdatePlanEntitlementRequestBody.cs +++ b/src/SchematicHQ.Client/Entitlements/Requests/UpdatePlanEntitlementRequestBody.cs @@ -90,6 +90,9 @@ public record UpdatePlanEntitlementRequestBody [JsonPropertyName("value_type")] public required EntitlementValueType ValueType { get; set; } + [JsonPropertyName("warning_tiers")] + public IEnumerable? WarningTiers { get; set; } + [JsonPropertyName("yearly_metered_price_id")] public string? YearlyMeteredPriceId { get; set; } diff --git a/src/SchematicHQ.Client/EventCaptureClient.cs b/src/SchematicHQ.Client/EventCaptureClient.cs index a1dd3479..a9d3b5cf 100644 --- a/src/SchematicHQ.Client/EventCaptureClient.cs +++ b/src/SchematicHQ.Client/EventCaptureClient.cs @@ -23,7 +23,7 @@ internal class CaptureEventPayload public required string ApiKey { get; set; } [JsonPropertyName("body")] - public OneOf? Body { get; set; } + public OneOf? Body { get; set; } [JsonPropertyName("type")] public required EventType EventType { get; set; } diff --git a/src/SchematicHQ.Client/Events/EventsClient.cs b/src/SchematicHQ.Client/Events/EventsClient.cs index 340aaad4..66aebd16 100644 --- a/src/SchematicHQ.Client/Events/EventsClient.cs +++ b/src/SchematicHQ.Client/Events/EventsClient.cs @@ -18,6 +18,9 @@ private async Task> CreateEventBatchAs CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -31,6 +34,7 @@ private async Task> CreateEventBatchAs Method = HttpMethod.Post, Path = "event-batch", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -481,6 +485,9 @@ private async Task> CreateEventAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -494,6 +501,7 @@ private async Task> CreateEventAsyncCore( Method = HttpMethod.Post, Path = "events", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -630,6 +638,9 @@ private async Task> GetEventAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -642,6 +653,7 @@ private async Task> GetEventAsyncCore( { Method = HttpMethod.Get, Path = string.Format("events/{0}", ValueConvert.ToPathParameterString(eventId)), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -766,6 +778,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -778,6 +793,7 @@ private async Task< { Method = HttpMethod.Get, Path = "segment-integration", + QueryString = _queryString, Headers = _headers, Options = options, }, diff --git a/src/SchematicHQ.Client/Features/FeaturesClient.cs b/src/SchematicHQ.Client/Features/FeaturesClient.cs index e5ac10a8..ce7c72d3 100644 --- a/src/SchematicHQ.Client/Features/FeaturesClient.cs +++ b/src/SchematicHQ.Client/Features/FeaturesClient.cs @@ -179,6 +179,9 @@ private async Task> CreateFeatureAsyncCor CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -192,6 +195,7 @@ private async Task> CreateFeatureAsyncCor Method = HttpMethod.Post, Path = "features", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -328,6 +332,9 @@ private async Task> GetFeatureAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -343,6 +350,7 @@ private async Task> GetFeatureAsyncCore( "features/{0}", ValueConvert.ToPathParameterString(featureId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -467,6 +475,9 @@ private async Task> UpdateFeatureAsyncCor CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -483,6 +494,7 @@ private async Task> UpdateFeatureAsyncCor ValueConvert.ToPathParameterString(featureId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -619,6 +631,9 @@ private async Task> DeleteFeatureAsyncCor CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -634,6 +649,7 @@ private async Task> DeleteFeatureAsyncCor "features/{0}", ValueConvert.ToPathParameterString(featureId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -771,6 +787,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -784,6 +803,7 @@ private async Task< Method = HttpMethod.Post, Path = "features/billing-linked", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1239,6 +1259,9 @@ private async Task> CreateFlagAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1252,6 +1275,7 @@ private async Task> CreateFlagAsyncCore( Method = HttpMethod.Post, Path = "flags", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1388,6 +1412,9 @@ private async Task> GetFlagAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1400,6 +1427,7 @@ private async Task> GetFlagAsyncCore( { Method = HttpMethod.Get, Path = string.Format("flags/{0}", ValueConvert.ToPathParameterString(flagId)), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -1524,6 +1552,9 @@ private async Task> UpdateFlagAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1537,6 +1568,7 @@ private async Task> UpdateFlagAsyncCore( Method = HttpMethod.Put, Path = string.Format("flags/{0}", ValueConvert.ToPathParameterString(flagId)), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1673,6 +1705,9 @@ private async Task> DeleteFlagAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1685,6 +1720,7 @@ private async Task> DeleteFlagAsyncCore( { Method = HttpMethod.Delete, Path = string.Format("flags/{0}", ValueConvert.ToPathParameterString(flagId)), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -1821,6 +1857,9 @@ private async Task> UpdateFlagRulesAsyn CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1837,6 +1876,7 @@ private async Task> UpdateFlagRulesAsyn ValueConvert.ToPathParameterString(flagId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1974,6 +2014,9 @@ private async Task> CheckFlagAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1990,6 +2033,7 @@ private async Task> CheckFlagAsyncCore( ValueConvert.ToPathParameterString(key) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -2126,6 +2170,9 @@ private async Task> CheckFlagsAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2139,6 +2186,7 @@ private async Task> CheckFlagsAsyncCore( Method = HttpMethod.Post, Path = "flags/check", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -2275,6 +2323,9 @@ private async Task> CheckFlagsBulkAsyncC CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2288,6 +2339,7 @@ private async Task> CheckFlagsBulkAsyncC Method = HttpMethod.Post, Path = "flags/check-bulk", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, diff --git a/src/SchematicHQ.Client/Insights/InsightsClient.cs b/src/SchematicHQ.Client/Insights/InsightsClient.cs index ca3f7dd5..862348eb 100644 --- a/src/SchematicHQ.Client/Insights/InsightsClient.cs +++ b/src/SchematicHQ.Client/Insights/InsightsClient.cs @@ -445,6 +445,9 @@ private async Task> GetSummaryAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -457,6 +460,7 @@ private async Task> GetSummaryAsyncCore( { Method = HttpMethod.Get, Path = "insights/summary", + QueryString = _queryString, Headers = _headers, Options = options, }, diff --git a/src/SchematicHQ.Client/Integrationsapi/IntegrationsapiClient.cs b/src/SchematicHQ.Client/Integrationsapi/IntegrationsapiClient.cs index 6f9984f1..c897d7d8 100644 --- a/src/SchematicHQ.Client/Integrationsapi/IntegrationsapiClient.cs +++ b/src/SchematicHQ.Client/Integrationsapi/IntegrationsapiClient.cs @@ -18,6 +18,9 @@ private async Task> RunIntegrationAsyncC CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -33,6 +36,7 @@ private async Task> RunIntegrationAsyncC "integration/start/{0}", ValueConvert.ToPathParameterString(integrationId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -316,6 +320,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -331,6 +338,7 @@ private async Task< "integrations/{0}/webhook-url", ValueConvert.ToPathParameterString(type) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -456,6 +464,9 @@ private async Task> InstallIntegrati CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -469,6 +480,7 @@ private async Task> InstallIntegrati Method = HttpMethod.Post, Path = "integrations/install", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -605,6 +617,9 @@ private async Task> StartDataImportAsyn CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -618,6 +633,7 @@ private async Task> StartDataImportAsyn Method = HttpMethod.Post, Path = "integrations/start-data-import", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -753,6 +769,9 @@ private async Task> LoadSampleDataSet CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -765,6 +784,7 @@ private async Task> LoadSampleDataSet { Method = HttpMethod.Get, Path = "integrations/stripe/dataset-sample-v2", + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -890,6 +910,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -903,6 +926,7 @@ private async Task< Method = HttpMethod.Post, Path = "integrations/stripe/v2/assume-installed", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1041,6 +1065,9 @@ private async Task> InstallStripeAsyncCor CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1054,6 +1081,7 @@ private async Task> InstallStripeAsyncCor Method = HttpMethod.Post, Path = "integrations/stripe/v2/install", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1190,6 +1218,9 @@ private async Task> UninstallInteg CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1205,6 +1236,7 @@ private async Task> UninstallInteg "integrations/uninstall/{0}", ValueConvert.ToPathParameterString(integrationId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, diff --git a/src/SchematicHQ.Client/Planbundle/PlanbundleClient.cs b/src/SchematicHQ.Client/Planbundle/PlanbundleClient.cs index b948b729..0d8c9f40 100644 --- a/src/SchematicHQ.Client/Planbundle/PlanbundleClient.cs +++ b/src/SchematicHQ.Client/Planbundle/PlanbundleClient.cs @@ -20,6 +20,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -33,6 +36,7 @@ private async Task< Method = HttpMethod.Post, Path = "custom-plan-bundles", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -171,6 +175,9 @@ private async Task> CreatePlanBundleAs CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -184,6 +191,7 @@ private async Task> CreatePlanBundleAs Method = HttpMethod.Post, Path = "plan-bundles", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -321,6 +329,9 @@ private async Task> UpdatePlanBundleAs CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -337,6 +348,7 @@ private async Task> UpdatePlanBundleAs ValueConvert.ToPathParameterString(planBundleId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, diff --git a/src/SchematicHQ.Client/Planbundle/Requests/CreatePlanBundleRequestBody.cs b/src/SchematicHQ.Client/Planbundle/Requests/CreatePlanBundleRequestBody.cs index 5dace80f..13733645 100644 --- a/src/SchematicHQ.Client/Planbundle/Requests/CreatePlanBundleRequestBody.cs +++ b/src/SchematicHQ.Client/Planbundle/Requests/CreatePlanBundleRequestBody.cs @@ -19,9 +19,6 @@ public record CreatePlanBundleRequestBody [JsonPropertyName("plan")] public CreatePlanRequestBody? Plan { get; set; } - [JsonPropertyName("traits")] - public IEnumerable? Traits { get; set; } - /// public override string ToString() { diff --git a/src/SchematicHQ.Client/Planbundle/Requests/UpdatePlanBundleRequestBody.cs b/src/SchematicHQ.Client/Planbundle/Requests/UpdatePlanBundleRequestBody.cs index b9cd9d46..54939c4a 100644 --- a/src/SchematicHQ.Client/Planbundle/Requests/UpdatePlanBundleRequestBody.cs +++ b/src/SchematicHQ.Client/Planbundle/Requests/UpdatePlanBundleRequestBody.cs @@ -22,9 +22,6 @@ public record UpdatePlanBundleRequestBody [JsonPropertyName("plan_version_id")] public string? PlanVersionId { get; set; } - [JsonPropertyName("traits")] - public IEnumerable? Traits { get; set; } - /// public override string ToString() { diff --git a/src/SchematicHQ.Client/Plangroups/PlangroupsClient.cs b/src/SchematicHQ.Client/Plangroups/PlangroupsClient.cs index 37ea15c7..ef8f01a4 100644 --- a/src/SchematicHQ.Client/Plangroups/PlangroupsClient.cs +++ b/src/SchematicHQ.Client/Plangroups/PlangroupsClient.cs @@ -158,6 +158,9 @@ private async Task> CreatePlanGroupAsyn CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -171,6 +174,7 @@ private async Task> CreatePlanGroupAsyn Method = HttpMethod.Post, Path = "plan-groups", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -308,6 +312,9 @@ private async Task> UpdatePlanGroupAsyn CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -324,6 +331,7 @@ private async Task> UpdatePlanGroupAsyn ValueConvert.ToPathParameterString(planGroupId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, diff --git a/src/SchematicHQ.Client/Planmigrations/PlanmigrationsClient.cs b/src/SchematicHQ.Client/Planmigrations/PlanmigrationsClient.cs index a7301c93..3a95b6a8 100644 --- a/src/SchematicHQ.Client/Planmigrations/PlanmigrationsClient.cs +++ b/src/SchematicHQ.Client/Planmigrations/PlanmigrationsClient.cs @@ -180,6 +180,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -195,6 +198,7 @@ private async Task< "plan-version-company-migrations/{0}/retry", ValueConvert.ToPathParameterString(planVersionCompanyMigrationId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -647,6 +651,9 @@ private async Task> CreateMigrationAsyn CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -660,6 +667,7 @@ private async Task> CreateMigrationAsyn Method = HttpMethod.Post, Path = "plan-version-migrations", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -796,6 +804,9 @@ private async Task> GetMigrationAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -811,6 +822,7 @@ private async Task> GetMigrationAsyncCore( "plan-version-migrations/{0}", ValueConvert.ToPathParameterString(planVersionMigrationId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -935,6 +947,9 @@ private async Task> RetryMigrationAsyncC CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -951,6 +966,7 @@ private async Task> RetryMigrationAsyncC ValueConvert.ToPathParameterString(planVersionMigrationId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, diff --git a/src/SchematicHQ.Client/Plans/PlansClient.cs b/src/SchematicHQ.Client/Plans/PlansClient.cs index e0125bb9..7bf9b6d5 100644 --- a/src/SchematicHQ.Client/Plans/PlansClient.cs +++ b/src/SchematicHQ.Client/Plans/PlansClient.cs @@ -19,6 +19,9 @@ private async Task> UpdateCompanyPla CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -35,6 +38,7 @@ private async Task> UpdateCompanyPla ValueConvert.ToPathParameterString(companyPlanId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -335,6 +339,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -351,6 +358,7 @@ private async Task< ValueConvert.ToPathParameterString(customPlanBillingId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -492,6 +500,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -508,6 +519,7 @@ private async Task< ValueConvert.ToPathParameterString(customPlanBillingId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -646,6 +658,9 @@ private async Task> CreateCustomPlanAs CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -659,6 +674,7 @@ private async Task> CreateCustomPlanAs Method = HttpMethod.Post, Path = "custom-plans", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -963,6 +979,9 @@ private async Task> CreatePlanAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -976,6 +995,7 @@ private async Task> CreatePlanAsyncCore( Method = HttpMethod.Post, Path = "plans", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1254,6 +1274,9 @@ private async Task> UpdatePlanAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1267,6 +1290,7 @@ private async Task> UpdatePlanAsyncCore( Method = HttpMethod.Put, Path = string.Format("plans/{0}", ValueConvert.ToPathParameterString(planId)), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1403,6 +1427,9 @@ private async Task> DeletePlanAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1415,6 +1442,7 @@ private async Task> DeletePlanAsyncCore( { Method = HttpMethod.Delete, Path = string.Format("plans/{0}", ValueConvert.ToPathParameterString(planId)), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -1553,6 +1581,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1569,6 +1600,7 @@ private async Task< ValueConvert.ToPathParameterString(planId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1709,6 +1741,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1722,6 +1757,7 @@ private async Task< Method = HttpMethod.Post, Path = "plans/billing-linked", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -2656,6 +2692,9 @@ private async Task> PublishPlanVersi CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -2672,6 +2711,7 @@ private async Task> PublishPlanVersi ValueConvert.ToPathParameterString(planId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, diff --git a/src/SchematicHQ.Client/Scheduledcheckout/ScheduledcheckoutClient.cs b/src/SchematicHQ.Client/Scheduledcheckout/ScheduledcheckoutClient.cs index 80aa5725..22236284 100644 --- a/src/SchematicHQ.Client/Scheduledcheckout/ScheduledcheckoutClient.cs +++ b/src/SchematicHQ.Client/Scheduledcheckout/ScheduledcheckoutClient.cs @@ -179,6 +179,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -192,6 +195,7 @@ private async Task< Method = HttpMethod.Post, Path = "scheduled-checkout", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -330,6 +334,9 @@ private async Task> GetScheduledCh CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -345,6 +352,7 @@ private async Task> GetScheduledCh "scheduled-checkout/{0}", ValueConvert.ToPathParameterString(scheduledCheckoutId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -473,6 +481,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -489,6 +500,7 @@ private async Task< ValueConvert.ToPathParameterString(scheduledCheckoutId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, diff --git a/src/SchematicHQ.Client/Schematic.cs b/src/SchematicHQ.Client/Schematic.cs index 451102e9..4cc51490 100644 --- a/src/SchematicHQ.Client/Schematic.cs +++ b/src/SchematicHQ.Client/Schematic.cs @@ -618,7 +618,7 @@ public void Track(string eventName, Dictionary? company = null, private void EnqueueEvent( EventType eventType, - OneOf body, + OneOf body, string? idempotencyKey = null, DateTime? sentAt = null, bool? trustedClientClock = null, diff --git a/src/SchematicHQ.Client/SchematicApi.cs b/src/SchematicHQ.Client/SchematicApi.cs index db8ce1e5..90d7f109 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.10" }, + { "User-Agent", "SchematicHQ.Client/1.5.1" }, } ); foreach (var header in platformHeaders) @@ -101,6 +101,9 @@ private async Task GetCreditLedgerAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -113,6 +116,7 @@ private async Task GetCreditLedgerAsyncCore( { Method = HttpMethod.Get, Path = "billing/credits/ledger", + QueryString = _queryString, Headers = _headers, Options = options, }, diff --git a/src/SchematicHQ.Client/SchematicHQ.Client.csproj b/src/SchematicHQ.Client/SchematicHQ.Client.csproj index 1e6aa76b..afa50c9a 100644 --- a/src/SchematicHQ.Client/SchematicHQ.Client.csproj +++ b/src/SchematicHQ.Client/SchematicHQ.Client.csproj @@ -4,7 +4,7 @@ enable 12 enable - 1.4.10 + 1.5.1 $(Version) $(Version) README.md diff --git a/src/SchematicHQ.Client/Types/AccountMemberPermission.cs b/src/SchematicHQ.Client/Types/AccountMemberPermission.cs index a267e3d7..85d3d080 100644 --- a/src/SchematicHQ.Client/Types/AccountMemberPermission.cs +++ b/src/SchematicHQ.Client/Types/AccountMemberPermission.cs @@ -14,6 +14,8 @@ namespace SchematicHQ.Client; public static readonly AccountMemberPermission ComponentsEdit = new(Values.ComponentsEdit); + public static readonly AccountMemberPermission CustomPlansEdit = new(Values.CustomPlansEdit); + public static readonly AccountMemberPermission DataExportsEdit = new(Values.DataExportsEdit); public static readonly AccountMemberPermission FeaturesEdit = new(Values.FeaturesEdit); @@ -142,6 +144,8 @@ public static class Values public const string ComponentsEdit = "components_edit"; + public const string CustomPlansEdit = "custom_plans_edit"; + public const string DataExportsEdit = "data_exports_edit"; public const string FeaturesEdit = "features_edit"; diff --git a/src/SchematicHQ.Client/Types/BillingCreditAutoTopupAvailability.cs b/src/SchematicHQ.Client/Types/BillingCreditAutoTopupAvailability.cs new file mode 100644 index 00000000..1361fa3c --- /dev/null +++ b/src/SchematicHQ.Client/Types/BillingCreditAutoTopupAvailability.cs @@ -0,0 +1,124 @@ +using global::System.Text.Json; +using global::System.Text.Json.Serialization; +using SchematicHQ.Client.Core; + +namespace SchematicHQ.Client; + +[JsonConverter( + typeof(BillingCreditAutoTopupAvailability.BillingCreditAutoTopupAvailabilitySerializer) +)] +[Serializable] +public readonly record struct BillingCreditAutoTopupAvailability : IStringEnum +{ + public static readonly BillingCreditAutoTopupAvailability Off = new(Values.Off); + + public static readonly BillingCreditAutoTopupAvailability Automatic = new(Values.Automatic); + + public static readonly BillingCreditAutoTopupAvailability UserControlled = new( + Values.UserControlled + ); + + public BillingCreditAutoTopupAvailability(string value) + { + Value = value; + } + + /// + /// The string value of the enum. + /// + public string Value { get; } + + /// + /// Create a string enum with the given value. + /// + public static BillingCreditAutoTopupAvailability FromCustom(string value) + { + return new BillingCreditAutoTopupAvailability(value); + } + + public bool Equals(string? other) + { + return Value.Equals(other); + } + + /// + /// Returns the string value of the enum. + /// + public override string ToString() + { + return Value; + } + + public static bool operator ==(BillingCreditAutoTopupAvailability value1, string value2) => + value1.Value.Equals(value2); + + public static bool operator !=(BillingCreditAutoTopupAvailability value1, string value2) => + !value1.Value.Equals(value2); + + public static explicit operator string(BillingCreditAutoTopupAvailability value) => value.Value; + + public static explicit operator BillingCreditAutoTopupAvailability(string value) => new(value); + + internal class BillingCreditAutoTopupAvailabilitySerializer + : JsonConverter + { + public override BillingCreditAutoTopupAvailability Read( + ref Utf8JsonReader reader, + Type typeToConvert, + JsonSerializerOptions options + ) + { + var stringValue = + reader.GetString() + ?? throw new global::System.Exception( + "The JSON value could not be read as a string." + ); + return new BillingCreditAutoTopupAvailability(stringValue); + } + + public override void Write( + Utf8JsonWriter writer, + BillingCreditAutoTopupAvailability value, + JsonSerializerOptions options + ) + { + writer.WriteStringValue(value.Value); + } + + public override BillingCreditAutoTopupAvailability ReadAsPropertyName( + ref Utf8JsonReader reader, + Type typeToConvert, + JsonSerializerOptions options + ) + { + var stringValue = + reader.GetString() + ?? throw new global::System.Exception( + "The JSON property name could not be read as a string." + ); + return new BillingCreditAutoTopupAvailability(stringValue); + } + + public override void WriteAsPropertyName( + Utf8JsonWriter writer, + BillingCreditAutoTopupAvailability value, + JsonSerializerOptions options + ) + { + writer.WritePropertyName(value.Value); + } + } + + /// + /// Constant strings for enum values + /// + [Serializable] + public static class Values + { + public const string Off = "off"; + + public const string Automatic = "automatic"; + + public const string UserControlled = "user_controlled"; + } +} diff --git a/src/SchematicHQ.Client/Types/BillingCreditGrantZeroedOutReason.cs b/src/SchematicHQ.Client/Types/BillingCreditGrantZeroedOutReason.cs index 4c200405..922ee99a 100644 --- a/src/SchematicHQ.Client/Types/BillingCreditGrantZeroedOutReason.cs +++ b/src/SchematicHQ.Client/Types/BillingCreditGrantZeroedOutReason.cs @@ -10,8 +10,16 @@ namespace SchematicHQ.Client; [Serializable] public readonly record struct BillingCreditGrantZeroedOutReason : IStringEnum { + public static readonly BillingCreditGrantZeroedOutReason CustomerArchived = new( + Values.CustomerArchived + ); + public static readonly BillingCreditGrantZeroedOutReason Expired = new(Values.Expired); + public static readonly BillingCreditGrantZeroedOutReason IntegrationUninstalled = new( + Values.IntegrationUninstalled + ); + public static readonly BillingCreditGrantZeroedOutReason Manual = new(Values.Manual); public static readonly BillingCreditGrantZeroedOutReason PlanChange = new(Values.PlanChange); @@ -119,8 +127,12 @@ JsonSerializerOptions options [Serializable] public static class Values { + public const string CustomerArchived = "customer_archived"; + public const string Expired = "expired"; + public const string IntegrationUninstalled = "integration_uninstalled"; + public const string Manual = "manual"; public const string PlanChange = "plan_change"; diff --git a/src/SchematicHQ.Client/Types/BillingPlanCreditGrantResetCadence.cs b/src/SchematicHQ.Client/Types/BillingPlanCreditGrantResetCadence.cs index a0067b87..2ea77a66 100644 --- a/src/SchematicHQ.Client/Types/BillingPlanCreditGrantResetCadence.cs +++ b/src/SchematicHQ.Client/Types/BillingPlanCreditGrantResetCadence.cs @@ -12,8 +12,14 @@ namespace SchematicHQ.Client; { public static readonly BillingPlanCreditGrantResetCadence Daily = new(Values.Daily); + public static readonly BillingPlanCreditGrantResetCadence Every6Months = new( + Values.Every6Months + ); + public static readonly BillingPlanCreditGrantResetCadence Monthly = new(Values.Monthly); + public static readonly BillingPlanCreditGrantResetCadence Quarterly = new(Values.Quarterly); + public static readonly BillingPlanCreditGrantResetCadence Weekly = new(Values.Weekly); public static readonly BillingPlanCreditGrantResetCadence Yearly = new(Values.Yearly); @@ -117,8 +123,12 @@ public static class Values { public const string Daily = "daily"; + public const string Every6Months = "every_6_months"; + public const string Monthly = "monthly"; + public const string Quarterly = "quarterly"; + public const string Weekly = "weekly"; public const string Yearly = "yearly"; diff --git a/src/SchematicHQ.Client/Types/BillingPlanCreditGrantResponseData.cs b/src/SchematicHQ.Client/Types/BillingPlanCreditGrantResponseData.cs index f148ceea..e5d4e724 100644 --- a/src/SchematicHQ.Client/Types/BillingPlanCreditGrantResponseData.cs +++ b/src/SchematicHQ.Client/Types/BillingPlanCreditGrantResponseData.cs @@ -17,6 +17,12 @@ public record BillingPlanCreditGrantResponseData : IJsonOnDeserialized [JsonPropertyName("auto_topup_amount_type")] public string? AutoTopupAmountType { get; set; } + [JsonPropertyName("auto_topup_availability")] + public required BillingCreditAutoTopupAvailability AutoTopupAvailability { get; set; } + + /// + /// Derived from auto_topup_availability; use that instead. + /// [JsonPropertyName("auto_topup_enabled")] public required bool AutoTopupEnabled { get; set; } @@ -29,6 +35,9 @@ public record BillingPlanCreditGrantResponseData : IJsonOnDeserialized [JsonPropertyName("auto_topup_expiry_unit_count")] public long? AutoTopupExpiryUnitCount { get; set; } + /// + /// Derived from auto_topup_availability; use that instead. + /// [JsonPropertyName("auto_topup_self_service")] public required bool AutoTopupSelfService { get; set; } @@ -38,6 +47,12 @@ public record BillingPlanCreditGrantResponseData : IJsonOnDeserialized [JsonPropertyName("auto_topup_threshold_percent")] public long? AutoTopupThresholdPercent { get; set; } + /// + /// Whether buyers can purchase one-time credit bundles on this grant, independent of auto top-up availability. + /// + [JsonPropertyName("can_buy_bundles")] + public required bool CanBuyBundles { get; set; } + [JsonPropertyName("created_at")] public required DateTime CreatedAt { get; set; } diff --git a/src/SchematicHQ.Client/Types/ChangeSubscriptionInternalRequestBody.cs b/src/SchematicHQ.Client/Types/ChangeSubscriptionInternalRequestBody.cs index f9084689..e945a62e 100644 --- a/src/SchematicHQ.Client/Types/ChangeSubscriptionInternalRequestBody.cs +++ b/src/SchematicHQ.Client/Types/ChangeSubscriptionInternalRequestBody.cs @@ -19,6 +19,9 @@ public record ChangeSubscriptionInternalRequestBody : IJsonOnDeserialized public IEnumerable AutoTopupOverrides { get; set; } = new List(); + [JsonPropertyName("billing_entity_id")] + public string? BillingEntityId { get; set; } + [JsonPropertyName("company_id")] public required string CompanyId { get; set; } diff --git a/src/SchematicHQ.Client/Types/ChangeSubscriptionRequestBody.cs b/src/SchematicHQ.Client/Types/ChangeSubscriptionRequestBody.cs index 5c3b7909..40f4341e 100644 --- a/src/SchematicHQ.Client/Types/ChangeSubscriptionRequestBody.cs +++ b/src/SchematicHQ.Client/Types/ChangeSubscriptionRequestBody.cs @@ -19,6 +19,9 @@ public record ChangeSubscriptionRequestBody : IJsonOnDeserialized public IEnumerable AutoTopupOverrides { get; set; } = new List(); + [JsonPropertyName("billing_entity_id")] + public string? BillingEntityId { get; set; } + [JsonPropertyName("coupon_external_id")] public string? CouponExternalId { get; set; } diff --git a/src/SchematicHQ.Client/Types/CompanyBillingEntityResponseData.cs b/src/SchematicHQ.Client/Types/CompanyBillingEntityResponseData.cs new file mode 100644 index 00000000..843ca74d --- /dev/null +++ b/src/SchematicHQ.Client/Types/CompanyBillingEntityResponseData.cs @@ -0,0 +1,31 @@ +using global::System.Text.Json; +using global::System.Text.Json.Serialization; +using SchematicHQ.Client.Core; + +namespace SchematicHQ.Client; + +[Serializable] +public record CompanyBillingEntityResponseData : IJsonOnDeserialized +{ + [JsonExtensionData] + private readonly IDictionary _extensionData = + new Dictionary(); + + [JsonPropertyName("billing_entity")] + public CompanyResponseData? BillingEntity { get; set; } + + [JsonPropertyName("has_own_stripe_customer")] + public required bool HasOwnStripeCustomer { 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/CompanyBillingEntitySubscriptionResponseData.cs b/src/SchematicHQ.Client/Types/CompanyBillingEntitySubscriptionResponseData.cs new file mode 100644 index 00000000..aa8440ea --- /dev/null +++ b/src/SchematicHQ.Client/Types/CompanyBillingEntitySubscriptionResponseData.cs @@ -0,0 +1,81 @@ +using global::System.Text.Json; +using global::System.Text.Json.Serialization; +using SchematicHQ.Client.Core; + +namespace SchematicHQ.Client; + +[Serializable] +public record CompanyBillingEntitySubscriptionResponseData : IJsonOnDeserialized +{ + [JsonExtensionData] + private readonly IDictionary _extensionData = + new Dictionary(); + + [JsonPropertyName("cancel_at")] + public DateTime? CancelAt { get; set; } + + [JsonPropertyName("cancel_at_period_end")] + public required bool CancelAtPeriodEnd { get; set; } + + [JsonPropertyName("company")] + public CompanyResponseData? Company { get; set; } + + [JsonPropertyName("currency")] + public required string Currency { get; set; } + + [JsonPropertyName("customer_external_id")] + public required string CustomerExternalId { get; set; } + + [JsonPropertyName("discounts")] + public IEnumerable Discounts { get; set; } = + new List(); + + [JsonPropertyName("expired_at")] + public DateTime? ExpiredAt { get; set; } + + [JsonPropertyName("interval")] + public required string Interval { get; set; } + + [JsonPropertyName("is_initial")] + public required bool IsInitial { get; set; } + + [JsonPropertyName("latest_invoice")] + public InvoiceResponseData? LatestInvoice { get; set; } + + [JsonPropertyName("payment_method")] + public PaymentMethodResponseData? PaymentMethod { get; set; } + + [JsonPropertyName("plan_name")] + public required string PlanName { get; set; } + + [JsonPropertyName("products")] + public IEnumerable Products { get; set; } = + new List(); + + [JsonPropertyName("provider_type")] + public required BillingProviderType ProviderType { get; set; } + + [JsonPropertyName("status")] + public required string Status { get; set; } + + [JsonPropertyName("subscription_external_id")] + public required string SubscriptionExternalId { get; set; } + + [JsonPropertyName("total_price")] + public required long TotalPrice { get; set; } + + [JsonPropertyName("trial_end")] + public DateTime? TrialEnd { 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/CompanyPlanCreditGrantView.cs b/src/SchematicHQ.Client/Types/CompanyPlanCreditGrantView.cs index 6bc3c534..b03604a4 100644 --- a/src/SchematicHQ.Client/Types/CompanyPlanCreditGrantView.cs +++ b/src/SchematicHQ.Client/Types/CompanyPlanCreditGrantView.cs @@ -17,6 +17,9 @@ public record CompanyPlanCreditGrantView : IJsonOnDeserialized [JsonPropertyName("billing_credit_auto_topup_amount_type")] public string? BillingCreditAutoTopupAmountType { get; set; } + [JsonPropertyName("billing_credit_auto_topup_availability")] + public BillingCreditAutoTopupAvailability? BillingCreditAutoTopupAvailability { get; set; } + [JsonPropertyName("billing_credit_auto_topup_enabled")] public required bool BillingCreditAutoTopupEnabled { get; set; } @@ -38,6 +41,9 @@ public record CompanyPlanCreditGrantView : IJsonOnDeserialized [JsonPropertyName("billing_credit_auto_topup_threshold_percent")] public long? BillingCreditAutoTopupThresholdPercent { get; set; } + [JsonPropertyName("billing_credit_can_buy_bundles")] + public required bool BillingCreditCanBuyBundles { get; set; } + [JsonPropertyName("company_auto_topup_amount")] public long? CompanyAutoTopupAmount { get; set; } diff --git a/src/SchematicHQ.Client/Types/CompanyPlanDetailResponseData.cs b/src/SchematicHQ.Client/Types/CompanyPlanDetailResponseData.cs index 71bfe670..5de0b47a 100644 --- a/src/SchematicHQ.Client/Types/CompanyPlanDetailResponseData.cs +++ b/src/SchematicHQ.Client/Types/CompanyPlanDetailResponseData.cs @@ -42,6 +42,9 @@ public record CompanyPlanDetailResponseData : IJsonOnDeserialized [JsonPropertyName("company_id")] public string? CompanyId { get; set; } + [JsonPropertyName("company_logo_url")] + public string? CompanyLogoUrl { get; set; } + [JsonPropertyName("company_name")] public string? CompanyName { get; set; } @@ -57,6 +60,10 @@ public record CompanyPlanDetailResponseData : IJsonOnDeserialized [JsonPropertyName("created_at")] public required DateTime CreatedAt { get; set; } + [JsonPropertyName("credits")] + public IEnumerable Credits { get; set; } = + new List(); + [JsonPropertyName("currency_prices")] public IEnumerable CurrencyPrices { get; set; } = new List(); diff --git a/src/SchematicHQ.Client/Types/CreateBillingPlanCreditGrantRequestBody.cs b/src/SchematicHQ.Client/Types/CreateBillingPlanCreditGrantRequestBody.cs index 97609d6b..665bd9f5 100644 --- a/src/SchematicHQ.Client/Types/CreateBillingPlanCreditGrantRequestBody.cs +++ b/src/SchematicHQ.Client/Types/CreateBillingPlanCreditGrantRequestBody.cs @@ -20,6 +20,9 @@ public record CreateBillingPlanCreditGrantRequestBody : IJsonOnDeserialized [JsonPropertyName("auto_topup_amount_type")] public string? AutoTopupAmountType { get; set; } + [JsonPropertyName("auto_topup_availability")] + public BillingCreditAutoTopupAvailability? AutoTopupAvailability { get; set; } + [JsonPropertyName("auto_topup_enabled")] public bool? AutoTopupEnabled { get; set; } @@ -41,6 +44,9 @@ public record CreateBillingPlanCreditGrantRequestBody : IJsonOnDeserialized [JsonPropertyName("auto_topup_threshold_percent")] public long? AutoTopupThresholdPercent { get; set; } + [JsonPropertyName("can_buy_bundles")] + public bool? CanBuyBundles { get; set; } + [JsonPropertyName("credit_amount")] public required long CreditAmount { get; set; } diff --git a/src/SchematicHQ.Client/Types/CreateEventRequestBody.cs b/src/SchematicHQ.Client/Types/CreateEventRequestBody.cs index 49fd627f..e15e464b 100644 --- a/src/SchematicHQ.Client/Types/CreateEventRequestBody.cs +++ b/src/SchematicHQ.Client/Types/CreateEventRequestBody.cs @@ -19,7 +19,12 @@ public record CreateEventRequestBody : IJsonOnDeserialized public bool? Backfill { get; set; } [JsonPropertyName("body")] - public OneOf? Body { get; set; } + public OneOf< + EventBodyTrack, + EventBodyFlagCheck, + EventBodyIdentify, + EventBodyInference + >? Body { get; set; } /// /// Either 'identify' or 'track' diff --git a/src/SchematicHQ.Client/Types/EventBodyInference.cs b/src/SchematicHQ.Client/Types/EventBodyInference.cs new file mode 100644 index 00000000..a3d84847 --- /dev/null +++ b/src/SchematicHQ.Client/Types/EventBodyInference.cs @@ -0,0 +1,109 @@ +using global::System.Text.Json; +using global::System.Text.Json.Serialization; +using SchematicHQ.Client.Core; + +namespace SchematicHQ.Client; + +[Serializable] +public record EventBodyInference : IJsonOnDeserialized +{ + [JsonExtensionData] + private readonly IDictionary _extensionData = + new Dictionary(); + + /// + /// Number of input tokens served from cache + /// + [JsonPropertyName("cached_input_tokens")] + public long? CachedInputTokens { get; set; } + + /// + /// Key-value pairs to identify the company associated with the inference event + /// + [JsonPropertyName("company")] + public Dictionary Company { get; set; } = new Dictionary(); + + /// + /// Provided cost of the inference request as a decimal string; derived from model pricing when omitted + /// + [JsonPropertyName("cost")] + public string? Cost { get; set; } + + /// + /// ISO 4217 currency code for the provided cost; defaults to 'usd' + /// + [JsonPropertyName("currency")] + public string? Currency { get; set; } + + /// + /// Optional track event name to fan out for usage-based billing + /// + [JsonPropertyName("event")] + public string? Event { get; set; } + + /// + /// Number of input tokens for the inference request + /// + [JsonPropertyName("input_tokens")] + public required long InputTokens { get; set; } + + /// + /// The inference operation; defaults to 'chat' + /// + [JsonPropertyName("operation")] + public string? Operation { get; set; } + + /// + /// Number of output tokens for the inference request + /// + [JsonPropertyName("output_tokens")] + public required long OutputTokens { get; set; } + + /// + /// The inference provider (e.g. 'anthropic', 'openai') + /// + [JsonPropertyName("provider")] + public required string Provider { get; set; } + + /// + /// Number of reasoning tokens for the inference request + /// + [JsonPropertyName("reasoning_tokens")] + public long? ReasoningTokens { get; set; } + + /// + /// The model requested for the inference request + /// + [JsonPropertyName("request_model")] + public string? RequestModel { get; set; } + + /// + /// Number of requests represented by this event; defaults to 1 + /// + [JsonPropertyName("requests")] + public long? Requests { get; set; } + + /// + /// The model that served the inference response + /// + [JsonPropertyName("response_model")] + public required string ResponseModel { get; set; } + + /// + /// Key-value pairs to identify the user associated with the inference event + /// + [JsonPropertyName("user")] + public Dictionary? User { 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/EventType.cs b/src/SchematicHQ.Client/Types/EventType.cs index 674c3e04..11817f39 100644 --- a/src/SchematicHQ.Client/Types/EventType.cs +++ b/src/SchematicHQ.Client/Types/EventType.cs @@ -12,6 +12,8 @@ namespace SchematicHQ.Client; public static readonly EventType Identify = new(Values.Identify); + public static readonly EventType Inference = new(Values.Inference); + public static readonly EventType Track = new(Values.Track); public EventType(string value) @@ -112,6 +114,8 @@ public static class Values public const string Identify = "identify"; + public const string Inference = "inference"; + public const string Track = "track"; } } diff --git a/src/SchematicHQ.Client/Types/IntegrationsListResponseData.cs b/src/SchematicHQ.Client/Types/IntegrationsListResponseData.cs index a31094f1..a9c37135 100644 --- a/src/SchematicHQ.Client/Types/IntegrationsListResponseData.cs +++ b/src/SchematicHQ.Client/Types/IntegrationsListResponseData.cs @@ -26,6 +26,9 @@ public record IntegrationsListResponseData : IJsonOnDeserialized [JsonPropertyName("is_connect_install")] public required bool IsConnectInstall { get; set; } + [JsonPropertyName("last_webhook_received_at")] + public DateTime? LastWebhookReceivedAt { get; set; } + [JsonPropertyName("state")] public required IntegrationState State { get; set; } diff --git a/src/SchematicHQ.Client/Types/InvoiceRequestBody.cs b/src/SchematicHQ.Client/Types/InvoiceRequestBody.cs index a077baac..c2583790 100644 --- a/src/SchematicHQ.Client/Types/InvoiceRequestBody.cs +++ b/src/SchematicHQ.Client/Types/InvoiceRequestBody.cs @@ -32,9 +32,15 @@ public record InvoiceRequestBody : IJsonOnDeserialized [JsonPropertyName("due_date")] public DateTime? DueDate { get; set; } + [JsonPropertyName("ending_balance")] + public long? EndingBalance { get; set; } + [JsonPropertyName("payment_method_external_id")] public string? PaymentMethodExternalId { get; set; } + [JsonPropertyName("starting_balance")] + public long? StartingBalance { get; set; } + [JsonPropertyName("status")] public InvoiceStatus? Status { get; set; } diff --git a/src/SchematicHQ.Client/Types/InvoiceResponseData.cs b/src/SchematicHQ.Client/Types/InvoiceResponseData.cs index 7401a5fe..b542872c 100644 --- a/src/SchematicHQ.Client/Types/InvoiceResponseData.cs +++ b/src/SchematicHQ.Client/Types/InvoiceResponseData.cs @@ -38,6 +38,9 @@ public record InvoiceResponseData : IJsonOnDeserialized [JsonPropertyName("due_date")] public DateTime? DueDate { get; set; } + [JsonPropertyName("ending_balance")] + public required long EndingBalance { get; set; } + [JsonPropertyName("environment_id")] public required string EnvironmentId { get; set; } @@ -53,6 +56,9 @@ public record InvoiceResponseData : IJsonOnDeserialized [JsonPropertyName("provider_type")] public required BillingProviderType ProviderType { get; set; } + [JsonPropertyName("starting_balance")] + public required long StartingBalance { get; set; } + [JsonPropertyName("status")] public InvoiceStatus? Status { get; set; } diff --git a/src/SchematicHQ.Client/Types/ManagePlanRequest.cs b/src/SchematicHQ.Client/Types/ManagePlanRequest.cs index fa813465..632d1255 100644 --- a/src/SchematicHQ.Client/Types/ManagePlanRequest.cs +++ b/src/SchematicHQ.Client/Types/ManagePlanRequest.cs @@ -23,6 +23,12 @@ public record ManagePlanRequest : IJsonOnDeserialized [JsonPropertyName("base_plan_version_id")] public string? BasePlanVersionId { get; set; } + /// + /// The company that pays for this subscription. Must already have a Stripe customer. Only honored when starting a new subscription. + /// + [JsonPropertyName("billing_entity_id")] + public string? BillingEntityId { get; set; } + /// /// If false, subscription cancels at period end. Only applies when removing all plans. Defaults to true. /// diff --git a/src/SchematicHQ.Client/Types/MetronomeIntegrationConfig.cs b/src/SchematicHQ.Client/Types/MetronomeIntegrationConfig.cs index e8d035f5..323cfccb 100644 --- a/src/SchematicHQ.Client/Types/MetronomeIntegrationConfig.cs +++ b/src/SchematicHQ.Client/Types/MetronomeIntegrationConfig.cs @@ -11,6 +11,12 @@ public record MetronomeIntegrationConfig : IJsonOnDeserialized private readonly IDictionary _extensionData = new Dictionary(); + /// + /// Schematic company key used to store the Metronome customer's ingest alias; when unset, imported customers carry only metronome_customer_id + /// + [JsonPropertyName("external_customer_id_key")] + public string? ExternalCustomerIdKey { get; set; } + [JsonIgnore] public ReadOnlyAdditionalProperties AdditionalProperties { get; private set; } = new(); diff --git a/src/SchematicHQ.Client/Types/PlanBundleResponseData.cs b/src/SchematicHQ.Client/Types/PlanBundleResponseData.cs index ff26a7b0..d5365a90 100644 --- a/src/SchematicHQ.Client/Types/PlanBundleResponseData.cs +++ b/src/SchematicHQ.Client/Types/PlanBundleResponseData.cs @@ -23,9 +23,6 @@ public record PlanBundleResponseData : IJsonOnDeserialized [JsonPropertyName("plan")] public PlanResponseData? Plan { get; set; } - [JsonPropertyName("traits")] - public IEnumerable? Traits { get; set; } - [JsonIgnore] public ReadOnlyAdditionalProperties AdditionalProperties { get; private set; } = new(); diff --git a/src/SchematicHQ.Client/Types/PlanCreditGrantView.cs b/src/SchematicHQ.Client/Types/PlanCreditGrantView.cs index 0af9315e..82d834a5 100644 --- a/src/SchematicHQ.Client/Types/PlanCreditGrantView.cs +++ b/src/SchematicHQ.Client/Types/PlanCreditGrantView.cs @@ -17,6 +17,9 @@ public record PlanCreditGrantView : IJsonOnDeserialized [JsonPropertyName("billing_credit_auto_topup_amount_type")] public string? BillingCreditAutoTopupAmountType { get; set; } + [JsonPropertyName("billing_credit_auto_topup_availability")] + public BillingCreditAutoTopupAvailability? BillingCreditAutoTopupAvailability { get; set; } + [JsonPropertyName("billing_credit_auto_topup_enabled")] public required bool BillingCreditAutoTopupEnabled { get; set; } @@ -38,6 +41,9 @@ public record PlanCreditGrantView : IJsonOnDeserialized [JsonPropertyName("billing_credit_auto_topup_threshold_percent")] public long? BillingCreditAutoTopupThresholdPercent { get; set; } + [JsonPropertyName("billing_credit_can_buy_bundles")] + public required bool BillingCreditCanBuyBundles { get; set; } + [JsonPropertyName("created_at")] public required DateTime CreatedAt { get; set; } diff --git a/src/SchematicHQ.Client/Types/PlanDetailResponseData.cs b/src/SchematicHQ.Client/Types/PlanDetailResponseData.cs index 79228590..9ab6ff8e 100644 --- a/src/SchematicHQ.Client/Types/PlanDetailResponseData.cs +++ b/src/SchematicHQ.Client/Types/PlanDetailResponseData.cs @@ -35,6 +35,9 @@ public record PlanDetailResponseData : IJsonOnDeserialized [JsonPropertyName("company_id")] public string? CompanyId { get; set; } + [JsonPropertyName("company_logo_url")] + public string? CompanyLogoUrl { get; set; } + [JsonPropertyName("company_name")] public string? CompanyName { get; set; } @@ -47,6 +50,10 @@ public record PlanDetailResponseData : IJsonOnDeserialized [JsonPropertyName("created_at")] public required DateTime CreatedAt { get; set; } + [JsonPropertyName("credits")] + public IEnumerable Credits { get; set; } = + new List(); + [JsonPropertyName("currency_prices")] public IEnumerable CurrencyPrices { get; set; } = new List(); diff --git a/src/SchematicHQ.Client/Types/PlanEntitlementResponseData.cs b/src/SchematicHQ.Client/Types/PlanEntitlementResponseData.cs index 4e7b19fa..ff28bcbf 100644 --- a/src/SchematicHQ.Client/Types/PlanEntitlementResponseData.cs +++ b/src/SchematicHQ.Client/Types/PlanEntitlementResponseData.cs @@ -102,6 +102,10 @@ public record PlanEntitlementResponseData : IJsonOnDeserialized [JsonPropertyName("value_type")] public required EntitlementValueType ValueType { get; set; } + [JsonPropertyName("warning_tiers")] + public IEnumerable WarningTiers { get; set; } = + new List(); + [JsonIgnore] public ReadOnlyAdditionalProperties AdditionalProperties { get; private set; } = new(); diff --git a/src/SchematicHQ.Client/Types/PlanGroupPlanDetailResponseData.cs b/src/SchematicHQ.Client/Types/PlanGroupPlanDetailResponseData.cs index 9b6985ef..ef269b6a 100644 --- a/src/SchematicHQ.Client/Types/PlanGroupPlanDetailResponseData.cs +++ b/src/SchematicHQ.Client/Types/PlanGroupPlanDetailResponseData.cs @@ -39,6 +39,9 @@ public record PlanGroupPlanDetailResponseData : IJsonOnDeserialized [JsonPropertyName("company_id")] public string? CompanyId { get; set; } + [JsonPropertyName("company_logo_url")] + public string? CompanyLogoUrl { get; set; } + [JsonPropertyName("company_name")] public string? CompanyName { get; set; } @@ -54,6 +57,10 @@ public record PlanGroupPlanDetailResponseData : IJsonOnDeserialized [JsonPropertyName("created_at")] public required DateTime CreatedAt { get; set; } + [JsonPropertyName("credits")] + public IEnumerable Credits { get; set; } = + new List(); + [JsonPropertyName("currency_prices")] public IEnumerable CurrencyPrices { get; set; } = new List(); diff --git a/src/SchematicHQ.Client/Types/PlanViewPublicResponseData.cs b/src/SchematicHQ.Client/Types/PlanViewPublicResponseData.cs index c4bac3ce..bc7bd0dd 100644 --- a/src/SchematicHQ.Client/Types/PlanViewPublicResponseData.cs +++ b/src/SchematicHQ.Client/Types/PlanViewPublicResponseData.cs @@ -39,6 +39,9 @@ public record PlanViewPublicResponseData : IJsonOnDeserialized [JsonPropertyName("company_id")] public string? CompanyId { get; set; } + [JsonPropertyName("company_logo_url")] + public string? CompanyLogoUrl { get; set; } + [JsonPropertyName("company_name")] public string? CompanyName { get; set; } @@ -54,6 +57,10 @@ public record PlanViewPublicResponseData : IJsonOnDeserialized [JsonPropertyName("created_at")] public required DateTime CreatedAt { get; set; } + [JsonPropertyName("credits")] + public IEnumerable Credits { get; set; } = + new List(); + [JsonPropertyName("currency_prices")] public IEnumerable CurrencyPrices { get; set; } = new List(); diff --git a/src/SchematicHQ.Client/Types/UpdateBillingPlanCreditGrantRequestBody.cs b/src/SchematicHQ.Client/Types/UpdateBillingPlanCreditGrantRequestBody.cs index 1b74e8e5..485ad20f 100644 --- a/src/SchematicHQ.Client/Types/UpdateBillingPlanCreditGrantRequestBody.cs +++ b/src/SchematicHQ.Client/Types/UpdateBillingPlanCreditGrantRequestBody.cs @@ -20,6 +20,9 @@ public record UpdateBillingPlanCreditGrantRequestBody : IJsonOnDeserialized [JsonPropertyName("auto_topup_amount_type")] public string? AutoTopupAmountType { get; set; } + [JsonPropertyName("auto_topup_availability")] + public BillingCreditAutoTopupAvailability? AutoTopupAvailability { get; set; } + [JsonPropertyName("auto_topup_enabled")] public bool? AutoTopupEnabled { get; set; } @@ -41,6 +44,9 @@ public record UpdateBillingPlanCreditGrantRequestBody : IJsonOnDeserialized [JsonPropertyName("auto_topup_threshold_percent")] public long? AutoTopupThresholdPercent { get; set; } + [JsonPropertyName("can_buy_bundles")] + public bool? CanBuyBundles { get; set; } + [JsonPropertyName("credit_amount")] public long? CreditAmount { get; set; } diff --git a/src/SchematicHQ.Client/Types/WarningTierRequestBody.cs b/src/SchematicHQ.Client/Types/WarningTierRequestBody.cs new file mode 100644 index 00000000..3fb28b34 --- /dev/null +++ b/src/SchematicHQ.Client/Types/WarningTierRequestBody.cs @@ -0,0 +1,31 @@ +using global::System.Text.Json; +using global::System.Text.Json.Serialization; +using SchematicHQ.Client.Core; + +namespace SchematicHQ.Client; + +[Serializable] +public record WarningTierRequestBody : IJsonOnDeserialized +{ + [JsonExtensionData] + private readonly IDictionary _extensionData = + new Dictionary(); + + [JsonPropertyName("key")] + public required string Key { get; set; } + + [JsonPropertyName("value")] + public required long Value { 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/WarningTierResponseData.cs b/src/SchematicHQ.Client/Types/WarningTierResponseData.cs new file mode 100644 index 00000000..d3a04907 --- /dev/null +++ b/src/SchematicHQ.Client/Types/WarningTierResponseData.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 WarningTierResponseData : IJsonOnDeserialized +{ + [JsonExtensionData] + private readonly IDictionary _extensionData = + new Dictionary(); + + [JsonPropertyName("id")] + public required string Id { get; set; } + + [JsonPropertyName("key")] + public required string Key { get; set; } + + [JsonPropertyName("value")] + public required long Value { 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/Webhooks/WebhooksClient.cs b/src/SchematicHQ.Client/Webhooks/WebhooksClient.cs index f5484a24..b3cdfd85 100644 --- a/src/SchematicHQ.Client/Webhooks/WebhooksClient.cs +++ b/src/SchematicHQ.Client/Webhooks/WebhooksClient.cs @@ -174,6 +174,9 @@ private async Task> GetWebhookEventAsyn CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -189,6 +192,7 @@ private async Task> GetWebhookEventAsyn "webhook-events/{0}", ValueConvert.ToPathParameterString(webhookEventId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -622,6 +626,9 @@ private async Task> CreateWebhookAsyncCor CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -635,6 +642,7 @@ private async Task> CreateWebhookAsyncCor Method = HttpMethod.Post, Path = "webhooks", Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -771,6 +779,9 @@ private async Task> GetWebhookAsyncCore( CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -786,6 +797,7 @@ private async Task> GetWebhookAsyncCore( "webhooks/{0}", ValueConvert.ToPathParameterString(webhookId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -910,6 +922,9 @@ private async Task> UpdateWebhookAsyncCor CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -926,6 +941,7 @@ private async Task> UpdateWebhookAsyncCor ValueConvert.ToPathParameterString(webhookId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options, @@ -1062,6 +1078,9 @@ private async Task> DeleteWebhookAsyncCor CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1077,6 +1096,7 @@ private async Task> DeleteWebhookAsyncCor "webhooks/{0}", ValueConvert.ToPathParameterString(webhookId) ), + QueryString = _queryString, Headers = _headers, Options = options, }, @@ -1215,6 +1235,9 @@ private async Task< CancellationToken cancellationToken = default ) { + var _queryString = new SchematicHQ.Client.Core.QueryStringBuilder.Builder(capacity: 0) + .MergeAdditional(options?.AdditionalQueryParameters) + .Build(); var _headers = await new SchematicHQ.Client.Core.HeadersBuilder.Builder() .Add(_client.Options.Headers) .Add(_client.Options.AdditionalHeaders) @@ -1231,6 +1254,7 @@ private async Task< ValueConvert.ToPathParameterString(webhookId) ), Body = request, + QueryString = _queryString, Headers = _headers, ContentType = "application/json", Options = options,