diff --git a/README.md b/README.md
index 02b265060d7..ee1bd5a0512 100644
--- a/README.md
+++ b/README.md
@@ -35,7 +35,7 @@ locally:
```shell script
docker build -t oryd/sdk:latest .
-docker run --mount type=bind,source="$(pwd)",target=/project --name sdk --user "$(id -u):$(id -g)" -it oryd/sdk:latest /bin/sh
+docker run --mount type=bind,source="$(pwd)",target=/project --name sdk -it oryd/sdk:latest /bin/bash
```
### Debugging Failing Tests on CI
diff --git a/clients/client/dotnet/src/Ory.Client.Test/Model/ClientAccountExperienceThemeVariablesTests.cs b/clients/client/dotnet/src/Ory.Client.Test/Model/ClientAccountExperienceThemeVariablesTests.cs
new file mode 100644
index 00000000000..16d801e0fda
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client.Test/Model/ClientAccountExperienceThemeVariablesTests.cs
@@ -0,0 +1,877 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using Xunit;
+
+using System;
+using System.Linq;
+using System.IO;
+using System.Collections.Generic;
+using Ory.Client.Model;
+using Ory.Client.Client;
+using System.Reflection;
+using Newtonsoft.Json;
+
+namespace Ory.Client.Test.Model
+{
+ ///
+ /// Class for testing ClientAccountExperienceThemeVariables
+ ///
+ ///
+ /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech).
+ /// Please update the test case below to test the model.
+ ///
+ public class ClientAccountExperienceThemeVariablesTests : IDisposable
+ {
+ // TODO uncomment below to declare an instance variable for ClientAccountExperienceThemeVariables
+ //private ClientAccountExperienceThemeVariables instance;
+
+ public ClientAccountExperienceThemeVariablesTests()
+ {
+ // TODO uncomment below to create an instance of ClientAccountExperienceThemeVariables
+ //instance = new ClientAccountExperienceThemeVariables();
+ }
+
+ public void Dispose()
+ {
+ // Cleanup when everything is done.
+ }
+
+ ///
+ /// Test an instance of ClientAccountExperienceThemeVariables
+ ///
+ [Fact]
+ public void ClientAccountExperienceThemeVariablesInstanceTest()
+ {
+ // TODO uncomment below to test "IsType" ClientAccountExperienceThemeVariables
+ //Assert.IsType(instance);
+ }
+
+ ///
+ /// Test the property 'Accent'
+ ///
+ [Fact]
+ public void AccentTest()
+ {
+ // TODO unit test for the property 'Accent'
+ }
+
+ ///
+ /// Test the property 'BgDefault'
+ ///
+ [Fact]
+ public void BgDefaultTest()
+ {
+ // TODO unit test for the property 'BgDefault'
+ }
+
+ ///
+ /// Test the property 'BorderRadiusBranding'
+ ///
+ [Fact]
+ public void BorderRadiusBrandingTest()
+ {
+ // TODO unit test for the property 'BorderRadiusBranding'
+ }
+
+ ///
+ /// Test the property 'BorderRadiusButtons'
+ ///
+ [Fact]
+ public void BorderRadiusButtonsTest()
+ {
+ // TODO unit test for the property 'BorderRadiusButtons'
+ }
+
+ ///
+ /// Test the property 'BorderRadiusCards'
+ ///
+ [Fact]
+ public void BorderRadiusCardsTest()
+ {
+ // TODO unit test for the property 'BorderRadiusCards'
+ }
+
+ ///
+ /// Test the property 'BorderRadiusForms'
+ ///
+ [Fact]
+ public void BorderRadiusFormsTest()
+ {
+ // TODO unit test for the property 'BorderRadiusForms'
+ }
+
+ ///
+ /// Test the property 'BorderRadiusGeneral'
+ ///
+ [Fact]
+ public void BorderRadiusGeneralTest()
+ {
+ // TODO unit test for the property 'BorderRadiusGeneral'
+ }
+
+ ///
+ /// Test the property 'ButtonPrimaryBgDefault'
+ ///
+ [Fact]
+ public void ButtonPrimaryBgDefaultTest()
+ {
+ // TODO unit test for the property 'ButtonPrimaryBgDefault'
+ }
+
+ ///
+ /// Test the property 'ButtonPrimaryBgDisabled'
+ ///
+ [Fact]
+ public void ButtonPrimaryBgDisabledTest()
+ {
+ // TODO unit test for the property 'ButtonPrimaryBgDisabled'
+ }
+
+ ///
+ /// Test the property 'ButtonPrimaryBgHover'
+ ///
+ [Fact]
+ public void ButtonPrimaryBgHoverTest()
+ {
+ // TODO unit test for the property 'ButtonPrimaryBgHover'
+ }
+
+ ///
+ /// Test the property 'ButtonPrimaryBorderDefault'
+ ///
+ [Fact]
+ public void ButtonPrimaryBorderDefaultTest()
+ {
+ // TODO unit test for the property 'ButtonPrimaryBorderDefault'
+ }
+
+ ///
+ /// Test the property 'ButtonPrimaryBorderDisabled'
+ ///
+ [Fact]
+ public void ButtonPrimaryBorderDisabledTest()
+ {
+ // TODO unit test for the property 'ButtonPrimaryBorderDisabled'
+ }
+
+ ///
+ /// Test the property 'ButtonPrimaryBorderHover'
+ ///
+ [Fact]
+ public void ButtonPrimaryBorderHoverTest()
+ {
+ // TODO unit test for the property 'ButtonPrimaryBorderHover'
+ }
+
+ ///
+ /// Test the property 'ButtonPrimaryFgDefault'
+ ///
+ [Fact]
+ public void ButtonPrimaryFgDefaultTest()
+ {
+ // TODO unit test for the property 'ButtonPrimaryFgDefault'
+ }
+
+ ///
+ /// Test the property 'ButtonPrimaryFgDisabled'
+ ///
+ [Fact]
+ public void ButtonPrimaryFgDisabledTest()
+ {
+ // TODO unit test for the property 'ButtonPrimaryFgDisabled'
+ }
+
+ ///
+ /// Test the property 'ButtonPrimaryFgHover'
+ ///
+ [Fact]
+ public void ButtonPrimaryFgHoverTest()
+ {
+ // TODO unit test for the property 'ButtonPrimaryFgHover'
+ }
+
+ ///
+ /// Test the property 'ButtonSecondaryBgDefault'
+ ///
+ [Fact]
+ public void ButtonSecondaryBgDefaultTest()
+ {
+ // TODO unit test for the property 'ButtonSecondaryBgDefault'
+ }
+
+ ///
+ /// Test the property 'ButtonSecondaryBgDisabled'
+ ///
+ [Fact]
+ public void ButtonSecondaryBgDisabledTest()
+ {
+ // TODO unit test for the property 'ButtonSecondaryBgDisabled'
+ }
+
+ ///
+ /// Test the property 'ButtonSecondaryBgHover'
+ ///
+ [Fact]
+ public void ButtonSecondaryBgHoverTest()
+ {
+ // TODO unit test for the property 'ButtonSecondaryBgHover'
+ }
+
+ ///
+ /// Test the property 'ButtonSecondaryBorderDefault'
+ ///
+ [Fact]
+ public void ButtonSecondaryBorderDefaultTest()
+ {
+ // TODO unit test for the property 'ButtonSecondaryBorderDefault'
+ }
+
+ ///
+ /// Test the property 'ButtonSecondaryBorderDisabled'
+ ///
+ [Fact]
+ public void ButtonSecondaryBorderDisabledTest()
+ {
+ // TODO unit test for the property 'ButtonSecondaryBorderDisabled'
+ }
+
+ ///
+ /// Test the property 'ButtonSecondaryBorderHover'
+ ///
+ [Fact]
+ public void ButtonSecondaryBorderHoverTest()
+ {
+ // TODO unit test for the property 'ButtonSecondaryBorderHover'
+ }
+
+ ///
+ /// Test the property 'ButtonSecondaryFgDefault'
+ ///
+ [Fact]
+ public void ButtonSecondaryFgDefaultTest()
+ {
+ // TODO unit test for the property 'ButtonSecondaryFgDefault'
+ }
+
+ ///
+ /// Test the property 'ButtonSecondaryFgDisabled'
+ ///
+ [Fact]
+ public void ButtonSecondaryFgDisabledTest()
+ {
+ // TODO unit test for the property 'ButtonSecondaryFgDisabled'
+ }
+
+ ///
+ /// Test the property 'ButtonSecondaryFgHover'
+ ///
+ [Fact]
+ public void ButtonSecondaryFgHoverTest()
+ {
+ // TODO unit test for the property 'ButtonSecondaryFgHover'
+ }
+
+ ///
+ /// Test the property 'ButtonSocialBgDefault'
+ ///
+ [Fact]
+ public void ButtonSocialBgDefaultTest()
+ {
+ // TODO unit test for the property 'ButtonSocialBgDefault'
+ }
+
+ ///
+ /// Test the property 'ButtonSocialBgDisabled'
+ ///
+ [Fact]
+ public void ButtonSocialBgDisabledTest()
+ {
+ // TODO unit test for the property 'ButtonSocialBgDisabled'
+ }
+
+ ///
+ /// Test the property 'ButtonSocialBgHover'
+ ///
+ [Fact]
+ public void ButtonSocialBgHoverTest()
+ {
+ // TODO unit test for the property 'ButtonSocialBgHover'
+ }
+
+ ///
+ /// Test the property 'ButtonSocialBgProvider'
+ ///
+ [Fact]
+ public void ButtonSocialBgProviderTest()
+ {
+ // TODO unit test for the property 'ButtonSocialBgProvider'
+ }
+
+ ///
+ /// Test the property 'ButtonSocialBorderDefault'
+ ///
+ [Fact]
+ public void ButtonSocialBorderDefaultTest()
+ {
+ // TODO unit test for the property 'ButtonSocialBorderDefault'
+ }
+
+ ///
+ /// Test the property 'ButtonSocialBorderDisabled'
+ ///
+ [Fact]
+ public void ButtonSocialBorderDisabledTest()
+ {
+ // TODO unit test for the property 'ButtonSocialBorderDisabled'
+ }
+
+ ///
+ /// Test the property 'ButtonSocialBorderHover'
+ ///
+ [Fact]
+ public void ButtonSocialBorderHoverTest()
+ {
+ // TODO unit test for the property 'ButtonSocialBorderHover'
+ }
+
+ ///
+ /// Test the property 'ButtonSocialBorderProvider'
+ ///
+ [Fact]
+ public void ButtonSocialBorderProviderTest()
+ {
+ // TODO unit test for the property 'ButtonSocialBorderProvider'
+ }
+
+ ///
+ /// Test the property 'ButtonSocialFgDefault'
+ ///
+ [Fact]
+ public void ButtonSocialFgDefaultTest()
+ {
+ // TODO unit test for the property 'ButtonSocialFgDefault'
+ }
+
+ ///
+ /// Test the property 'ButtonSocialFgDisabled'
+ ///
+ [Fact]
+ public void ButtonSocialFgDisabledTest()
+ {
+ // TODO unit test for the property 'ButtonSocialFgDisabled'
+ }
+
+ ///
+ /// Test the property 'ButtonSocialFgHover'
+ ///
+ [Fact]
+ public void ButtonSocialFgHoverTest()
+ {
+ // TODO unit test for the property 'ButtonSocialFgHover'
+ }
+
+ ///
+ /// Test the property 'ButtonSocialFgProvider'
+ ///
+ [Fact]
+ public void ButtonSocialFgProviderTest()
+ {
+ // TODO unit test for the property 'ButtonSocialFgProvider'
+ }
+
+ ///
+ /// Test the property 'CreatedAt'
+ ///
+ [Fact]
+ public void CreatedAtTest()
+ {
+ // TODO unit test for the property 'CreatedAt'
+ }
+
+ ///
+ /// Test the property 'DialogBgDefault'
+ ///
+ [Fact]
+ public void DialogBgDefaultTest()
+ {
+ // TODO unit test for the property 'DialogBgDefault'
+ }
+
+ ///
+ /// Test the property 'DialogBgSubtle'
+ ///
+ [Fact]
+ public void DialogBgSubtleTest()
+ {
+ // TODO unit test for the property 'DialogBgSubtle'
+ }
+
+ ///
+ /// Test the property 'DialogBorderDefault'
+ ///
+ [Fact]
+ public void DialogBorderDefaultTest()
+ {
+ // TODO unit test for the property 'DialogBorderDefault'
+ }
+
+ ///
+ /// Test the property 'DialogFgDefault'
+ ///
+ [Fact]
+ public void DialogFgDefaultTest()
+ {
+ // TODO unit test for the property 'DialogFgDefault'
+ }
+
+ ///
+ /// Test the property 'DialogFgMute'
+ ///
+ [Fact]
+ public void DialogFgMuteTest()
+ {
+ // TODO unit test for the property 'DialogFgMute'
+ }
+
+ ///
+ /// Test the property 'DialogFgSubtle'
+ ///
+ [Fact]
+ public void DialogFgSubtleTest()
+ {
+ // TODO unit test for the property 'DialogFgSubtle'
+ }
+
+ ///
+ /// Test the property 'FormsBgDefault'
+ ///
+ [Fact]
+ public void FormsBgDefaultTest()
+ {
+ // TODO unit test for the property 'FormsBgDefault'
+ }
+
+ ///
+ /// Test the property 'FormsBgDisabled'
+ ///
+ [Fact]
+ public void FormsBgDisabledTest()
+ {
+ // TODO unit test for the property 'FormsBgDisabled'
+ }
+
+ ///
+ /// Test the property 'FormsBgHover'
+ ///
+ [Fact]
+ public void FormsBgHoverTest()
+ {
+ // TODO unit test for the property 'FormsBgHover'
+ }
+
+ ///
+ /// Test the property 'FormsBorderDefault'
+ ///
+ [Fact]
+ public void FormsBorderDefaultTest()
+ {
+ // TODO unit test for the property 'FormsBorderDefault'
+ }
+
+ ///
+ /// Test the property 'FormsBorderDisabled'
+ ///
+ [Fact]
+ public void FormsBorderDisabledTest()
+ {
+ // TODO unit test for the property 'FormsBorderDisabled'
+ }
+
+ ///
+ /// Test the property 'FormsBorderError'
+ ///
+ [Fact]
+ public void FormsBorderErrorTest()
+ {
+ // TODO unit test for the property 'FormsBorderError'
+ }
+
+ ///
+ /// Test the property 'FormsBorderFocus'
+ ///
+ [Fact]
+ public void FormsBorderFocusTest()
+ {
+ // TODO unit test for the property 'FormsBorderFocus'
+ }
+
+ ///
+ /// Test the property 'FormsBorderHover'
+ ///
+ [Fact]
+ public void FormsBorderHoverTest()
+ {
+ // TODO unit test for the property 'FormsBorderHover'
+ }
+
+ ///
+ /// Test the property 'FormsBorderSuccess'
+ ///
+ [Fact]
+ public void FormsBorderSuccessTest()
+ {
+ // TODO unit test for the property 'FormsBorderSuccess'
+ }
+
+ ///
+ /// Test the property 'FormsBorderWarn'
+ ///
+ [Fact]
+ public void FormsBorderWarnTest()
+ {
+ // TODO unit test for the property 'FormsBorderWarn'
+ }
+
+ ///
+ /// Test the property 'FormsCheckboxBgChecked'
+ ///
+ [Fact]
+ public void FormsCheckboxBgCheckedTest()
+ {
+ // TODO unit test for the property 'FormsCheckboxBgChecked'
+ }
+
+ ///
+ /// Test the property 'FormsCheckboxBgDefault'
+ ///
+ [Fact]
+ public void FormsCheckboxBgDefaultTest()
+ {
+ // TODO unit test for the property 'FormsCheckboxBgDefault'
+ }
+
+ ///
+ /// Test the property 'FormsCheckboxBorderChecked'
+ ///
+ [Fact]
+ public void FormsCheckboxBorderCheckedTest()
+ {
+ // TODO unit test for the property 'FormsCheckboxBorderChecked'
+ }
+
+ ///
+ /// Test the property 'FormsCheckboxBorderDefault'
+ ///
+ [Fact]
+ public void FormsCheckboxBorderDefaultTest()
+ {
+ // TODO unit test for the property 'FormsCheckboxBorderDefault'
+ }
+
+ ///
+ /// Test the property 'FormsCheckboxFgChecked'
+ ///
+ [Fact]
+ public void FormsCheckboxFgCheckedTest()
+ {
+ // TODO unit test for the property 'FormsCheckboxFgChecked'
+ }
+
+ ///
+ /// Test the property 'FormsCheckboxFgDefault'
+ ///
+ [Fact]
+ public void FormsCheckboxFgDefaultTest()
+ {
+ // TODO unit test for the property 'FormsCheckboxFgDefault'
+ }
+
+ ///
+ /// Test the property 'FormsFgDefault'
+ ///
+ [Fact]
+ public void FormsFgDefaultTest()
+ {
+ // TODO unit test for the property 'FormsFgDefault'
+ }
+
+ ///
+ /// Test the property 'FormsFgError'
+ ///
+ [Fact]
+ public void FormsFgErrorTest()
+ {
+ // TODO unit test for the property 'FormsFgError'
+ }
+
+ ///
+ /// Test the property 'FormsFgMute'
+ ///
+ [Fact]
+ public void FormsFgMuteTest()
+ {
+ // TODO unit test for the property 'FormsFgMute'
+ }
+
+ ///
+ /// Test the property 'FormsFgSubtle'
+ ///
+ [Fact]
+ public void FormsFgSubtleTest()
+ {
+ // TODO unit test for the property 'FormsFgSubtle'
+ }
+
+ ///
+ /// Test the property 'FormsFgSuccess'
+ ///
+ [Fact]
+ public void FormsFgSuccessTest()
+ {
+ // TODO unit test for the property 'FormsFgSuccess'
+ }
+
+ ///
+ /// Test the property 'FormsFgWarn'
+ ///
+ [Fact]
+ public void FormsFgWarnTest()
+ {
+ // TODO unit test for the property 'FormsFgWarn'
+ }
+
+ ///
+ /// Test the property 'FormsRadioBgChecked'
+ ///
+ [Fact]
+ public void FormsRadioBgCheckedTest()
+ {
+ // TODO unit test for the property 'FormsRadioBgChecked'
+ }
+
+ ///
+ /// Test the property 'FormsRadioBgDefault'
+ ///
+ [Fact]
+ public void FormsRadioBgDefaultTest()
+ {
+ // TODO unit test for the property 'FormsRadioBgDefault'
+ }
+
+ ///
+ /// Test the property 'FormsRadioBorderChecked'
+ ///
+ [Fact]
+ public void FormsRadioBorderCheckedTest()
+ {
+ // TODO unit test for the property 'FormsRadioBorderChecked'
+ }
+
+ ///
+ /// Test the property 'FormsRadioBorderDefault'
+ ///
+ [Fact]
+ public void FormsRadioBorderDefaultTest()
+ {
+ // TODO unit test for the property 'FormsRadioBorderDefault'
+ }
+
+ ///
+ /// Test the property 'FormsRadioFgChecked'
+ ///
+ [Fact]
+ public void FormsRadioFgCheckedTest()
+ {
+ // TODO unit test for the property 'FormsRadioFgChecked'
+ }
+
+ ///
+ /// Test the property 'FormsRadioFgDefault'
+ ///
+ [Fact]
+ public void FormsRadioFgDefaultTest()
+ {
+ // TODO unit test for the property 'FormsRadioFgDefault'
+ }
+
+ ///
+ /// Test the property 'FormsToggleBgChecked'
+ ///
+ [Fact]
+ public void FormsToggleBgCheckedTest()
+ {
+ // TODO unit test for the property 'FormsToggleBgChecked'
+ }
+
+ ///
+ /// Test the property 'FormsToggleBgDefault'
+ ///
+ [Fact]
+ public void FormsToggleBgDefaultTest()
+ {
+ // TODO unit test for the property 'FormsToggleBgDefault'
+ }
+
+ ///
+ /// Test the property 'FormsToggleBorderChecked'
+ ///
+ [Fact]
+ public void FormsToggleBorderCheckedTest()
+ {
+ // TODO unit test for the property 'FormsToggleBorderChecked'
+ }
+
+ ///
+ /// Test the property 'FormsToggleBorderDefault'
+ ///
+ [Fact]
+ public void FormsToggleBorderDefaultTest()
+ {
+ // TODO unit test for the property 'FormsToggleBorderDefault'
+ }
+
+ ///
+ /// Test the property 'FormsToggleFgChecked'
+ ///
+ [Fact]
+ public void FormsToggleFgCheckedTest()
+ {
+ // TODO unit test for the property 'FormsToggleFgChecked'
+ }
+
+ ///
+ /// Test the property 'FormsToggleFgDefault'
+ ///
+ [Fact]
+ public void FormsToggleFgDefaultTest()
+ {
+ // TODO unit test for the property 'FormsToggleFgDefault'
+ }
+
+ ///
+ /// Test the property 'Id'
+ ///
+ [Fact]
+ public void IdTest()
+ {
+ // TODO unit test for the property 'Id'
+ }
+
+ ///
+ /// Test the property 'LinksLinkDefault'
+ ///
+ [Fact]
+ public void LinksLinkDefaultTest()
+ {
+ // TODO unit test for the property 'LinksLinkDefault'
+ }
+
+ ///
+ /// Test the property 'LinksLinkDisabled'
+ ///
+ [Fact]
+ public void LinksLinkDisabledTest()
+ {
+ // TODO unit test for the property 'LinksLinkDisabled'
+ }
+
+ ///
+ /// Test the property 'LinksLinkHover'
+ ///
+ [Fact]
+ public void LinksLinkHoverTest()
+ {
+ // TODO unit test for the property 'LinksLinkHover'
+ }
+
+ ///
+ /// Test the property 'LinksLinkInvertedDefault'
+ ///
+ [Fact]
+ public void LinksLinkInvertedDefaultTest()
+ {
+ // TODO unit test for the property 'LinksLinkInvertedDefault'
+ }
+
+ ///
+ /// Test the property 'LinksLinkInvertedHover'
+ ///
+ [Fact]
+ public void LinksLinkInvertedHoverTest()
+ {
+ // TODO unit test for the property 'LinksLinkInvertedHover'
+ }
+
+ ///
+ /// Test the property 'LinksLinkMuteDefault'
+ ///
+ [Fact]
+ public void LinksLinkMuteDefaultTest()
+ {
+ // TODO unit test for the property 'LinksLinkMuteDefault'
+ }
+
+ ///
+ /// Test the property 'LinksLinkMuteHover'
+ ///
+ [Fact]
+ public void LinksLinkMuteHoverTest()
+ {
+ // TODO unit test for the property 'LinksLinkMuteHover'
+ }
+
+ ///
+ /// Test the property 'SyntaxSyntax'
+ ///
+ [Fact]
+ public void SyntaxSyntaxTest()
+ {
+ // TODO unit test for the property 'SyntaxSyntax'
+ }
+
+ ///
+ /// Test the property 'SyntaxSyntaxKey'
+ ///
+ [Fact]
+ public void SyntaxSyntaxKeyTest()
+ {
+ // TODO unit test for the property 'SyntaxSyntaxKey'
+ }
+
+ ///
+ /// Test the property 'SyntaxSyntaxNum'
+ ///
+ [Fact]
+ public void SyntaxSyntaxNumTest()
+ {
+ // TODO unit test for the property 'SyntaxSyntaxNum'
+ }
+
+ ///
+ /// Test the property 'SyntaxSyntaxValue'
+ ///
+ [Fact]
+ public void SyntaxSyntaxValueTest()
+ {
+ // TODO unit test for the property 'SyntaxSyntaxValue'
+ }
+
+ ///
+ /// Test the property 'UpdatedAt'
+ ///
+ [Fact]
+ public void UpdatedAtTest()
+ {
+ // TODO unit test for the property 'UpdatedAt'
+ }
+ }
+}
diff --git a/clients/client/dotnet/src/Ory.Client.Test/Model/ClientSetActiveProjectInConsoleBodyTests.cs b/clients/client/dotnet/src/Ory.Client.Test/Model/ClientSetActiveProjectInConsoleBodyTests.cs
new file mode 100644
index 00000000000..9e52eb7a0b0
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client.Test/Model/ClientSetActiveProjectInConsoleBodyTests.cs
@@ -0,0 +1,67 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using Xunit;
+
+using System;
+using System.Linq;
+using System.IO;
+using System.Collections.Generic;
+using Ory.Client.Model;
+using Ory.Client.Client;
+using System.Reflection;
+using Newtonsoft.Json;
+
+namespace Ory.Client.Test.Model
+{
+ ///
+ /// Class for testing ClientSetActiveProjectInConsoleBody
+ ///
+ ///
+ /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech).
+ /// Please update the test case below to test the model.
+ ///
+ public class ClientSetActiveProjectInConsoleBodyTests : IDisposable
+ {
+ // TODO uncomment below to declare an instance variable for ClientSetActiveProjectInConsoleBody
+ //private ClientSetActiveProjectInConsoleBody instance;
+
+ public ClientSetActiveProjectInConsoleBodyTests()
+ {
+ // TODO uncomment below to create an instance of ClientSetActiveProjectInConsoleBody
+ //instance = new ClientSetActiveProjectInConsoleBody();
+ }
+
+ public void Dispose()
+ {
+ // Cleanup when everything is done.
+ }
+
+ ///
+ /// Test an instance of ClientSetActiveProjectInConsoleBody
+ ///
+ [Fact]
+ public void ClientSetActiveProjectInConsoleBodyInstanceTest()
+ {
+ // TODO uncomment below to test "IsType" ClientSetActiveProjectInConsoleBody
+ //Assert.IsType(instance);
+ }
+
+ ///
+ /// Test the property 'ProjectId'
+ ///
+ [Fact]
+ public void ProjectIdTest()
+ {
+ // TODO unit test for the property 'ProjectId'
+ }
+ }
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Client/ApiClient.cs b/clients/client/dotnet/src/Ory.Client/Client/ApiClient.cs
new file mode 100644
index 00000000000..3a81de6fa82
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Client/ApiClient.cs
@@ -0,0 +1,831 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Globalization;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Reflection;
+using System.Runtime.Serialization;
+using System.Runtime.Serialization.Formatters;
+using System.Text;
+using System.Threading;
+using System.Text.RegularExpressions;
+using System.Threading.Tasks;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Serialization;
+using RestSharp;
+using RestSharp.Serializers;
+using RestSharpMethod = RestSharp.Method;
+using FileIO = System.IO.File;
+using Polly;
+using Ory.Client.Client.Auth;
+using Ory.Client.Model;
+
+namespace Ory.Client.Client
+{
+ ///
+ /// Allows RestSharp to Serialize/Deserialize JSON using our custom logic, but only when ContentType is JSON.
+ ///
+ internal class CustomJsonCodec : IRestSerializer, ISerializer, IDeserializer
+ {
+ private readonly IReadableConfiguration _configuration;
+ private readonly JsonSerializerSettings _serializerSettings = new JsonSerializerSettings
+ {
+ // OpenAPI generated types generally hide default constructors.
+ ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor,
+ ContractResolver = new DefaultContractResolver
+ {
+ NamingStrategy = new CamelCaseNamingStrategy
+ {
+ OverrideSpecifiedNames = false
+ }
+ }
+ };
+
+ public CustomJsonCodec(IReadableConfiguration configuration)
+ {
+ _configuration = configuration;
+ }
+
+ public CustomJsonCodec(JsonSerializerSettings serializerSettings, IReadableConfiguration configuration)
+ {
+ _serializerSettings = serializerSettings;
+ _configuration = configuration;
+ }
+
+ ///
+ /// Serialize the object into a JSON string.
+ ///
+ /// Object to be serialized.
+ /// A JSON string.
+ public string Serialize(object obj)
+ {
+ if (obj != null && obj is AbstractOpenAPISchema)
+ {
+ // the object to be serialized is an oneOf/anyOf schema
+ return ((AbstractOpenAPISchema)obj).ToJson();
+ }
+ else
+ {
+ return JsonConvert.SerializeObject(obj, _serializerSettings);
+ }
+ }
+
+ public string Serialize(Parameter bodyParameter) => Serialize(bodyParameter.Value);
+
+ public T Deserialize(RestResponse response)
+ {
+ var result = (T)Deserialize(response, typeof(T));
+ return result;
+ }
+
+ ///
+ /// Deserialize the JSON string into a proper object.
+ ///
+ /// The HTTP response.
+ /// Object type.
+ /// Object representation of the JSON string.
+ internal object Deserialize(RestResponse response, Type type)
+ {
+ if (type == typeof(byte[])) // return byte array
+ {
+ return response.RawBytes;
+ }
+
+ // TODO: ? if (type.IsAssignableFrom(typeof(Stream)))
+ if (type == typeof(Stream))
+ {
+ var bytes = response.RawBytes;
+ if (response.Headers != null)
+ {
+ var filePath = string.IsNullOrEmpty(_configuration.TempFolderPath)
+ ? Path.GetTempPath()
+ : _configuration.TempFolderPath;
+ var regex = new Regex(@"Content-Disposition=.*filename=['""]?([^'""\s]+)['""]?$");
+ foreach (var header in response.Headers)
+ {
+ var match = regex.Match(header.ToString());
+ if (match.Success)
+ {
+ string fileName = filePath + ClientUtils.SanitizeFilename(match.Groups[1].Value.Replace("\"", "").Replace("'", ""));
+ FileIO.WriteAllBytes(fileName, bytes);
+ return new FileStream(fileName, FileMode.Open);
+ }
+ }
+ }
+ var stream = new MemoryStream(bytes);
+ return stream;
+ }
+
+ if (type.Name.StartsWith("System.Nullable`1[[System.DateTime")) // return a datetime object
+ {
+ return DateTime.Parse(response.Content, null, DateTimeStyles.RoundtripKind);
+ }
+
+ if (type == typeof(string) || type.Name.StartsWith("System.Nullable")) // return primitive type
+ {
+ return Convert.ChangeType(response.Content, type);
+ }
+
+ // at this point, it must be a model (json)
+ try
+ {
+ return JsonConvert.DeserializeObject(response.Content, type, _serializerSettings);
+ }
+ catch (Exception e)
+ {
+ throw new ApiException(500, e.Message);
+ }
+ }
+
+ public ISerializer Serializer => this;
+ public IDeserializer Deserializer => this;
+
+ public string[] AcceptedContentTypes => ContentType.JsonAccept;
+
+ public SupportsContentType SupportsContentType => contentType =>
+ contentType.Value.EndsWith("json", StringComparison.InvariantCultureIgnoreCase) ||
+ contentType.Value.EndsWith("javascript", StringComparison.InvariantCultureIgnoreCase);
+
+ public ContentType ContentType { get; set; } = ContentType.Json;
+
+ public DataFormat DataFormat => DataFormat.Json;
+ }
+ ///
+ /// Provides a default implementation of an Api client (both synchronous and asynchronous implementations),
+ /// encapsulating general REST accessor use cases.
+ ///
+ public partial class ApiClient : ISynchronousClient, IAsynchronousClient
+ {
+ private readonly string _baseUrl;
+
+ ///
+ /// Specifies the settings on a object.
+ /// These settings can be adjusted to accommodate custom serialization rules.
+ ///
+ public JsonSerializerSettings SerializerSettings { get; set; } = new JsonSerializerSettings
+ {
+ // OpenAPI generated types generally hide default constructors.
+ ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor,
+ ContractResolver = new DefaultContractResolver
+ {
+ NamingStrategy = new CamelCaseNamingStrategy
+ {
+ OverrideSpecifiedNames = false
+ }
+ }
+ };
+
+ ///
+ /// Allows for extending request processing for generated code.
+ ///
+ /// The RestSharp request object
+ partial void InterceptRequest(RestRequest request);
+
+ ///
+ /// Allows for extending response processing for generated code.
+ ///
+ /// The RestSharp request object
+ /// The RestSharp response object
+ partial void InterceptResponse(RestRequest request, RestResponse response);
+
+ ///
+ /// Initializes a new instance of the , defaulting to the global configurations' base url.
+ ///
+ public ApiClient()
+ {
+ _baseUrl = GlobalConfiguration.Instance.BasePath;
+ }
+
+ ///
+ /// Initializes a new instance of the
+ ///
+ /// The target service's base path in URL format.
+ ///
+ public ApiClient(string basePath)
+ {
+ if (string.IsNullOrEmpty(basePath))
+ throw new ArgumentException("basePath cannot be empty");
+
+ _baseUrl = basePath;
+ }
+
+ ///
+ /// Constructs the RestSharp version of an http method
+ ///
+ /// Swagger Client Custom HttpMethod
+ /// RestSharp's HttpMethod instance.
+ ///
+ private RestSharpMethod Method(HttpMethod method)
+ {
+ RestSharpMethod other;
+ switch (method)
+ {
+ case HttpMethod.Get:
+ other = RestSharpMethod.Get;
+ break;
+ case HttpMethod.Post:
+ other = RestSharpMethod.Post;
+ break;
+ case HttpMethod.Put:
+ other = RestSharpMethod.Put;
+ break;
+ case HttpMethod.Delete:
+ other = RestSharpMethod.Delete;
+ break;
+ case HttpMethod.Head:
+ other = RestSharpMethod.Head;
+ break;
+ case HttpMethod.Options:
+ other = RestSharpMethod.Options;
+ break;
+ case HttpMethod.Patch:
+ other = RestSharpMethod.Patch;
+ break;
+ default:
+ throw new ArgumentOutOfRangeException("method", method, null);
+ }
+
+ return other;
+ }
+
+ ///
+ /// Provides all logic for constructing a new RestSharp .
+ /// At this point, all information for querying the service is known.
+ /// Here, it is simply mapped into the RestSharp request.
+ ///
+ /// The http verb.
+ /// The target path (or resource).
+ /// The additional request options.
+ /// A per-request configuration object.
+ /// It is assumed that any merge with GlobalConfiguration has been done before calling this method.
+ /// [private] A new RestRequest instance.
+ ///
+ private RestRequest NewRequest(
+ HttpMethod method,
+ string path,
+ RequestOptions options,
+ IReadableConfiguration configuration)
+ {
+ if (path == null) throw new ArgumentNullException("path");
+ if (options == null) throw new ArgumentNullException("options");
+ if (configuration == null) throw new ArgumentNullException("configuration");
+
+ RestRequest request = new RestRequest(path, Method(method));
+
+ if (options.PathParameters != null)
+ {
+ foreach (var pathParam in options.PathParameters)
+ {
+ request.AddParameter(pathParam.Key, pathParam.Value, ParameterType.UrlSegment);
+ }
+ }
+
+ if (options.QueryParameters != null)
+ {
+ foreach (var queryParam in options.QueryParameters)
+ {
+ foreach (var value in queryParam.Value)
+ {
+ request.AddQueryParameter(queryParam.Key, value);
+ }
+ }
+ }
+
+ if (configuration.DefaultHeaders != null)
+ {
+ foreach (var headerParam in configuration.DefaultHeaders)
+ {
+ request.AddHeader(headerParam.Key, headerParam.Value);
+ }
+ }
+
+ if (options.HeaderParameters != null)
+ {
+ foreach (var headerParam in options.HeaderParameters)
+ {
+ foreach (var value in headerParam.Value)
+ {
+ request.AddHeader(headerParam.Key, value);
+ }
+ }
+ }
+
+ if (options.FormParameters != null)
+ {
+ foreach (var formParam in options.FormParameters)
+ {
+ request.AddParameter(formParam.Key, formParam.Value);
+ }
+ }
+
+ if (options.Data != null)
+ {
+ if (options.Data is Stream stream)
+ {
+ var contentType = "application/octet-stream";
+ if (options.HeaderParameters != null)
+ {
+ var contentTypes = options.HeaderParameters["Content-Type"];
+ contentType = contentTypes[0];
+ }
+
+ var bytes = ClientUtils.ReadAsBytes(stream);
+ request.AddParameter(contentType, bytes, ParameterType.RequestBody);
+ }
+ else
+ {
+ if (options.HeaderParameters != null)
+ {
+ var contentTypes = options.HeaderParameters["Content-Type"];
+ if (contentTypes == null || contentTypes.Any(header => header.Contains("application/json")))
+ {
+ request.RequestFormat = DataFormat.Json;
+ }
+ else
+ {
+ // TODO: Generated client user should add additional handlers. RestSharp only supports XML and JSON, with XML as default.
+ }
+ }
+ else
+ {
+ // Here, we'll assume JSON APIs are more common. XML can be forced by adding produces/consumes to openapi spec explicitly.
+ request.RequestFormat = DataFormat.Json;
+ }
+
+ request.AddJsonBody(options.Data);
+ }
+ }
+
+ if (options.FileParameters != null)
+ {
+ foreach (var fileParam in options.FileParameters)
+ {
+ foreach (var file in fileParam.Value)
+ {
+ var bytes = ClientUtils.ReadAsBytes(file);
+ var fileStream = file as FileStream;
+ if (fileStream != null)
+ request.AddFile(fileParam.Key, bytes, Path.GetFileName(fileStream.Name));
+ else
+ request.AddFile(fileParam.Key, bytes, "no_file_name_provided");
+ }
+ }
+ }
+
+ return request;
+ }
+
+ ///
+ /// Transforms a RestResponse instance into a new ApiResponse instance.
+ /// At this point, we have a concrete http response from the service.
+ /// Here, it is simply mapped into the [public] ApiResponse object.
+ ///
+ /// The RestSharp response object
+ /// A new ApiResponse instance.
+ private ApiResponse ToApiResponse(RestResponse response)
+ {
+ T result = response.Data;
+ string rawContent = response.Content;
+
+ var transformed = new ApiResponse(response.StatusCode, new Multimap(), result, rawContent)
+ {
+ ErrorText = response.ErrorMessage,
+ Cookies = new List()
+ };
+
+ if (response.Headers != null)
+ {
+ foreach (var responseHeader in response.Headers)
+ {
+ transformed.Headers.Add(responseHeader.Name, ClientUtils.ParameterToString(responseHeader.Value));
+ }
+ }
+
+ if (response.ContentHeaders != null)
+ {
+ foreach (var responseHeader in response.ContentHeaders)
+ {
+ transformed.Headers.Add(responseHeader.Name, ClientUtils.ParameterToString(responseHeader.Value));
+ }
+ }
+
+ if (response.Cookies != null)
+ {
+ foreach (var responseCookies in response.Cookies.Cast())
+ {
+ transformed.Cookies.Add(
+ new Cookie(
+ responseCookies.Name,
+ responseCookies.Value,
+ responseCookies.Path,
+ responseCookies.Domain)
+ );
+ }
+ }
+
+ return transformed;
+ }
+
+ ///
+ /// Executes the HTTP request for the current service.
+ /// Based on functions received it can be async or sync.
+ ///
+ /// Local function that executes http request and returns http response.
+ /// Local function to specify options for the service.
+ /// The RestSharp request object
+ /// The RestSharp options object
+ /// A per-request configuration object.
+ /// It is assumed that any merge with GlobalConfiguration has been done before calling this method.
+ /// A new ApiResponse instance.
+ private async Task> ExecClientAsync(Func>> getResponse, Action setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
+ {
+ var baseUrl = configuration.GetOperationServerUrl(options.Operation, options.OperationIndex) ?? _baseUrl;
+ var clientOptions = new RestClientOptions(baseUrl)
+ {
+ ClientCertificates = configuration.ClientCertificates,
+ MaxTimeout = configuration.Timeout,
+ Proxy = configuration.Proxy,
+ UserAgent = configuration.UserAgent,
+ UseDefaultCredentials = configuration.UseDefaultCredentials,
+ RemoteCertificateValidationCallback = configuration.RemoteCertificateValidationCallback
+ };
+ setOptions(clientOptions);
+
+ if (!string.IsNullOrEmpty(configuration.OAuthTokenUrl) &&
+ !string.IsNullOrEmpty(configuration.OAuthClientId) &&
+ !string.IsNullOrEmpty(configuration.OAuthClientSecret) &&
+ configuration.OAuthFlow != null)
+ {
+ clientOptions.Authenticator = new OAuthAuthenticator(
+ configuration.OAuthTokenUrl,
+ configuration.OAuthClientId,
+ configuration.OAuthClientSecret,
+ configuration.OAuthScope,
+ configuration.OAuthFlow,
+ SerializerSettings,
+ configuration);
+ }
+
+ using (RestClient client = new RestClient(clientOptions,
+ configureSerialization: serializerConfig => serializerConfig.UseSerializer(() => new CustomJsonCodec(SerializerSettings, configuration))))
+ {
+ InterceptRequest(request);
+
+ RestResponse response = await getResponse(client);
+
+ // if the response type is oneOf/anyOf, call FromJSON to deserialize the data
+ if (typeof(AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
+ {
+ try
+ {
+ response.Data = (T)typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content });
+ }
+ catch (Exception ex)
+ {
+ throw ex.InnerException != null ? ex.InnerException : ex;
+ }
+ }
+ else if (typeof(T).Name == "Stream") // for binary response
+ {
+ response.Data = (T)(object)new MemoryStream(response.RawBytes);
+ }
+ else if (typeof(T).Name == "Byte[]") // for byte response
+ {
+ response.Data = (T)(object)response.RawBytes;
+ }
+ else if (typeof(T).Name == "String") // for string response
+ {
+ response.Data = (T)(object)response.Content;
+ }
+
+ InterceptResponse(request, response);
+
+ var result = ToApiResponse(response);
+ if (response.ErrorMessage != null)
+ {
+ result.ErrorText = response.ErrorMessage;
+ }
+
+ if (response.Cookies != null && response.Cookies.Count > 0)
+ {
+ if (result.Cookies == null) result.Cookies = new List();
+ foreach (var restResponseCookie in response.Cookies.Cast())
+ {
+ var cookie = new Cookie(
+ restResponseCookie.Name,
+ restResponseCookie.Value,
+ restResponseCookie.Path,
+ restResponseCookie.Domain
+ )
+ {
+ Comment = restResponseCookie.Comment,
+ CommentUri = restResponseCookie.CommentUri,
+ Discard = restResponseCookie.Discard,
+ Expired = restResponseCookie.Expired,
+ Expires = restResponseCookie.Expires,
+ HttpOnly = restResponseCookie.HttpOnly,
+ Port = restResponseCookie.Port,
+ Secure = restResponseCookie.Secure,
+ Version = restResponseCookie.Version
+ };
+
+ result.Cookies.Add(cookie);
+ }
+ }
+ return result;
+ }
+ }
+
+ private RestResponse DeserializeRestResponseFromPolicy(RestClient client, RestRequest request, PolicyResult policyResult)
+ {
+ if (policyResult.Outcome == OutcomeType.Successful)
+ {
+ return client.Deserialize(policyResult.Result);
+ }
+ else
+ {
+ return new RestResponse(request)
+ {
+ ErrorException = policyResult.FinalException
+ };
+ }
+ }
+
+ private ApiResponse Exec(RestRequest request, RequestOptions options, IReadableConfiguration configuration)
+ {
+ Action setOptions = (clientOptions) =>
+ {
+ var cookies = new CookieContainer();
+
+ if (options.Cookies != null && options.Cookies.Count > 0)
+ {
+ foreach (var cookie in options.Cookies)
+ {
+ cookies.Add(new Cookie(cookie.Name, cookie.Value));
+ }
+ }
+ clientOptions.CookieContainer = cookies;
+ };
+
+ Func>> getResponse = (client) =>
+ {
+ if (RetryConfiguration.RetryPolicy != null)
+ {
+ var policy = RetryConfiguration.RetryPolicy;
+ var policyResult = policy.ExecuteAndCapture(() => client.Execute(request));
+ return Task.FromResult(DeserializeRestResponseFromPolicy(client, request, policyResult));
+ }
+ else
+ {
+ return Task.FromResult(client.Execute(request));
+ }
+ };
+
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration).GetAwaiter().GetResult();
+ }
+
+ private Task> ExecAsync(RestRequest request, RequestOptions options, IReadableConfiguration configuration, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ Action setOptions = (clientOptions) =>
+ {
+ //no extra options
+ };
+
+ Func>> getResponse = async (client) =>
+ {
+ if (RetryConfiguration.AsyncRetryPolicy != null)
+ {
+ var policy = RetryConfiguration.AsyncRetryPolicy;
+ var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
+ return DeserializeRestResponseFromPolicy(client, request, policyResult);
+ }
+ else
+ {
+ return await client.ExecuteAsync(request, cancellationToken).ConfigureAwait(false);
+ }
+ };
+
+ return ExecClientAsync(getResponse, setOptions, request, options, configuration);
+ }
+
+ #region IAsynchronousClient
+ ///
+ /// Make a HTTP GET request (async).
+ ///
+ /// The target path (or resource).
+ /// The additional request options.
+ /// A per-request configuration object. It is assumed that any merge with
+ /// GlobalConfiguration has been done before calling this method.
+ /// Token that enables callers to cancel the request.
+ /// A Task containing ApiResponse
+ public Task> GetAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, CancellationToken cancellationToken = default)
+ {
+ var config = configuration ?? GlobalConfiguration.Instance;
+ return ExecAsync(NewRequest(HttpMethod.Get, path, options, config), options, config, cancellationToken);
+ }
+
+ ///
+ /// Make a HTTP POST request (async).
+ ///
+ /// The target path (or resource).
+ /// The additional request options.
+ /// A per-request configuration object. It is assumed that any merge with
+ /// GlobalConfiguration has been done before calling this method.
+ /// Token that enables callers to cancel the request.
+ /// A Task containing ApiResponse
+ public Task> PostAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, CancellationToken cancellationToken = default)
+ {
+ var config = configuration ?? GlobalConfiguration.Instance;
+ return ExecAsync(NewRequest(HttpMethod.Post, path, options, config), options, config, cancellationToken);
+ }
+
+ ///
+ /// Make a HTTP PUT request (async).
+ ///
+ /// The target path (or resource).
+ /// The additional request options.
+ /// A per-request configuration object. It is assumed that any merge with
+ /// GlobalConfiguration has been done before calling this method.
+ /// Token that enables callers to cancel the request.
+ /// A Task containing ApiResponse
+ public Task> PutAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, CancellationToken cancellationToken = default)
+ {
+ var config = configuration ?? GlobalConfiguration.Instance;
+ return ExecAsync(NewRequest(HttpMethod.Put, path, options, config), options, config, cancellationToken);
+ }
+
+ ///
+ /// Make a HTTP DELETE request (async).
+ ///
+ /// The target path (or resource).
+ /// The additional request options.
+ /// A per-request configuration object. It is assumed that any merge with
+ /// GlobalConfiguration has been done before calling this method.
+ /// Token that enables callers to cancel the request.
+ /// A Task containing ApiResponse
+ public Task> DeleteAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, CancellationToken cancellationToken = default)
+ {
+ var config = configuration ?? GlobalConfiguration.Instance;
+ return ExecAsync(NewRequest(HttpMethod.Delete, path, options, config), options, config, cancellationToken);
+ }
+
+ ///
+ /// Make a HTTP HEAD request (async).
+ ///
+ /// The target path (or resource).
+ /// The additional request options.
+ /// A per-request configuration object. It is assumed that any merge with
+ /// GlobalConfiguration has been done before calling this method.
+ /// Token that enables callers to cancel the request.
+ /// A Task containing ApiResponse
+ public Task> HeadAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, CancellationToken cancellationToken = default)
+ {
+ var config = configuration ?? GlobalConfiguration.Instance;
+ return ExecAsync(NewRequest(HttpMethod.Head, path, options, config), options, config, cancellationToken);
+ }
+
+ ///
+ /// Make a HTTP OPTION request (async).
+ ///
+ /// The target path (or resource).
+ /// The additional request options.
+ /// A per-request configuration object. It is assumed that any merge with
+ /// GlobalConfiguration has been done before calling this method.
+ /// Token that enables callers to cancel the request.
+ /// A Task containing ApiResponse
+ public Task> OptionsAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, CancellationToken cancellationToken = default)
+ {
+ var config = configuration ?? GlobalConfiguration.Instance;
+ return ExecAsync(NewRequest(HttpMethod.Options, path, options, config), options, config, cancellationToken);
+ }
+
+ ///
+ /// Make a HTTP PATCH request (async).
+ ///
+ /// The target path (or resource).
+ /// The additional request options.
+ /// A per-request configuration object. It is assumed that any merge with
+ /// GlobalConfiguration has been done before calling this method.
+ /// Token that enables callers to cancel the request.
+ /// A Task containing ApiResponse
+ public Task> PatchAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, CancellationToken cancellationToken = default)
+ {
+ var config = configuration ?? GlobalConfiguration.Instance;
+ return ExecAsync(NewRequest(HttpMethod.Patch, path, options, config), options, config, cancellationToken);
+ }
+ #endregion IAsynchronousClient
+
+ #region ISynchronousClient
+ ///
+ /// Make a HTTP GET request (synchronous).
+ ///
+ /// The target path (or resource).
+ /// The additional request options.
+ /// A per-request configuration object. It is assumed that any merge with
+ /// GlobalConfiguration has been done before calling this method.
+ /// A Task containing ApiResponse
+ public ApiResponse Get(string path, RequestOptions options, IReadableConfiguration configuration = null)
+ {
+ var config = configuration ?? GlobalConfiguration.Instance;
+ return Exec(NewRequest(HttpMethod.Get, path, options, config), options, config);
+ }
+
+ ///
+ /// Make a HTTP POST request (synchronous).
+ ///
+ /// The target path (or resource).
+ /// The additional request options.
+ /// A per-request configuration object. It is assumed that any merge with
+ /// GlobalConfiguration has been done before calling this method.
+ /// A Task containing ApiResponse
+ public ApiResponse Post(string path, RequestOptions options, IReadableConfiguration configuration = null)
+ {
+ var config = configuration ?? GlobalConfiguration.Instance;
+ return Exec(NewRequest(HttpMethod.Post, path, options, config), options, config);
+ }
+
+ ///
+ /// Make a HTTP PUT request (synchronous).
+ ///
+ /// The target path (or resource).
+ /// The additional request options.
+ /// A per-request configuration object. It is assumed that any merge with
+ /// GlobalConfiguration has been done before calling this method.
+ /// A Task containing ApiResponse
+ public ApiResponse Put(string path, RequestOptions options, IReadableConfiguration configuration = null)
+ {
+ var config = configuration ?? GlobalConfiguration.Instance;
+ return Exec(NewRequest(HttpMethod.Put, path, options, config), options, config);
+ }
+
+ ///
+ /// Make a HTTP DELETE request (synchronous).
+ ///
+ /// The target path (or resource).
+ /// The additional request options.
+ /// A per-request configuration object. It is assumed that any merge with
+ /// GlobalConfiguration has been done before calling this method.
+ /// A Task containing ApiResponse
+ public ApiResponse Delete(string path, RequestOptions options, IReadableConfiguration configuration = null)
+ {
+ var config = configuration ?? GlobalConfiguration.Instance;
+ return Exec(NewRequest(HttpMethod.Delete, path, options, config), options, config);
+ }
+
+ ///
+ /// Make a HTTP HEAD request (synchronous).
+ ///
+ /// The target path (or resource).
+ /// The additional request options.
+ /// A per-request configuration object. It is assumed that any merge with
+ /// GlobalConfiguration has been done before calling this method.
+ /// A Task containing ApiResponse
+ public ApiResponse Head(string path, RequestOptions options, IReadableConfiguration configuration = null)
+ {
+ var config = configuration ?? GlobalConfiguration.Instance;
+ return Exec(NewRequest(HttpMethod.Head, path, options, config), options, config);
+ }
+
+ ///
+ /// Make a HTTP OPTION request (synchronous).
+ ///
+ /// The target path (or resource).
+ /// The additional request options.
+ /// A per-request configuration object. It is assumed that any merge with
+ /// GlobalConfiguration has been done before calling this method.
+ /// A Task containing ApiResponse
+ public ApiResponse Options(string path, RequestOptions options, IReadableConfiguration configuration = null)
+ {
+ var config = configuration ?? GlobalConfiguration.Instance;
+ return Exec(NewRequest(HttpMethod.Options, path, options, config), options, config);
+ }
+
+ ///
+ /// Make a HTTP PATCH request (synchronous).
+ ///
+ /// The target path (or resource).
+ /// The additional request options.
+ /// A per-request configuration object. It is assumed that any merge with
+ /// GlobalConfiguration has been done before calling this method.
+ /// A Task containing ApiResponse
+ public ApiResponse Patch(string path, RequestOptions options, IReadableConfiguration configuration = null)
+ {
+ var config = configuration ?? GlobalConfiguration.Instance;
+ return Exec(NewRequest(HttpMethod.Patch, path, options, config), options, config);
+ }
+ #endregion ISynchronousClient
+ }
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Client/ApiResponse.cs b/clients/client/dotnet/src/Ory.Client/Client/ApiResponse.cs
new file mode 100644
index 00000000000..c37f96fc8c1
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Client/ApiResponse.cs
@@ -0,0 +1,167 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections.Generic;
+using System.Net;
+
+namespace Ory.Client.Client
+{
+ ///
+ /// Provides a non-generic contract for the ApiResponse wrapper.
+ ///
+ public interface IApiResponse
+ {
+ ///
+ /// The data type of
+ ///
+ Type ResponseType { get; }
+
+ ///
+ /// The content of this response
+ ///
+ Object Content { get; }
+
+ ///
+ /// Gets or sets the status code (HTTP status code)
+ ///
+ /// The status code.
+ HttpStatusCode StatusCode { get; }
+
+ ///
+ /// Gets or sets the HTTP headers
+ ///
+ /// HTTP headers
+ Multimap Headers { get; }
+
+ ///
+ /// Gets or sets any error text defined by the calling client.
+ ///
+ string ErrorText { get; set; }
+
+ ///
+ /// Gets or sets any cookies passed along on the response.
+ ///
+ List Cookies { get; set; }
+
+ ///
+ /// The raw content of this response
+ ///
+ string RawContent { get; }
+ }
+
+ ///
+ /// API Response
+ ///
+ public class ApiResponse : IApiResponse
+ {
+ #region Properties
+
+ ///
+ /// Gets or sets the status code (HTTP status code)
+ ///
+ /// The status code.
+ public HttpStatusCode StatusCode { get; }
+
+ ///
+ /// Gets or sets the HTTP headers
+ ///
+ /// HTTP headers
+ public Multimap Headers { get; }
+
+ ///
+ /// Gets or sets the data (parsed HTTP body)
+ ///
+ /// The data.
+ public T Data { get; }
+
+ ///
+ /// Gets or sets any error text defined by the calling client.
+ ///
+ public string ErrorText { get; set; }
+
+ ///
+ /// Gets or sets any cookies passed along on the response.
+ ///
+ public List Cookies { get; set; }
+
+ ///
+ /// The content of this response
+ ///
+ public Type ResponseType
+ {
+ get { return typeof(T); }
+ }
+
+ ///
+ /// The data type of
+ ///
+ public object Content
+ {
+ get { return Data; }
+ }
+
+ ///
+ /// The raw content
+ ///
+ public string RawContent { get; }
+
+ #endregion Properties
+
+ #region Constructors
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// HTTP status code.
+ /// HTTP headers.
+ /// Data (parsed HTTP body)
+ /// Raw content.
+ public ApiResponse(HttpStatusCode statusCode, Multimap headers, T data, string rawContent)
+ {
+ StatusCode = statusCode;
+ Headers = headers;
+ Data = data;
+ RawContent = rawContent;
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// HTTP status code.
+ /// HTTP headers.
+ /// Data (parsed HTTP body)
+ public ApiResponse(HttpStatusCode statusCode, Multimap headers, T data) : this(statusCode, headers, data, null)
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// HTTP status code.
+ /// Data (parsed HTTP body)
+ /// Raw content.
+ public ApiResponse(HttpStatusCode statusCode, T data, string rawContent) : this(statusCode, null, data, rawContent)
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// HTTP status code.
+ /// Data (parsed HTTP body)
+ public ApiResponse(HttpStatusCode statusCode, T data) : this(statusCode, data, null)
+ {
+ }
+
+ #endregion Constructors
+ }
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Client/Auth/OAuthAuthenticator.cs b/clients/client/dotnet/src/Ory.Client/Client/Auth/OAuthAuthenticator.cs
new file mode 100644
index 00000000000..c5003c2b474
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Client/Auth/OAuthAuthenticator.cs
@@ -0,0 +1,115 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Threading.Tasks;
+using Newtonsoft.Json;
+using RestSharp;
+using RestSharp.Authenticators;
+
+namespace Ory.Client.Client.Auth
+{
+ ///
+ /// An authenticator for OAuth2 authentication flows
+ ///
+ public class OAuthAuthenticator : AuthenticatorBase
+ {
+ readonly string _tokenUrl;
+ readonly string _clientId;
+ readonly string _clientSecret;
+ readonly string? _scope;
+ readonly string _grantType;
+ readonly JsonSerializerSettings _serializerSettings;
+ readonly IReadableConfiguration _configuration;
+
+ ///
+ /// Initialize the OAuth2 Authenticator
+ ///
+ public OAuthAuthenticator(
+ string tokenUrl,
+ string clientId,
+ string clientSecret,
+ string? scope,
+ OAuthFlow? flow,
+ JsonSerializerSettings serializerSettings,
+ IReadableConfiguration configuration) : base("")
+ {
+ _tokenUrl = tokenUrl;
+ _clientId = clientId;
+ _clientSecret = clientSecret;
+ _scope = scope;
+ _serializerSettings = serializerSettings;
+ _configuration = configuration;
+
+ switch (flow)
+ {
+ /*case OAuthFlow.ACCESS_CODE:
+ _grantType = "authorization_code";
+ break;
+ case OAuthFlow.IMPLICIT:
+ _grantType = "implicit";
+ break;
+ case OAuthFlow.PASSWORD:
+ _grantType = "password";
+ break;*/
+ case OAuthFlow.APPLICATION:
+ _grantType = "client_credentials";
+ break;
+ default:
+ break;
+ }
+ }
+
+ ///
+ /// Creates an authentication parameter from an access token.
+ ///
+ /// Access token to create a parameter from.
+ /// An authentication parameter.
+ protected override async ValueTask GetAuthenticationParameter(string accessToken)
+ {
+ var token = string.IsNullOrEmpty(Token) ? await GetToken().ConfigureAwait(false) : Token;
+ return new HeaderParameter(KnownHeaders.Authorization, token);
+ }
+
+ ///
+ /// Gets the token from the OAuth2 server.
+ ///
+ /// An authentication token.
+ async Task GetToken()
+ {
+ var client = new RestClient(_tokenUrl,
+ configureSerialization: serializerConfig => serializerConfig.UseSerializer(() => new CustomJsonCodec(_serializerSettings, _configuration)));
+
+ var request = new RestRequest()
+ .AddParameter("grant_type", _grantType)
+ .AddParameter("client_id", _clientId)
+ .AddParameter("client_secret", _clientSecret);
+
+ if (!string.IsNullOrEmpty(_scope))
+ {
+ request.AddParameter("scope", _scope);
+ }
+
+ var response = await client.PostAsync(request).ConfigureAwait(false);
+
+ // RFC6749 - token_type is case insensitive.
+ // RFC6750 - In Authorization header Bearer should be capitalized.
+ // Fix the capitalization irrespective of token_type casing.
+ switch (response.TokenType?.ToLower())
+ {
+ case "bearer":
+ return $"Bearer {response.AccessToken}";
+ default:
+ return $"{response.TokenType} {response.AccessToken}";
+ }
+ }
+ }
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Client/Auth/OAuthFlow.cs b/clients/client/dotnet/src/Ory.Client/Client/Auth/OAuthFlow.cs
new file mode 100644
index 00000000000..6094b3de206
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Client/Auth/OAuthFlow.cs
@@ -0,0 +1,28 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+namespace Ory.Client.Client.Auth
+{
+ ///
+ /// Available flows for OAuth2 authentication
+ ///
+ public enum OAuthFlow
+ {
+ /// Authorization code flow
+ ACCESS_CODE,
+ /// Implicit flow
+ IMPLICIT,
+ /// Password flow
+ PASSWORD,
+ /// Client credentials flow
+ APPLICATION
+ }
+}
\ No newline at end of file
diff --git a/clients/client/dotnet/src/Ory.Client/Client/Auth/TokenResponse.cs b/clients/client/dotnet/src/Ory.Client/Client/Auth/TokenResponse.cs
new file mode 100644
index 00000000000..9627be01c27
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Client/Auth/TokenResponse.cs
@@ -0,0 +1,23 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using Newtonsoft.Json;
+
+namespace Ory.Client.Client.Auth
+{
+ class TokenResponse
+ {
+ [JsonProperty("token_type")]
+ public string TokenType { get; set; }
+ [JsonProperty("access_token")]
+ public string AccessToken { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/clients/client/dotnet/src/Ory.Client/Client/Configuration.cs b/clients/client/dotnet/src/Ory.Client/Client/Configuration.cs
new file mode 100644
index 00000000000..186f8aaad16
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Client/Configuration.cs
@@ -0,0 +1,1007 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections.Concurrent;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Reflection;
+using System.Security.Cryptography.X509Certificates;
+using System.Text;
+using System.Net.Http;
+using System.Net.Security;
+using Ory.Client.Client.Auth;
+
+namespace Ory.Client.Client
+{
+ ///
+ /// Represents a set of configuration settings
+ ///
+ public class Configuration : IReadableConfiguration
+ {
+ #region Constants
+
+ ///
+ /// Version of the package.
+ ///
+ /// Version of the package.
+ public const string Version = "1.15.11";
+
+ ///
+ /// Identifier for ISO 8601 DateTime Format
+ ///
+ /// See https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8 for more information.
+ // ReSharper disable once InconsistentNaming
+ public const string ISO8601_DATETIME_FORMAT = "o";
+
+ #endregion Constants
+
+ #region Static Members
+
+ ///
+ /// Default creation of exceptions for a given method name and response object
+ ///
+ public static readonly ExceptionFactory DefaultExceptionFactory = (methodName, response) =>
+ {
+ var status = (int)response.StatusCode;
+ if (status >= 400)
+ {
+ return new ApiException(status,
+ string.Format("Error calling {0}: {1}", methodName, response.RawContent),
+ response.RawContent, response.Headers);
+ }
+ if (status == 0)
+ {
+ return new ApiException(status,
+ string.Format("Error calling {0}: {1}", methodName, response.ErrorText), response.ErrorText);
+ }
+ return null;
+ };
+
+ #endregion Static Members
+
+ #region Private Members
+
+ ///
+ /// Defines the base path of the target API server.
+ /// Example: http://localhost:3000/v1/
+ ///
+ private string _basePath;
+
+ private bool _useDefaultCredentials = false;
+
+ ///
+ /// Gets or sets the API key based on the authentication name.
+ /// This is the key and value comprising the "secret" for accessing an API.
+ ///
+ /// The API key.
+ private IDictionary _apiKey;
+
+ ///
+ /// Gets or sets the prefix (e.g. Token) of the API key based on the authentication name.
+ ///
+ /// The prefix of the API key.
+ private IDictionary _apiKeyPrefix;
+
+ private string _dateTimeFormat = ISO8601_DATETIME_FORMAT;
+ private string _tempFolderPath = Path.GetTempPath();
+
+ ///
+ /// Gets or sets the servers defined in the OpenAPI spec.
+ ///
+ /// The servers
+ private IList> _servers;
+
+ ///
+ /// Gets or sets the operation servers defined in the OpenAPI spec.
+ ///
+ /// The operation servers
+ private IReadOnlyDictionary>> _operationServers;
+
+ #endregion Private Members
+
+ #region Constructors
+
+ ///
+ /// Initializes a new instance of the class
+ ///
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessage("ReSharper", "VirtualMemberCallInConstructor")]
+ public Configuration()
+ {
+ Proxy = null;
+ UserAgent = WebUtility.UrlEncode("OpenAPI-Generator/1.15.11/csharp");
+ BasePath = "https://playground.projects.oryapis.com";
+ DefaultHeaders = new ConcurrentDictionary();
+ ApiKey = new ConcurrentDictionary();
+ ApiKeyPrefix = new ConcurrentDictionary();
+ Servers = new List>()
+ {
+ {
+ new Dictionary {
+ {"url", "https://{project_slug}.projects.oryapis.com"},
+ {"description", "No description provided"},
+ {
+ "variables", new Dictionary {
+ {
+ "project_slug", new Dictionary {
+ {"description", "Your Ory Network Project slug. You can find it in the [Ory Network Console](https://console.ory.sh/projects/current/developers/guides)."},
+ {"default_value", "playground"},
+ }
+ }
+ }
+ }
+ }
+ }
+ };
+ OperationServers = new Dictionary>>()
+ {
+ {
+ "EventsApi.CreateEventStream", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "EventsApi.DeleteEventStream", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "EventsApi.ListEventStreams", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "EventsApi.SetEventStream", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.CreateOrganization", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.CreateProject", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.CreateProjectApiKey", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.DeleteOrganization", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.DeleteProjectApiKey", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.GetOrganization", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.GetProject", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.GetProjectMembers", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.ListOrganizations", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.ListProjectApiKeys", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.ListProjects", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.PatchProject", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.PatchProjectWithRevision", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.PurgeProject", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.RemoveProjectMember", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.SetProject", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "ProjectApi.UpdateOrganization", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "WorkspaceApi.CreateWorkspace", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "WorkspaceApi.CreateWorkspaceApiKey", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "WorkspaceApi.DeleteWorkspaceApiKey", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "WorkspaceApi.GetWorkspace", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "WorkspaceApi.ListWorkspaceApiKeys", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "WorkspaceApi.ListWorkspaceProjects", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "WorkspaceApi.ListWorkspaces", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ {
+ "WorkspaceApi.UpdateWorkspace", new List>
+ {
+ {
+ new Dictionary
+ {
+ {"url", "https://api.console.ory.sh"},
+ {"description", "The Ory Network control plane API which is used to manage your Ory Network projects and workspaces."}
+ }
+ },
+ }
+ },
+ };
+
+ // Setting Timeout has side effects (forces ApiClient creation).
+ Timeout = 100000;
+ }
+
+ ///
+ /// Initializes a new instance of the class
+ ///
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessage("ReSharper", "VirtualMemberCallInConstructor")]
+ public Configuration(
+ IDictionary defaultHeaders,
+ IDictionary apiKey,
+ IDictionary apiKeyPrefix,
+ string basePath = "https://playground.projects.oryapis.com") : this()
+ {
+ if (string.IsNullOrWhiteSpace(basePath))
+ throw new ArgumentException("The provided basePath is invalid.", "basePath");
+ if (defaultHeaders == null)
+ throw new ArgumentNullException("defaultHeaders");
+ if (apiKey == null)
+ throw new ArgumentNullException("apiKey");
+ if (apiKeyPrefix == null)
+ throw new ArgumentNullException("apiKeyPrefix");
+
+ BasePath = basePath;
+
+ foreach (var keyValuePair in defaultHeaders)
+ {
+ DefaultHeaders.Add(keyValuePair);
+ }
+
+ foreach (var keyValuePair in apiKey)
+ {
+ ApiKey.Add(keyValuePair);
+ }
+
+ foreach (var keyValuePair in apiKeyPrefix)
+ {
+ ApiKeyPrefix.Add(keyValuePair);
+ }
+ }
+
+ #endregion Constructors
+
+ #region Properties
+
+ ///
+ /// Gets or sets the base path for API access.
+ ///
+ public virtual string BasePath
+ {
+ get { return _basePath; }
+ set { _basePath = value; }
+ }
+
+ ///
+ /// Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) will be sent along to the server. The default is false.
+ ///
+ public virtual bool UseDefaultCredentials
+ {
+ get { return _useDefaultCredentials; }
+ set { _useDefaultCredentials = value; }
+ }
+
+ ///
+ /// Gets or sets the default header.
+ ///
+ [Obsolete("Use DefaultHeaders instead.")]
+ public virtual IDictionary DefaultHeader
+ {
+ get
+ {
+ return DefaultHeaders;
+ }
+ set
+ {
+ DefaultHeaders = value;
+ }
+ }
+
+ ///
+ /// Gets or sets the default headers.
+ ///
+ public virtual IDictionary DefaultHeaders { get; set; }
+
+ ///
+ /// Gets or sets the HTTP timeout (milliseconds) of ApiClient. Default to 100000 milliseconds.
+ ///
+ public virtual int Timeout { get; set; }
+
+ ///
+ /// Gets or sets the proxy
+ ///
+ /// Proxy.
+ public virtual WebProxy Proxy { get; set; }
+
+ ///
+ /// Gets or sets the HTTP user agent.
+ ///
+ /// Http user agent.
+ public virtual string UserAgent { get; set; }
+
+ ///
+ /// Gets or sets the username (HTTP basic authentication).
+ ///
+ /// The username.
+ public virtual string Username { get; set; }
+
+ ///
+ /// Gets or sets the password (HTTP basic authentication).
+ ///
+ /// The password.
+ public virtual string Password { get; set; }
+
+ ///
+ /// Gets the API key with prefix.
+ ///
+ /// API key identifier (authentication scheme).
+ /// API key with prefix.
+ public string GetApiKeyWithPrefix(string apiKeyIdentifier)
+ {
+ string apiKeyValue;
+ ApiKey.TryGetValue(apiKeyIdentifier, out apiKeyValue);
+ string apiKeyPrefix;
+ if (ApiKeyPrefix.TryGetValue(apiKeyIdentifier, out apiKeyPrefix))
+ {
+ return apiKeyPrefix + " " + apiKeyValue;
+ }
+
+ return apiKeyValue;
+ }
+
+ ///
+ /// Gets or sets certificate collection to be sent with requests.
+ ///
+ /// X509 Certificate collection.
+ public X509CertificateCollection ClientCertificates { get; set; }
+
+ ///
+ /// Gets or sets the access token for OAuth2 authentication.
+ ///
+ /// This helper property simplifies code generation.
+ ///
+ /// The access token.
+ public virtual string AccessToken { get; set; }
+
+ ///
+ /// Gets or sets the token URL for OAuth2 authentication.
+ ///
+ /// The OAuth Token URL.
+ public virtual string OAuthTokenUrl { get; set; }
+
+ ///
+ /// Gets or sets the client ID for OAuth2 authentication.
+ ///
+ /// The OAuth Client ID.
+ public virtual string OAuthClientId { get; set; }
+
+ ///
+ /// Gets or sets the client secret for OAuth2 authentication.
+ ///
+ /// The OAuth Client Secret.
+ public virtual string OAuthClientSecret { get; set; }
+
+ ///
+ /// Gets or sets the client scope for OAuth2 authentication.
+ ///
+ /// The OAuth Client Scope.
+ public virtual string? OAuthScope { get; set; }
+
+ ///
+ /// Gets or sets the flow for OAuth2 authentication.
+ ///
+ /// The OAuth Flow.
+ public virtual OAuthFlow? OAuthFlow { get; set; }
+
+ ///
+ /// Gets or sets the temporary folder path to store the files downloaded from the server.
+ ///
+ /// Folder path.
+ public virtual string TempFolderPath
+ {
+ get { return _tempFolderPath; }
+
+ set
+ {
+ if (string.IsNullOrEmpty(value))
+ {
+ _tempFolderPath = Path.GetTempPath();
+ return;
+ }
+
+ // create the directory if it does not exist
+ if (!Directory.Exists(value))
+ {
+ Directory.CreateDirectory(value);
+ }
+
+ // check if the path contains directory separator at the end
+ if (value[value.Length - 1] == Path.DirectorySeparatorChar)
+ {
+ _tempFolderPath = value;
+ }
+ else
+ {
+ _tempFolderPath = value + Path.DirectorySeparatorChar;
+ }
+ }
+ }
+
+ ///
+ /// Gets or sets the date time format used when serializing in the ApiClient
+ /// By default, it's set to ISO 8601 - "o", for others see:
+ /// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx
+ /// and https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx
+ /// No validation is done to ensure that the string you're providing is valid
+ ///
+ /// The DateTimeFormat string
+ public virtual string DateTimeFormat
+ {
+ get { return _dateTimeFormat; }
+ set
+ {
+ if (string.IsNullOrEmpty(value))
+ {
+ // Never allow a blank or null string, go back to the default
+ _dateTimeFormat = ISO8601_DATETIME_FORMAT;
+ return;
+ }
+
+ // Caution, no validation when you choose date time format other than ISO 8601
+ // Take a look at the above links
+ _dateTimeFormat = value;
+ }
+ }
+
+ ///
+ /// Gets or sets the prefix (e.g. Token) of the API key based on the authentication name.
+ ///
+ /// Whatever you set here will be prepended to the value defined in AddApiKey.
+ ///
+ /// An example invocation here might be:
+ ///
+ /// ApiKeyPrefix["Authorization"] = "Bearer";
+ ///
+ /// … where ApiKey["Authorization"] would then be used to set the value of your bearer token.
+ ///
+ ///
+ /// OAuth2 workflows should set tokens via AccessToken.
+ ///
+ ///
+ /// The prefix of the API key.
+ public virtual IDictionary ApiKeyPrefix
+ {
+ get { return _apiKeyPrefix; }
+ set
+ {
+ if (value == null)
+ {
+ throw new InvalidOperationException("ApiKeyPrefix collection may not be null.");
+ }
+ _apiKeyPrefix = value;
+ }
+ }
+
+ ///
+ /// Gets or sets the API key based on the authentication name.
+ ///
+ /// The API key.
+ public virtual IDictionary ApiKey
+ {
+ get { return _apiKey; }
+ set
+ {
+ if (value == null)
+ {
+ throw new InvalidOperationException("ApiKey collection may not be null.");
+ }
+ _apiKey = value;
+ }
+ }
+
+ ///
+ /// Gets or sets the servers.
+ ///
+ /// The servers.
+ public virtual IList> Servers
+ {
+ get { return _servers; }
+ set
+ {
+ if (value == null)
+ {
+ throw new InvalidOperationException("Servers may not be null.");
+ }
+ _servers = value;
+ }
+ }
+
+ ///
+ /// Gets or sets the operation servers.
+ ///
+ /// The operation servers.
+ public virtual IReadOnlyDictionary>> OperationServers
+ {
+ get { return _operationServers; }
+ set
+ {
+ if (value == null)
+ {
+ throw new InvalidOperationException("Operation servers may not be null.");
+ }
+ _operationServers = value;
+ }
+ }
+
+ ///
+ /// Returns URL based on server settings without providing values
+ /// for the variables
+ ///
+ /// Array index of the server settings.
+ /// The server URL.
+ public string GetServerUrl(int index)
+ {
+ return GetServerUrl(Servers, index, null);
+ }
+
+ ///
+ /// Returns URL based on server settings.
+ ///
+ /// Array index of the server settings.
+ /// Dictionary of the variables and the corresponding values.
+ /// The server URL.
+ public string GetServerUrl(int index, Dictionary inputVariables)
+ {
+ return GetServerUrl(Servers, index, inputVariables);
+ }
+
+ ///
+ /// Returns URL based on operation server settings.
+ ///
+ /// Operation associated with the request path.
+ /// Array index of the server settings.
+ /// The operation server URL.
+ public string GetOperationServerUrl(string operation, int index)
+ {
+ return GetOperationServerUrl(operation, index, null);
+ }
+
+ ///
+ /// Returns URL based on operation server settings.
+ ///
+ /// Operation associated with the request path.
+ /// Array index of the server settings.
+ /// Dictionary of the variables and the corresponding values.
+ /// The operation server URL.
+ public string GetOperationServerUrl(string operation, int index, Dictionary inputVariables)
+ {
+ if (operation != null && OperationServers.TryGetValue(operation, out var operationServer))
+ {
+ return GetServerUrl(operationServer, index, inputVariables);
+ }
+
+ return null;
+ }
+
+ ///
+ /// Returns URL based on server settings.
+ ///
+ /// Dictionary of server settings.
+ /// Array index of the server settings.
+ /// Dictionary of the variables and the corresponding values.
+ /// The server URL.
+ private string GetServerUrl(IList> servers, int index, Dictionary inputVariables)
+ {
+ if (index < 0 || index >= servers.Count)
+ {
+ throw new InvalidOperationException($"Invalid index {index} when selecting the server. Must be less than {servers.Count}.");
+ }
+
+ if (inputVariables == null)
+ {
+ inputVariables = new Dictionary();
+ }
+
+ IReadOnlyDictionary server = servers[index];
+ string url = (string)server["url"];
+
+ if (server.ContainsKey("variables"))
+ {
+ // go through each variable and assign a value
+ foreach (KeyValuePair variable in (IReadOnlyDictionary)server["variables"])
+ {
+
+ IReadOnlyDictionary serverVariables = (IReadOnlyDictionary)(variable.Value);
+
+ if (inputVariables.ContainsKey(variable.Key))
+ {
+ if (((List)serverVariables["enum_values"]).Contains(inputVariables[variable.Key]))
+ {
+ url = url.Replace("{" + variable.Key + "}", inputVariables[variable.Key]);
+ }
+ else
+ {
+ throw new InvalidOperationException($"The variable `{variable.Key}` in the server URL has invalid value #{inputVariables[variable.Key]}. Must be {(List)serverVariables["enum_values"]}");
+ }
+ }
+ else
+ {
+ // use default value
+ url = url.Replace("{" + variable.Key + "}", (string)serverVariables["default_value"]);
+ }
+ }
+ }
+
+ return url;
+ }
+
+ ///
+ /// Gets and Sets the RemoteCertificateValidationCallback
+ ///
+ public RemoteCertificateValidationCallback RemoteCertificateValidationCallback { get; set; }
+
+ #endregion Properties
+
+ #region Methods
+
+ ///
+ /// Returns a string with essential information for debugging.
+ ///
+ public static string ToDebugReport()
+ {
+ string report = "C# SDK (Ory.Client) Debug Report:\n";
+ report += " OS: " + System.Environment.OSVersion + "\n";
+ report += " .NET Framework Version: " + System.Environment.Version + "\n";
+ report += " Version of the API: v1.15.11\n";
+ report += " SDK Package Version: 1.15.11\n";
+
+ return report;
+ }
+
+ ///
+ /// Add Api Key Header.
+ ///
+ /// Api Key name.
+ /// Api Key value.
+ ///
+ public void AddApiKey(string key, string value)
+ {
+ ApiKey[key] = value;
+ }
+
+ ///
+ /// Sets the API key prefix.
+ ///
+ /// Api Key name.
+ /// Api Key value.
+ public void AddApiKeyPrefix(string key, string value)
+ {
+ ApiKeyPrefix[key] = value;
+ }
+
+ #endregion Methods
+
+ #region Static Members
+ ///
+ /// Merge configurations.
+ ///
+ /// First configuration.
+ /// Second configuration.
+ /// Merged configuration.
+ public static IReadableConfiguration MergeConfigurations(IReadableConfiguration first, IReadableConfiguration second)
+ {
+ if (second == null) return first ?? GlobalConfiguration.Instance;
+
+ Dictionary apiKey = first.ApiKey.ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
+ Dictionary apiKeyPrefix = first.ApiKeyPrefix.ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
+ Dictionary defaultHeaders = first.DefaultHeaders.ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
+
+ foreach (var kvp in second.ApiKey) apiKey[kvp.Key] = kvp.Value;
+ foreach (var kvp in second.ApiKeyPrefix) apiKeyPrefix[kvp.Key] = kvp.Value;
+ foreach (var kvp in second.DefaultHeaders) defaultHeaders[kvp.Key] = kvp.Value;
+
+ var config = new Configuration
+ {
+ ApiKey = apiKey,
+ ApiKeyPrefix = apiKeyPrefix,
+ DefaultHeaders = defaultHeaders,
+ BasePath = second.BasePath ?? first.BasePath,
+ Timeout = second.Timeout,
+ Proxy = second.Proxy ?? first.Proxy,
+ UserAgent = second.UserAgent ?? first.UserAgent,
+ Username = second.Username ?? first.Username,
+ Password = second.Password ?? first.Password,
+ AccessToken = second.AccessToken ?? first.AccessToken,
+ OAuthTokenUrl = second.OAuthTokenUrl ?? first.OAuthTokenUrl,
+ OAuthClientId = second.OAuthClientId ?? first.OAuthClientId,
+ OAuthClientSecret = second.OAuthClientSecret ?? first.OAuthClientSecret,
+ OAuthScope = second.OAuthScope ?? first.OAuthScope,
+ OAuthFlow = second.OAuthFlow ?? first.OAuthFlow,
+ TempFolderPath = second.TempFolderPath ?? first.TempFolderPath,
+ DateTimeFormat = second.DateTimeFormat ?? first.DateTimeFormat,
+ ClientCertificates = second.ClientCertificates ?? first.ClientCertificates,
+ UseDefaultCredentials = second.UseDefaultCredentials,
+ RemoteCertificateValidationCallback = second.RemoteCertificateValidationCallback ?? first.RemoteCertificateValidationCallback,
+ };
+ return config;
+ }
+ #endregion Static Members
+ }
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Client/ExceptionFactory.cs b/clients/client/dotnet/src/Ory.Client/Client/ExceptionFactory.cs
new file mode 100644
index 00000000000..f34b770d1c7
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Client/ExceptionFactory.cs
@@ -0,0 +1,23 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+
+namespace Ory.Client.Client
+{
+ ///
+ /// A delegate to ExceptionFactory method
+ ///
+ /// Method name
+ /// Response
+ /// Exceptions
+ public delegate Exception ExceptionFactory(string methodName, IApiResponse response);
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Client/HttpMethod.cs b/clients/client/dotnet/src/Ory.Client/Client/HttpMethod.cs
new file mode 100644
index 00000000000..fe45971a22e
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Client/HttpMethod.cs
@@ -0,0 +1,34 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+namespace Ory.Client.Client
+{
+ ///
+ /// Http methods supported by swagger
+ ///
+ public enum HttpMethod
+ {
+ /// HTTP GET request.
+ Get,
+ /// HTTP POST request.
+ Post,
+ /// HTTP PUT request.
+ Put,
+ /// HTTP DELETE request.
+ Delete,
+ /// HTTP HEAD request.
+ Head,
+ /// HTTP OPTIONS request.
+ Options,
+ /// HTTP PATCH request.
+ Patch
+ }
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Client/IAsynchronousClient.cs b/clients/client/dotnet/src/Ory.Client/Client/IAsynchronousClient.cs
new file mode 100644
index 00000000000..a111a092594
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Client/IAsynchronousClient.cs
@@ -0,0 +1,101 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Threading.Tasks;
+
+namespace Ory.Client.Client
+{
+ ///
+ /// Contract for Asynchronous RESTful API interactions.
+ ///
+ /// This interface allows consumers to provide a custom API accessor client.
+ ///
+ public interface IAsynchronousClient
+ {
+ ///
+ /// Executes a non-blocking call to some using the GET http verb.
+ ///
+ /// The relative path to invoke.
+ /// The request parameters to pass along to the client.
+ /// Per-request configurable settings.
+ /// Cancellation Token to cancel the request.
+ /// The return type.
+ /// A task eventually representing the response data, decorated with
+ Task> GetAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// Executes a non-blocking call to some using the POST http verb.
+ ///
+ /// The relative path to invoke.
+ /// The request parameters to pass along to the client.
+ /// Per-request configurable settings.
+ /// Cancellation Token to cancel the request.
+ /// The return type.
+ /// A task eventually representing the response data, decorated with
+ Task> PostAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// Executes a non-blocking call to some using the PUT http verb.
+ ///
+ /// The relative path to invoke.
+ /// The request parameters to pass along to the client.
+ /// Per-request configurable settings.
+ /// Cancellation Token to cancel the request.
+ /// The return type.
+ /// A task eventually representing the response data, decorated with
+ Task> PutAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// Executes a non-blocking call to some using the DELETE http verb.
+ ///
+ /// The relative path to invoke.
+ /// The request parameters to pass along to the client.
+ /// Per-request configurable settings.
+ /// Cancellation Token to cancel the request.
+ /// The return type.
+ /// A task eventually representing the response data, decorated with
+ Task> DeleteAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// Executes a non-blocking call to some using the HEAD http verb.
+ ///
+ /// The relative path to invoke.
+ /// The request parameters to pass along to the client.
+ /// Per-request configurable settings.
+ /// Cancellation Token to cancel the request.
+ /// The return type.
+ /// A task eventually representing the response data, decorated with
+ Task> HeadAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// Executes a non-blocking call to some using the OPTIONS http verb.
+ ///
+ /// The relative path to invoke.
+ /// The request parameters to pass along to the client.
+ /// Per-request configurable settings.
+ /// Cancellation Token to cancel the request.
+ /// The return type.
+ /// A task eventually representing the response data, decorated with
+ Task> OptionsAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// Executes a non-blocking call to some using the PATCH http verb.
+ ///
+ /// The relative path to invoke.
+ /// The request parameters to pass along to the client.
+ /// Per-request configurable settings.
+ /// Cancellation Token to cancel the request.
+ /// The return type.
+ /// A task eventually representing the response data, decorated with
+ Task> PatchAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+ }
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Client/IReadableConfiguration.cs b/clients/client/dotnet/src/Ory.Client/Client/IReadableConfiguration.cs
new file mode 100644
index 00000000000..88806c11d8a
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Client/IReadableConfiguration.cs
@@ -0,0 +1,173 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections.Generic;
+using System.Net;
+using System.Net.Security;
+using System.Security.Cryptography.X509Certificates;
+using Ory.Client.Client.Auth;
+
+namespace Ory.Client.Client
+{
+ ///
+ /// Represents a readable-only configuration contract.
+ ///
+ public interface IReadableConfiguration
+ {
+ ///
+ /// Gets the access token.
+ ///
+ /// Access token.
+ string AccessToken { get; }
+
+ ///
+ /// Gets the OAuth token URL.
+ ///
+ /// OAuth Token URL.
+ string OAuthTokenUrl { get; }
+
+ ///
+ /// Gets the OAuth client ID.
+ ///
+ /// OAuth Client ID.
+ string OAuthClientId { get; }
+
+ ///
+ /// Gets the OAuth client secret.
+ ///
+ /// OAuth Client Secret.
+ string OAuthClientSecret { get; }
+
+ ///
+ /// Gets the OAuth token scope.
+ ///
+ /// OAuth Token scope.
+ string? OAuthScope { get; }
+
+ ///
+ /// Gets the OAuth flow.
+ ///
+ /// OAuth Flow.
+ OAuthFlow? OAuthFlow { get; }
+
+ ///
+ /// Gets the API key.
+ ///
+ /// API key.
+ IDictionary ApiKey { get; }
+
+ ///
+ /// Gets the API key prefix.
+ ///
+ /// API key prefix.
+ IDictionary ApiKeyPrefix { get; }
+
+ ///
+ /// Gets the base path.
+ ///
+ /// Base path.
+ string BasePath { get; }
+
+ ///
+ /// Gets the date time format.
+ ///
+ /// Date time format.
+ string DateTimeFormat { get; }
+
+ ///
+ /// Gets the default header.
+ ///
+ /// Default header.
+ [Obsolete("Use DefaultHeaders instead.")]
+ IDictionary DefaultHeader { get; }
+
+ ///
+ /// Gets the default headers.
+ ///
+ /// Default headers.
+ IDictionary DefaultHeaders { get; }
+
+ ///
+ /// Gets the temp folder path.
+ ///
+ /// Temp folder path.
+ string TempFolderPath { get; }
+
+ ///
+ /// Gets the HTTP connection timeout (in milliseconds)
+ ///
+ /// HTTP connection timeout.
+ int Timeout { get; }
+
+ ///
+ /// Gets the proxy.
+ ///
+ /// Proxy.
+ WebProxy Proxy { get; }
+
+ ///
+ /// Gets the user agent.
+ ///
+ /// User agent.
+ string UserAgent { get; }
+
+ ///
+ /// Gets the username.
+ ///
+ /// Username.
+ string Username { get; }
+
+ ///
+ /// Gets the password.
+ ///
+ /// Password.
+ string Password { get; }
+
+ ///
+ /// Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) will be sent along to the server. The default is false.
+ ///
+ bool UseDefaultCredentials { get; }
+
+ ///
+ /// Get the servers associated with the operation.
+ ///
+ /// Operation servers.
+ IReadOnlyDictionary>> OperationServers { get; }
+
+ ///
+ /// Gets the API key with prefix.
+ ///
+ /// API key identifier (authentication scheme).
+ /// API key with prefix.
+ string GetApiKeyWithPrefix(string apiKeyIdentifier);
+
+ ///
+ /// Gets the Operation server url at the provided index.
+ ///
+ /// Operation server name.
+ /// Index of the operation server settings.
+ ///
+ string GetOperationServerUrl(string operation, int index);
+
+ ///
+ /// Gets certificate collection to be sent with requests.
+ ///
+ /// X509 Certificate collection.
+ X509CertificateCollection ClientCertificates { get; }
+
+ ///
+ /// Callback function for handling the validation of remote certificates. Useful for certificate pinning and
+ /// overriding certificate errors in the scope of a request.
+ ///
+ RemoteCertificateValidationCallback RemoteCertificateValidationCallback { get; }
+ }
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Client/ISynchronousClient.cs b/clients/client/dotnet/src/Ory.Client/Client/ISynchronousClient.cs
new file mode 100644
index 00000000000..b0aeed1fa26
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Client/ISynchronousClient.cs
@@ -0,0 +1,94 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.IO;
+
+namespace Ory.Client.Client
+{
+ ///
+ /// Contract for Synchronous RESTful API interactions.
+ ///
+ /// This interface allows consumers to provide a custom API accessor client.
+ ///
+ public interface ISynchronousClient
+ {
+ ///
+ /// Executes a blocking call to some using the GET http verb.
+ ///
+ /// The relative path to invoke.
+ /// The request parameters to pass along to the client.
+ /// Per-request configurable settings.
+ /// The return type.
+ /// The response data, decorated with
+ ApiResponse Get(string path, RequestOptions options, IReadableConfiguration configuration = null);
+
+ ///
+ /// Executes a blocking call to some using the POST http verb.
+ ///
+ /// The relative path to invoke.
+ /// The request parameters to pass along to the client.
+ /// Per-request configurable settings.
+ /// The return type.
+ /// The response data, decorated with
+ ApiResponse Post(string path, RequestOptions options, IReadableConfiguration configuration = null);
+
+ ///
+ /// Executes a blocking call to some using the PUT http verb.
+ ///
+ /// The relative path to invoke.
+ /// The request parameters to pass along to the client.
+ /// Per-request configurable settings.
+ /// The return type.
+ /// The response data, decorated with
+ ApiResponse Put(string path, RequestOptions options, IReadableConfiguration configuration = null);
+
+ ///
+ /// Executes a blocking call to some using the DELETE http verb.
+ ///
+ /// The relative path to invoke.
+ /// The request parameters to pass along to the client.
+ /// Per-request configurable settings.
+ /// The return type.
+ /// The response data, decorated with
+ ApiResponse Delete(string path, RequestOptions options, IReadableConfiguration configuration = null);
+
+ ///
+ /// Executes a blocking call to some using the HEAD http verb.
+ ///
+ /// The relative path to invoke.
+ /// The request parameters to pass along to the client.
+ /// Per-request configurable settings.
+ /// The return type.
+ /// The response data, decorated with
+ ApiResponse Head(string path, RequestOptions options, IReadableConfiguration configuration = null);
+
+ ///
+ /// Executes a blocking call to some using the OPTIONS http verb.
+ ///
+ /// The relative path to invoke.
+ /// The request parameters to pass along to the client.
+ /// Per-request configurable settings.
+ /// The return type.
+ /// The response data, decorated with
+ ApiResponse Options(string path, RequestOptions options, IReadableConfiguration configuration = null);
+
+ ///
+ /// Executes a blocking call to some using the PATCH http verb.
+ ///
+ /// The relative path to invoke.
+ /// The request parameters to pass along to the client.
+ /// Per-request configurable settings.
+ /// The return type.
+ /// The response data, decorated with
+ ApiResponse Patch(string path, RequestOptions options, IReadableConfiguration configuration = null);
+ }
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Client/Multimap.cs b/clients/client/dotnet/src/Ory.Client/Client/Multimap.cs
new file mode 100644
index 00000000000..e17427cb617
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Client/Multimap.cs
@@ -0,0 +1,296 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+namespace Ory.Client.Client
+{
+ ///
+ /// A dictionary in which one key has many associated values.
+ ///
+ /// The type of the key
+ /// The type of the value associated with the key.
+ public class Multimap : IDictionary>
+ {
+ #region Private Fields
+
+ private readonly Dictionary> _dictionary;
+
+ #endregion Private Fields
+
+ #region Constructors
+
+ ///
+ /// Empty Constructor.
+ ///
+ public Multimap()
+ {
+ _dictionary = new Dictionary>();
+ }
+
+ ///
+ /// Constructor with comparer.
+ ///
+ ///
+ public Multimap(IEqualityComparer comparer)
+ {
+ _dictionary = new Dictionary>(comparer);
+ }
+
+ #endregion Constructors
+
+ #region Enumerators
+
+ ///
+ /// To get the enumerator.
+ ///
+ /// Enumerator
+ public IEnumerator>> GetEnumerator()
+ {
+ return _dictionary.GetEnumerator();
+ }
+
+ ///
+ /// To get the enumerator.
+ ///
+ /// Enumerator
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return _dictionary.GetEnumerator();
+ }
+
+ #endregion Enumerators
+
+ #region Public Members
+ ///
+ /// Add values to Multimap
+ ///
+ /// Key value pair
+ public void Add(KeyValuePair> item)
+ {
+ if (!TryAdd(item.Key, item.Value))
+ throw new InvalidOperationException("Could not add values to Multimap.");
+ }
+
+ ///
+ /// Add Multimap to Multimap
+ ///
+ /// Multimap
+ public void Add(Multimap multimap)
+ {
+ foreach (var item in multimap)
+ {
+ if (!TryAdd(item.Key, item.Value))
+ throw new InvalidOperationException("Could not add values to Multimap.");
+ }
+ }
+
+ ///
+ /// Clear Multimap
+ ///
+ public void Clear()
+ {
+ _dictionary.Clear();
+ }
+
+ ///
+ /// Determines whether Multimap contains the specified item.
+ ///
+ /// Key value pair
+ /// Method needs to be implemented
+ /// true if the Multimap contains the item; otherwise, false.
+ public bool Contains(KeyValuePair> item)
+ {
+ throw new NotImplementedException();
+ }
+
+ ///
+ /// Copy items of the Multimap to an array,
+ /// starting at a particular array index.
+ ///
+ /// The array that is the destination of the items copied
+ /// from Multimap. The array must have zero-based indexing.
+ /// The zero-based index in array at which copying begins.
+ /// Method needs to be implemented
+ public void CopyTo(KeyValuePair>[] array, int arrayIndex)
+ {
+ throw new NotImplementedException();
+ }
+
+ ///
+ /// Removes the specified item from the Multimap.
+ ///
+ /// Key value pair
+ /// true if the item is successfully removed; otherwise, false.
+ /// Method needs to be implemented
+ public bool Remove(KeyValuePair> item)
+ {
+ throw new NotImplementedException();
+ }
+
+ ///
+ /// Gets the number of items contained in the Multimap.
+ ///
+ public int Count => _dictionary.Count;
+
+ ///
+ /// Gets a value indicating whether the Multimap is read-only.
+ ///
+ public bool IsReadOnly => false;
+
+ ///
+ /// Adds an item with the provided key and value to the Multimap.
+ ///
+ /// The object to use as the key of the item to add.
+ /// The object to use as the value of the item to add.
+ /// Thrown when couldn't add the value to Multimap.
+ public void Add(TKey key, IList value)
+ {
+ if (value != null && value.Count > 0)
+ {
+ if (_dictionary.TryGetValue(key, out var list))
+ {
+ foreach (var k in value) list.Add(k);
+ }
+ else
+ {
+ list = new List(value);
+ if (!TryAdd(key, list))
+ throw new InvalidOperationException("Could not add values to Multimap.");
+ }
+ }
+ }
+
+ ///
+ /// Determines whether the Multimap contains an item with the specified key.
+ ///
+ /// The key to locate in the Multimap.
+ /// true if the Multimap contains an item with
+ /// the key; otherwise, false.
+ public bool ContainsKey(TKey key)
+ {
+ return _dictionary.ContainsKey(key);
+ }
+
+ ///
+ /// Removes item with the specified key from the Multimap.
+ ///
+ /// The key to locate in the Multimap.
+ /// true if the item is successfully removed; otherwise, false.
+ public bool Remove(TKey key)
+ {
+ return TryRemove(key, out var _);
+ }
+
+ ///
+ /// Gets the value associated with the specified key.
+ ///
+ /// The key whose value to get.
+ /// When this method returns, the value associated with the specified key, if the
+ /// key is found; otherwise, the default value for the type of the value parameter.
+ /// This parameter is passed uninitialized.
+ /// true if the object that implements Multimap contains
+ /// an item with the specified key; otherwise, false.
+ public bool TryGetValue(TKey key, out IList value)
+ {
+ return _dictionary.TryGetValue(key, out value);
+ }
+
+ ///
+ /// Gets or sets the item with the specified key.
+ ///
+ /// The key of the item to get or set.
+ /// The value of the specified key.
+ public IList this[TKey key]
+ {
+ get => _dictionary[key];
+ set => _dictionary[key] = value;
+ }
+
+ ///
+ /// Gets a System.Collections.Generic.ICollection containing the keys of the Multimap.
+ ///
+ public ICollection Keys => _dictionary.Keys;
+
+ ///
+ /// Gets a System.Collections.Generic.ICollection containing the values of the Multimap.
+ ///
+ public ICollection> Values => _dictionary.Values;
+
+ ///
+ /// Copy the items of the Multimap to an System.Array,
+ /// starting at a particular System.Array index.
+ ///
+ /// The one-dimensional System.Array that is the destination of the items copied
+ /// from Multimap. The System.Array must have zero-based indexing.
+ /// The zero-based index in array at which copying begins.
+ public void CopyTo(Array array, int index)
+ {
+ ((ICollection)_dictionary).CopyTo(array, index);
+ }
+
+ ///
+ /// Adds an item with the provided key and value to the Multimap.
+ ///
+ /// The object to use as the key of the item to add.
+ /// The object to use as the value of the item to add.
+ /// Thrown when couldn't add value to Multimap.
+ public void Add(TKey key, TValue value)
+ {
+ if (value != null)
+ {
+ if (_dictionary.TryGetValue(key, out var list))
+ {
+ list.Add(value);
+ }
+ else
+ {
+ list = new List { value };
+ if (!TryAdd(key, list))
+ throw new InvalidOperationException("Could not add value to Multimap.");
+ }
+ }
+ }
+
+ #endregion Public Members
+
+ #region Private Members
+
+ /**
+ * Helper method to encapsulate generator differences between dictionary types.
+ */
+ private bool TryRemove(TKey key, out IList value)
+ {
+ _dictionary.TryGetValue(key, out value);
+ return _dictionary.Remove(key);
+ }
+
+ /**
+ * Helper method to encapsulate generator differences between dictionary types.
+ */
+ private bool TryAdd(TKey key, IList value)
+ {
+ try
+ {
+ _dictionary.Add(key, value);
+ }
+ catch (ArgumentException)
+ {
+ return false;
+ }
+
+ return true;
+ }
+ #endregion Private Members
+ }
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Model/AbstractOpenAPISchema.cs b/clients/client/dotnet/src/Ory.Client/Model/AbstractOpenAPISchema.cs
new file mode 100644
index 00000000000..ff1cfab9711
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Model/AbstractOpenAPISchema.cs
@@ -0,0 +1,77 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Serialization;
+
+namespace Ory.Client.Model
+{
+ ///
+ /// Abstract base class for oneOf, anyOf schemas in the OpenAPI specification
+ ///
+ public abstract partial class AbstractOpenAPISchema
+ {
+ ///
+ /// Custom JSON serializer
+ ///
+ static public readonly JsonSerializerSettings SerializerSettings = new JsonSerializerSettings
+ {
+ // OpenAPI generated types generally hide default constructors.
+ ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor,
+ MissingMemberHandling = MissingMemberHandling.Error,
+ ContractResolver = new DefaultContractResolver
+ {
+ NamingStrategy = new CamelCaseNamingStrategy
+ {
+ OverrideSpecifiedNames = false
+ }
+ }
+ };
+
+ ///
+ /// Custom JSON serializer for objects with additional properties
+ ///
+ static public readonly JsonSerializerSettings AdditionalPropertiesSerializerSettings = new JsonSerializerSettings
+ {
+ // OpenAPI generated types generally hide default constructors.
+ ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor,
+ MissingMemberHandling = MissingMemberHandling.Ignore,
+ ContractResolver = new DefaultContractResolver
+ {
+ NamingStrategy = new CamelCaseNamingStrategy
+ {
+ OverrideSpecifiedNames = false
+ }
+ }
+ };
+
+ ///
+ /// Gets or Sets the actual instance
+ ///
+ public abstract Object ActualInstance { get; set; }
+
+ ///
+ /// Gets or Sets IsNullable to indicate whether the instance is nullable
+ ///
+ public bool IsNullable { get; protected set; }
+
+ ///
+ /// Gets or Sets the schema type, which can be either `oneOf` or `anyOf`
+ ///
+ public string SchemaType { get; protected set; }
+
+ ///
+ /// Converts the instance into JSON string.
+ ///
+ public abstract string ToJson();
+ }
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Model/ClientAccountExperienceThemeVariables.cs b/clients/client/dotnet/src/Ory.Client/Model/ClientAccountExperienceThemeVariables.cs
new file mode 100644
index 00000000000..5337ef29fae
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Model/ClientAccountExperienceThemeVariables.cs
@@ -0,0 +1,901 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = Ory.Client.Client.OpenAPIDateConverter;
+
+namespace Ory.Client.Model
+{
+ ///
+ /// ClientAccountExperienceThemeVariables
+ ///
+ [DataContract(Name = "accountExperienceThemeVariables")]
+ public partial class ClientAccountExperienceThemeVariables : IValidatableObject
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// accent.
+ /// bgDefault.
+ /// borderRadiusBranding.
+ /// borderRadiusButtons.
+ /// borderRadiusCards.
+ /// borderRadiusForms.
+ /// borderRadiusGeneral.
+ /// buttonPrimaryBgDefault.
+ /// buttonPrimaryBgDisabled.
+ /// buttonPrimaryBgHover.
+ /// buttonPrimaryBorderDefault.
+ /// buttonPrimaryBorderDisabled.
+ /// buttonPrimaryBorderHover.
+ /// buttonPrimaryFgDefault.
+ /// buttonPrimaryFgDisabled.
+ /// buttonPrimaryFgHover.
+ /// buttonSecondaryBgDefault.
+ /// buttonSecondaryBgDisabled.
+ /// buttonSecondaryBgHover.
+ /// buttonSecondaryBorderDefault.
+ /// buttonSecondaryBorderDisabled.
+ /// buttonSecondaryBorderHover.
+ /// buttonSecondaryFgDefault.
+ /// buttonSecondaryFgDisabled.
+ /// buttonSecondaryFgHover.
+ /// buttonSocialBgDefault.
+ /// buttonSocialBgDisabled.
+ /// buttonSocialBgHover.
+ /// buttonSocialBgProvider.
+ /// buttonSocialBorderDefault.
+ /// buttonSocialBorderDisabled.
+ /// buttonSocialBorderHover.
+ /// buttonSocialBorderProvider.
+ /// buttonSocialFgDefault.
+ /// buttonSocialFgDisabled.
+ /// buttonSocialFgHover.
+ /// buttonSocialFgProvider.
+ /// createdAt.
+ /// dialogBgDefault.
+ /// dialogBgSubtle.
+ /// dialogBorderDefault.
+ /// dialogFgDefault.
+ /// dialogFgMute.
+ /// dialogFgSubtle.
+ /// formsBgDefault.
+ /// formsBgDisabled.
+ /// formsBgHover.
+ /// formsBorderDefault.
+ /// formsBorderDisabled.
+ /// formsBorderError.
+ /// formsBorderFocus.
+ /// formsBorderHover.
+ /// formsBorderSuccess.
+ /// formsBorderWarn.
+ /// formsCheckboxBgChecked.
+ /// formsCheckboxBgDefault.
+ /// formsCheckboxBorderChecked.
+ /// formsCheckboxBorderDefault.
+ /// formsCheckboxFgChecked.
+ /// formsCheckboxFgDefault.
+ /// formsFgDefault.
+ /// formsFgError.
+ /// formsFgMute.
+ /// formsFgSubtle.
+ /// formsFgSuccess.
+ /// formsFgWarn.
+ /// formsRadioBgChecked.
+ /// formsRadioBgDefault.
+ /// formsRadioBorderChecked.
+ /// formsRadioBorderDefault.
+ /// formsRadioFgChecked.
+ /// formsRadioFgDefault.
+ /// formsToggleBgChecked.
+ /// formsToggleBgDefault.
+ /// formsToggleBorderChecked.
+ /// formsToggleBorderDefault.
+ /// formsToggleFgChecked.
+ /// formsToggleFgDefault.
+ /// id.
+ /// linksLinkDefault.
+ /// linksLinkDisabled.
+ /// linksLinkHover.
+ /// linksLinkInvertedDefault.
+ /// linksLinkInvertedHover.
+ /// linksLinkMuteDefault.
+ /// linksLinkMuteHover.
+ /// syntaxSyntax.
+ /// syntaxSyntaxKey.
+ /// syntaxSyntaxNum.
+ /// syntaxSyntaxValue.
+ /// updatedAt.
+ public ClientAccountExperienceThemeVariables(string accent = default(string), string bgDefault = default(string), string borderRadiusBranding = default(string), string borderRadiusButtons = default(string), string borderRadiusCards = default(string), string borderRadiusForms = default(string), string borderRadiusGeneral = default(string), string buttonPrimaryBgDefault = default(string), string buttonPrimaryBgDisabled = default(string), string buttonPrimaryBgHover = default(string), string buttonPrimaryBorderDefault = default(string), string buttonPrimaryBorderDisabled = default(string), string buttonPrimaryBorderHover = default(string), string buttonPrimaryFgDefault = default(string), string buttonPrimaryFgDisabled = default(string), string buttonPrimaryFgHover = default(string), string buttonSecondaryBgDefault = default(string), string buttonSecondaryBgDisabled = default(string), string buttonSecondaryBgHover = default(string), string buttonSecondaryBorderDefault = default(string), string buttonSecondaryBorderDisabled = default(string), string buttonSecondaryBorderHover = default(string), string buttonSecondaryFgDefault = default(string), string buttonSecondaryFgDisabled = default(string), string buttonSecondaryFgHover = default(string), string buttonSocialBgDefault = default(string), string buttonSocialBgDisabled = default(string), string buttonSocialBgHover = default(string), string buttonSocialBgProvider = default(string), string buttonSocialBorderDefault = default(string), string buttonSocialBorderDisabled = default(string), string buttonSocialBorderHover = default(string), string buttonSocialBorderProvider = default(string), string buttonSocialFgDefault = default(string), string buttonSocialFgDisabled = default(string), string buttonSocialFgHover = default(string), string buttonSocialFgProvider = default(string), DateTime createdAt = default(DateTime), string dialogBgDefault = default(string), string dialogBgSubtle = default(string), string dialogBorderDefault = default(string), string dialogFgDefault = default(string), string dialogFgMute = default(string), string dialogFgSubtle = default(string), string formsBgDefault = default(string), string formsBgDisabled = default(string), string formsBgHover = default(string), string formsBorderDefault = default(string), string formsBorderDisabled = default(string), string formsBorderError = default(string), string formsBorderFocus = default(string), string formsBorderHover = default(string), string formsBorderSuccess = default(string), string formsBorderWarn = default(string), string formsCheckboxBgChecked = default(string), string formsCheckboxBgDefault = default(string), string formsCheckboxBorderChecked = default(string), string formsCheckboxBorderDefault = default(string), string formsCheckboxFgChecked = default(string), string formsCheckboxFgDefault = default(string), string formsFgDefault = default(string), string formsFgError = default(string), string formsFgMute = default(string), string formsFgSubtle = default(string), string formsFgSuccess = default(string), string formsFgWarn = default(string), string formsRadioBgChecked = default(string), string formsRadioBgDefault = default(string), string formsRadioBorderChecked = default(string), string formsRadioBorderDefault = default(string), string formsRadioFgChecked = default(string), string formsRadioFgDefault = default(string), string formsToggleBgChecked = default(string), string formsToggleBgDefault = default(string), string formsToggleBorderChecked = default(string), string formsToggleBorderDefault = default(string), string formsToggleFgChecked = default(string), string formsToggleFgDefault = default(string), string id = default(string), string linksLinkDefault = default(string), string linksLinkDisabled = default(string), string linksLinkHover = default(string), string linksLinkInvertedDefault = default(string), string linksLinkInvertedHover = default(string), string linksLinkMuteDefault = default(string), string linksLinkMuteHover = default(string), string syntaxSyntax = default(string), string syntaxSyntaxKey = default(string), string syntaxSyntaxNum = default(string), string syntaxSyntaxValue = default(string), DateTime updatedAt = default(DateTime))
+ {
+ this.Accent = accent;
+ this.BgDefault = bgDefault;
+ this.BorderRadiusBranding = borderRadiusBranding;
+ this.BorderRadiusButtons = borderRadiusButtons;
+ this.BorderRadiusCards = borderRadiusCards;
+ this.BorderRadiusForms = borderRadiusForms;
+ this.BorderRadiusGeneral = borderRadiusGeneral;
+ this.ButtonPrimaryBgDefault = buttonPrimaryBgDefault;
+ this.ButtonPrimaryBgDisabled = buttonPrimaryBgDisabled;
+ this.ButtonPrimaryBgHover = buttonPrimaryBgHover;
+ this.ButtonPrimaryBorderDefault = buttonPrimaryBorderDefault;
+ this.ButtonPrimaryBorderDisabled = buttonPrimaryBorderDisabled;
+ this.ButtonPrimaryBorderHover = buttonPrimaryBorderHover;
+ this.ButtonPrimaryFgDefault = buttonPrimaryFgDefault;
+ this.ButtonPrimaryFgDisabled = buttonPrimaryFgDisabled;
+ this.ButtonPrimaryFgHover = buttonPrimaryFgHover;
+ this.ButtonSecondaryBgDefault = buttonSecondaryBgDefault;
+ this.ButtonSecondaryBgDisabled = buttonSecondaryBgDisabled;
+ this.ButtonSecondaryBgHover = buttonSecondaryBgHover;
+ this.ButtonSecondaryBorderDefault = buttonSecondaryBorderDefault;
+ this.ButtonSecondaryBorderDisabled = buttonSecondaryBorderDisabled;
+ this.ButtonSecondaryBorderHover = buttonSecondaryBorderHover;
+ this.ButtonSecondaryFgDefault = buttonSecondaryFgDefault;
+ this.ButtonSecondaryFgDisabled = buttonSecondaryFgDisabled;
+ this.ButtonSecondaryFgHover = buttonSecondaryFgHover;
+ this.ButtonSocialBgDefault = buttonSocialBgDefault;
+ this.ButtonSocialBgDisabled = buttonSocialBgDisabled;
+ this.ButtonSocialBgHover = buttonSocialBgHover;
+ this.ButtonSocialBgProvider = buttonSocialBgProvider;
+ this.ButtonSocialBorderDefault = buttonSocialBorderDefault;
+ this.ButtonSocialBorderDisabled = buttonSocialBorderDisabled;
+ this.ButtonSocialBorderHover = buttonSocialBorderHover;
+ this.ButtonSocialBorderProvider = buttonSocialBorderProvider;
+ this.ButtonSocialFgDefault = buttonSocialFgDefault;
+ this.ButtonSocialFgDisabled = buttonSocialFgDisabled;
+ this.ButtonSocialFgHover = buttonSocialFgHover;
+ this.ButtonSocialFgProvider = buttonSocialFgProvider;
+ this.CreatedAt = createdAt;
+ this.DialogBgDefault = dialogBgDefault;
+ this.DialogBgSubtle = dialogBgSubtle;
+ this.DialogBorderDefault = dialogBorderDefault;
+ this.DialogFgDefault = dialogFgDefault;
+ this.DialogFgMute = dialogFgMute;
+ this.DialogFgSubtle = dialogFgSubtle;
+ this.FormsBgDefault = formsBgDefault;
+ this.FormsBgDisabled = formsBgDisabled;
+ this.FormsBgHover = formsBgHover;
+ this.FormsBorderDefault = formsBorderDefault;
+ this.FormsBorderDisabled = formsBorderDisabled;
+ this.FormsBorderError = formsBorderError;
+ this.FormsBorderFocus = formsBorderFocus;
+ this.FormsBorderHover = formsBorderHover;
+ this.FormsBorderSuccess = formsBorderSuccess;
+ this.FormsBorderWarn = formsBorderWarn;
+ this.FormsCheckboxBgChecked = formsCheckboxBgChecked;
+ this.FormsCheckboxBgDefault = formsCheckboxBgDefault;
+ this.FormsCheckboxBorderChecked = formsCheckboxBorderChecked;
+ this.FormsCheckboxBorderDefault = formsCheckboxBorderDefault;
+ this.FormsCheckboxFgChecked = formsCheckboxFgChecked;
+ this.FormsCheckboxFgDefault = formsCheckboxFgDefault;
+ this.FormsFgDefault = formsFgDefault;
+ this.FormsFgError = formsFgError;
+ this.FormsFgMute = formsFgMute;
+ this.FormsFgSubtle = formsFgSubtle;
+ this.FormsFgSuccess = formsFgSuccess;
+ this.FormsFgWarn = formsFgWarn;
+ this.FormsRadioBgChecked = formsRadioBgChecked;
+ this.FormsRadioBgDefault = formsRadioBgDefault;
+ this.FormsRadioBorderChecked = formsRadioBorderChecked;
+ this.FormsRadioBorderDefault = formsRadioBorderDefault;
+ this.FormsRadioFgChecked = formsRadioFgChecked;
+ this.FormsRadioFgDefault = formsRadioFgDefault;
+ this.FormsToggleBgChecked = formsToggleBgChecked;
+ this.FormsToggleBgDefault = formsToggleBgDefault;
+ this.FormsToggleBorderChecked = formsToggleBorderChecked;
+ this.FormsToggleBorderDefault = formsToggleBorderDefault;
+ this.FormsToggleFgChecked = formsToggleFgChecked;
+ this.FormsToggleFgDefault = formsToggleFgDefault;
+ this.Id = id;
+ this.LinksLinkDefault = linksLinkDefault;
+ this.LinksLinkDisabled = linksLinkDisabled;
+ this.LinksLinkHover = linksLinkHover;
+ this.LinksLinkInvertedDefault = linksLinkInvertedDefault;
+ this.LinksLinkInvertedHover = linksLinkInvertedHover;
+ this.LinksLinkMuteDefault = linksLinkMuteDefault;
+ this.LinksLinkMuteHover = linksLinkMuteHover;
+ this.SyntaxSyntax = syntaxSyntax;
+ this.SyntaxSyntaxKey = syntaxSyntaxKey;
+ this.SyntaxSyntaxNum = syntaxSyntaxNum;
+ this.SyntaxSyntaxValue = syntaxSyntaxValue;
+ this.UpdatedAt = updatedAt;
+ this.AdditionalProperties = new Dictionary();
+ }
+
+ ///
+ /// Gets or Sets Accent
+ ///
+ [DataMember(Name = "accent", EmitDefaultValue = false)]
+ public string Accent { get; set; }
+
+ ///
+ /// Gets or Sets BgDefault
+ ///
+ [DataMember(Name = "bg-default", EmitDefaultValue = false)]
+ public string BgDefault { get; set; }
+
+ ///
+ /// Gets or Sets BorderRadiusBranding
+ ///
+ [DataMember(Name = "border-radius-branding", EmitDefaultValue = false)]
+ public string BorderRadiusBranding { get; set; }
+
+ ///
+ /// Gets or Sets BorderRadiusButtons
+ ///
+ [DataMember(Name = "border-radius-buttons", EmitDefaultValue = false)]
+ public string BorderRadiusButtons { get; set; }
+
+ ///
+ /// Gets or Sets BorderRadiusCards
+ ///
+ [DataMember(Name = "border-radius-cards", EmitDefaultValue = false)]
+ public string BorderRadiusCards { get; set; }
+
+ ///
+ /// Gets or Sets BorderRadiusForms
+ ///
+ [DataMember(Name = "border-radius-forms", EmitDefaultValue = false)]
+ public string BorderRadiusForms { get; set; }
+
+ ///
+ /// Gets or Sets BorderRadiusGeneral
+ ///
+ [DataMember(Name = "border-radius-general", EmitDefaultValue = false)]
+ public string BorderRadiusGeneral { get; set; }
+
+ ///
+ /// Gets or Sets ButtonPrimaryBgDefault
+ ///
+ [DataMember(Name = "button-primary-bg-default", EmitDefaultValue = false)]
+ public string ButtonPrimaryBgDefault { get; set; }
+
+ ///
+ /// Gets or Sets ButtonPrimaryBgDisabled
+ ///
+ [DataMember(Name = "button-primary-bg-disabled", EmitDefaultValue = false)]
+ public string ButtonPrimaryBgDisabled { get; set; }
+
+ ///
+ /// Gets or Sets ButtonPrimaryBgHover
+ ///
+ [DataMember(Name = "button-primary-bg-hover", EmitDefaultValue = false)]
+ public string ButtonPrimaryBgHover { get; set; }
+
+ ///
+ /// Gets or Sets ButtonPrimaryBorderDefault
+ ///
+ [DataMember(Name = "button-primary-border-default", EmitDefaultValue = false)]
+ public string ButtonPrimaryBorderDefault { get; set; }
+
+ ///
+ /// Gets or Sets ButtonPrimaryBorderDisabled
+ ///
+ [DataMember(Name = "button-primary-border-disabled", EmitDefaultValue = false)]
+ public string ButtonPrimaryBorderDisabled { get; set; }
+
+ ///
+ /// Gets or Sets ButtonPrimaryBorderHover
+ ///
+ [DataMember(Name = "button-primary-border-hover", EmitDefaultValue = false)]
+ public string ButtonPrimaryBorderHover { get; set; }
+
+ ///
+ /// Gets or Sets ButtonPrimaryFgDefault
+ ///
+ [DataMember(Name = "button-primary-fg-default", EmitDefaultValue = false)]
+ public string ButtonPrimaryFgDefault { get; set; }
+
+ ///
+ /// Gets or Sets ButtonPrimaryFgDisabled
+ ///
+ [DataMember(Name = "button-primary-fg-disabled", EmitDefaultValue = false)]
+ public string ButtonPrimaryFgDisabled { get; set; }
+
+ ///
+ /// Gets or Sets ButtonPrimaryFgHover
+ ///
+ [DataMember(Name = "button-primary-fg-hover", EmitDefaultValue = false)]
+ public string ButtonPrimaryFgHover { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSecondaryBgDefault
+ ///
+ [DataMember(Name = "button-secondary-bg-default", EmitDefaultValue = false)]
+ public string ButtonSecondaryBgDefault { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSecondaryBgDisabled
+ ///
+ [DataMember(Name = "button-secondary-bg-disabled", EmitDefaultValue = false)]
+ public string ButtonSecondaryBgDisabled { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSecondaryBgHover
+ ///
+ [DataMember(Name = "button-secondary-bg-hover", EmitDefaultValue = false)]
+ public string ButtonSecondaryBgHover { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSecondaryBorderDefault
+ ///
+ [DataMember(Name = "button-secondary-border-default", EmitDefaultValue = false)]
+ public string ButtonSecondaryBorderDefault { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSecondaryBorderDisabled
+ ///
+ [DataMember(Name = "button-secondary-border-disabled", EmitDefaultValue = false)]
+ public string ButtonSecondaryBorderDisabled { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSecondaryBorderHover
+ ///
+ [DataMember(Name = "button-secondary-border-hover", EmitDefaultValue = false)]
+ public string ButtonSecondaryBorderHover { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSecondaryFgDefault
+ ///
+ [DataMember(Name = "button-secondary-fg-default", EmitDefaultValue = false)]
+ public string ButtonSecondaryFgDefault { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSecondaryFgDisabled
+ ///
+ [DataMember(Name = "button-secondary-fg-disabled", EmitDefaultValue = false)]
+ public string ButtonSecondaryFgDisabled { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSecondaryFgHover
+ ///
+ [DataMember(Name = "button-secondary-fg-hover", EmitDefaultValue = false)]
+ public string ButtonSecondaryFgHover { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSocialBgDefault
+ ///
+ [DataMember(Name = "button-social-bg-default", EmitDefaultValue = false)]
+ public string ButtonSocialBgDefault { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSocialBgDisabled
+ ///
+ [DataMember(Name = "button-social-bg-disabled", EmitDefaultValue = false)]
+ public string ButtonSocialBgDisabled { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSocialBgHover
+ ///
+ [DataMember(Name = "button-social-bg-hover", EmitDefaultValue = false)]
+ public string ButtonSocialBgHover { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSocialBgProvider
+ ///
+ [DataMember(Name = "button-social-bg-provider", EmitDefaultValue = false)]
+ public string ButtonSocialBgProvider { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSocialBorderDefault
+ ///
+ [DataMember(Name = "button-social-border-default", EmitDefaultValue = false)]
+ public string ButtonSocialBorderDefault { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSocialBorderDisabled
+ ///
+ [DataMember(Name = "button-social-border-disabled", EmitDefaultValue = false)]
+ public string ButtonSocialBorderDisabled { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSocialBorderHover
+ ///
+ [DataMember(Name = "button-social-border-hover", EmitDefaultValue = false)]
+ public string ButtonSocialBorderHover { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSocialBorderProvider
+ ///
+ [DataMember(Name = "button-social-border-provider", EmitDefaultValue = false)]
+ public string ButtonSocialBorderProvider { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSocialFgDefault
+ ///
+ [DataMember(Name = "button-social-fg-default", EmitDefaultValue = false)]
+ public string ButtonSocialFgDefault { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSocialFgDisabled
+ ///
+ [DataMember(Name = "button-social-fg-disabled", EmitDefaultValue = false)]
+ public string ButtonSocialFgDisabled { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSocialFgHover
+ ///
+ [DataMember(Name = "button-social-fg-hover", EmitDefaultValue = false)]
+ public string ButtonSocialFgHover { get; set; }
+
+ ///
+ /// Gets or Sets ButtonSocialFgProvider
+ ///
+ [DataMember(Name = "button-social-fg-provider", EmitDefaultValue = false)]
+ public string ButtonSocialFgProvider { get; set; }
+
+ ///
+ /// Gets or Sets CreatedAt
+ ///
+ [DataMember(Name = "created_at", EmitDefaultValue = false)]
+ public DateTime CreatedAt { get; set; }
+
+ ///
+ /// Gets or Sets DialogBgDefault
+ ///
+ [DataMember(Name = "dialog-bg-default", EmitDefaultValue = false)]
+ public string DialogBgDefault { get; set; }
+
+ ///
+ /// Gets or Sets DialogBgSubtle
+ ///
+ [DataMember(Name = "dialog-bg-subtle", EmitDefaultValue = false)]
+ public string DialogBgSubtle { get; set; }
+
+ ///
+ /// Gets or Sets DialogBorderDefault
+ ///
+ [DataMember(Name = "dialog-border-default", EmitDefaultValue = false)]
+ public string DialogBorderDefault { get; set; }
+
+ ///
+ /// Gets or Sets DialogFgDefault
+ ///
+ [DataMember(Name = "dialog-fg-default", EmitDefaultValue = false)]
+ public string DialogFgDefault { get; set; }
+
+ ///
+ /// Gets or Sets DialogFgMute
+ ///
+ [DataMember(Name = "dialog-fg-mute", EmitDefaultValue = false)]
+ public string DialogFgMute { get; set; }
+
+ ///
+ /// Gets or Sets DialogFgSubtle
+ ///
+ [DataMember(Name = "dialog-fg-subtle", EmitDefaultValue = false)]
+ public string DialogFgSubtle { get; set; }
+
+ ///
+ /// Gets or Sets FormsBgDefault
+ ///
+ [DataMember(Name = "forms-bg-default", EmitDefaultValue = false)]
+ public string FormsBgDefault { get; set; }
+
+ ///
+ /// Gets or Sets FormsBgDisabled
+ ///
+ [DataMember(Name = "forms-bg-disabled", EmitDefaultValue = false)]
+ public string FormsBgDisabled { get; set; }
+
+ ///
+ /// Gets or Sets FormsBgHover
+ ///
+ [DataMember(Name = "forms-bg-hover", EmitDefaultValue = false)]
+ public string FormsBgHover { get; set; }
+
+ ///
+ /// Gets or Sets FormsBorderDefault
+ ///
+ [DataMember(Name = "forms-border-default", EmitDefaultValue = false)]
+ public string FormsBorderDefault { get; set; }
+
+ ///
+ /// Gets or Sets FormsBorderDisabled
+ ///
+ [DataMember(Name = "forms-border-disabled", EmitDefaultValue = false)]
+ public string FormsBorderDisabled { get; set; }
+
+ ///
+ /// Gets or Sets FormsBorderError
+ ///
+ [DataMember(Name = "forms-border-error", EmitDefaultValue = false)]
+ public string FormsBorderError { get; set; }
+
+ ///
+ /// Gets or Sets FormsBorderFocus
+ ///
+ [DataMember(Name = "forms-border-focus", EmitDefaultValue = false)]
+ public string FormsBorderFocus { get; set; }
+
+ ///
+ /// Gets or Sets FormsBorderHover
+ ///
+ [DataMember(Name = "forms-border-hover", EmitDefaultValue = false)]
+ public string FormsBorderHover { get; set; }
+
+ ///
+ /// Gets or Sets FormsBorderSuccess
+ ///
+ [DataMember(Name = "forms-border-success", EmitDefaultValue = false)]
+ public string FormsBorderSuccess { get; set; }
+
+ ///
+ /// Gets or Sets FormsBorderWarn
+ ///
+ [DataMember(Name = "forms-border-warn", EmitDefaultValue = false)]
+ public string FormsBorderWarn { get; set; }
+
+ ///
+ /// Gets or Sets FormsCheckboxBgChecked
+ ///
+ [DataMember(Name = "forms-checkbox-bg-checked", EmitDefaultValue = false)]
+ public string FormsCheckboxBgChecked { get; set; }
+
+ ///
+ /// Gets or Sets FormsCheckboxBgDefault
+ ///
+ [DataMember(Name = "forms-checkbox-bg-default", EmitDefaultValue = false)]
+ public string FormsCheckboxBgDefault { get; set; }
+
+ ///
+ /// Gets or Sets FormsCheckboxBorderChecked
+ ///
+ [DataMember(Name = "forms-checkbox-border-checked", EmitDefaultValue = false)]
+ public string FormsCheckboxBorderChecked { get; set; }
+
+ ///
+ /// Gets or Sets FormsCheckboxBorderDefault
+ ///
+ [DataMember(Name = "forms-checkbox-border-default", EmitDefaultValue = false)]
+ public string FormsCheckboxBorderDefault { get; set; }
+
+ ///
+ /// Gets or Sets FormsCheckboxFgChecked
+ ///
+ [DataMember(Name = "forms-checkbox-fg-checked", EmitDefaultValue = false)]
+ public string FormsCheckboxFgChecked { get; set; }
+
+ ///
+ /// Gets or Sets FormsCheckboxFgDefault
+ ///
+ [DataMember(Name = "forms-checkbox-fg-default", EmitDefaultValue = false)]
+ public string FormsCheckboxFgDefault { get; set; }
+
+ ///
+ /// Gets or Sets FormsFgDefault
+ ///
+ [DataMember(Name = "forms-fg-default", EmitDefaultValue = false)]
+ public string FormsFgDefault { get; set; }
+
+ ///
+ /// Gets or Sets FormsFgError
+ ///
+ [DataMember(Name = "forms-fg-error", EmitDefaultValue = false)]
+ public string FormsFgError { get; set; }
+
+ ///
+ /// Gets or Sets FormsFgMute
+ ///
+ [DataMember(Name = "forms-fg-mute", EmitDefaultValue = false)]
+ public string FormsFgMute { get; set; }
+
+ ///
+ /// Gets or Sets FormsFgSubtle
+ ///
+ [DataMember(Name = "forms-fg-subtle", EmitDefaultValue = false)]
+ public string FormsFgSubtle { get; set; }
+
+ ///
+ /// Gets or Sets FormsFgSuccess
+ ///
+ [DataMember(Name = "forms-fg-success", EmitDefaultValue = false)]
+ public string FormsFgSuccess { get; set; }
+
+ ///
+ /// Gets or Sets FormsFgWarn
+ ///
+ [DataMember(Name = "forms-fg-warn", EmitDefaultValue = false)]
+ public string FormsFgWarn { get; set; }
+
+ ///
+ /// Gets or Sets FormsRadioBgChecked
+ ///
+ [DataMember(Name = "forms-radio-bg-checked", EmitDefaultValue = false)]
+ public string FormsRadioBgChecked { get; set; }
+
+ ///
+ /// Gets or Sets FormsRadioBgDefault
+ ///
+ [DataMember(Name = "forms-radio-bg-default", EmitDefaultValue = false)]
+ public string FormsRadioBgDefault { get; set; }
+
+ ///
+ /// Gets or Sets FormsRadioBorderChecked
+ ///
+ [DataMember(Name = "forms-radio-border-checked", EmitDefaultValue = false)]
+ public string FormsRadioBorderChecked { get; set; }
+
+ ///
+ /// Gets or Sets FormsRadioBorderDefault
+ ///
+ [DataMember(Name = "forms-radio-border-default", EmitDefaultValue = false)]
+ public string FormsRadioBorderDefault { get; set; }
+
+ ///
+ /// Gets or Sets FormsRadioFgChecked
+ ///
+ [DataMember(Name = "forms-radio-fg-checked", EmitDefaultValue = false)]
+ public string FormsRadioFgChecked { get; set; }
+
+ ///
+ /// Gets or Sets FormsRadioFgDefault
+ ///
+ [DataMember(Name = "forms-radio-fg-default", EmitDefaultValue = false)]
+ public string FormsRadioFgDefault { get; set; }
+
+ ///
+ /// Gets or Sets FormsToggleBgChecked
+ ///
+ [DataMember(Name = "forms-toggle-bg-checked", EmitDefaultValue = false)]
+ public string FormsToggleBgChecked { get; set; }
+
+ ///
+ /// Gets or Sets FormsToggleBgDefault
+ ///
+ [DataMember(Name = "forms-toggle-bg-default", EmitDefaultValue = false)]
+ public string FormsToggleBgDefault { get; set; }
+
+ ///
+ /// Gets or Sets FormsToggleBorderChecked
+ ///
+ [DataMember(Name = "forms-toggle-border-checked", EmitDefaultValue = false)]
+ public string FormsToggleBorderChecked { get; set; }
+
+ ///
+ /// Gets or Sets FormsToggleBorderDefault
+ ///
+ [DataMember(Name = "forms-toggle-border-default", EmitDefaultValue = false)]
+ public string FormsToggleBorderDefault { get; set; }
+
+ ///
+ /// Gets or Sets FormsToggleFgChecked
+ ///
+ [DataMember(Name = "forms-toggle-fg-checked", EmitDefaultValue = false)]
+ public string FormsToggleFgChecked { get; set; }
+
+ ///
+ /// Gets or Sets FormsToggleFgDefault
+ ///
+ [DataMember(Name = "forms-toggle-fg-default", EmitDefaultValue = false)]
+ public string FormsToggleFgDefault { get; set; }
+
+ ///
+ /// Gets or Sets Id
+ ///
+ [DataMember(Name = "id", EmitDefaultValue = false)]
+ public string Id { get; set; }
+
+ ///
+ /// Gets or Sets LinksLinkDefault
+ ///
+ [DataMember(Name = "links-link-default", EmitDefaultValue = false)]
+ public string LinksLinkDefault { get; set; }
+
+ ///
+ /// Gets or Sets LinksLinkDisabled
+ ///
+ [DataMember(Name = "links-link-disabled", EmitDefaultValue = false)]
+ public string LinksLinkDisabled { get; set; }
+
+ ///
+ /// Gets or Sets LinksLinkHover
+ ///
+ [DataMember(Name = "links-link-hover", EmitDefaultValue = false)]
+ public string LinksLinkHover { get; set; }
+
+ ///
+ /// Gets or Sets LinksLinkInvertedDefault
+ ///
+ [DataMember(Name = "links-link-inverted-default", EmitDefaultValue = false)]
+ public string LinksLinkInvertedDefault { get; set; }
+
+ ///
+ /// Gets or Sets LinksLinkInvertedHover
+ ///
+ [DataMember(Name = "links-link-inverted-hover", EmitDefaultValue = false)]
+ public string LinksLinkInvertedHover { get; set; }
+
+ ///
+ /// Gets or Sets LinksLinkMuteDefault
+ ///
+ [DataMember(Name = "links-link-mute-default", EmitDefaultValue = false)]
+ public string LinksLinkMuteDefault { get; set; }
+
+ ///
+ /// Gets or Sets LinksLinkMuteHover
+ ///
+ [DataMember(Name = "links-link-mute-hover", EmitDefaultValue = false)]
+ public string LinksLinkMuteHover { get; set; }
+
+ ///
+ /// Gets or Sets SyntaxSyntax
+ ///
+ [DataMember(Name = "syntax-syntax", EmitDefaultValue = false)]
+ public string SyntaxSyntax { get; set; }
+
+ ///
+ /// Gets or Sets SyntaxSyntaxKey
+ ///
+ [DataMember(Name = "syntax-syntax-key", EmitDefaultValue = false)]
+ public string SyntaxSyntaxKey { get; set; }
+
+ ///
+ /// Gets or Sets SyntaxSyntaxNum
+ ///
+ [DataMember(Name = "syntax-syntax-num", EmitDefaultValue = false)]
+ public string SyntaxSyntaxNum { get; set; }
+
+ ///
+ /// Gets or Sets SyntaxSyntaxValue
+ ///
+ [DataMember(Name = "syntax-syntax-value", EmitDefaultValue = false)]
+ public string SyntaxSyntaxValue { get; set; }
+
+ ///
+ /// Gets or Sets UpdatedAt
+ ///
+ [DataMember(Name = "updated_at", EmitDefaultValue = false)]
+ public DateTime UpdatedAt { get; set; }
+
+ ///
+ /// Gets or Sets additional properties
+ ///
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class ClientAccountExperienceThemeVariables {\n");
+ sb.Append(" Accent: ").Append(Accent).Append("\n");
+ sb.Append(" BgDefault: ").Append(BgDefault).Append("\n");
+ sb.Append(" BorderRadiusBranding: ").Append(BorderRadiusBranding).Append("\n");
+ sb.Append(" BorderRadiusButtons: ").Append(BorderRadiusButtons).Append("\n");
+ sb.Append(" BorderRadiusCards: ").Append(BorderRadiusCards).Append("\n");
+ sb.Append(" BorderRadiusForms: ").Append(BorderRadiusForms).Append("\n");
+ sb.Append(" BorderRadiusGeneral: ").Append(BorderRadiusGeneral).Append("\n");
+ sb.Append(" ButtonPrimaryBgDefault: ").Append(ButtonPrimaryBgDefault).Append("\n");
+ sb.Append(" ButtonPrimaryBgDisabled: ").Append(ButtonPrimaryBgDisabled).Append("\n");
+ sb.Append(" ButtonPrimaryBgHover: ").Append(ButtonPrimaryBgHover).Append("\n");
+ sb.Append(" ButtonPrimaryBorderDefault: ").Append(ButtonPrimaryBorderDefault).Append("\n");
+ sb.Append(" ButtonPrimaryBorderDisabled: ").Append(ButtonPrimaryBorderDisabled).Append("\n");
+ sb.Append(" ButtonPrimaryBorderHover: ").Append(ButtonPrimaryBorderHover).Append("\n");
+ sb.Append(" ButtonPrimaryFgDefault: ").Append(ButtonPrimaryFgDefault).Append("\n");
+ sb.Append(" ButtonPrimaryFgDisabled: ").Append(ButtonPrimaryFgDisabled).Append("\n");
+ sb.Append(" ButtonPrimaryFgHover: ").Append(ButtonPrimaryFgHover).Append("\n");
+ sb.Append(" ButtonSecondaryBgDefault: ").Append(ButtonSecondaryBgDefault).Append("\n");
+ sb.Append(" ButtonSecondaryBgDisabled: ").Append(ButtonSecondaryBgDisabled).Append("\n");
+ sb.Append(" ButtonSecondaryBgHover: ").Append(ButtonSecondaryBgHover).Append("\n");
+ sb.Append(" ButtonSecondaryBorderDefault: ").Append(ButtonSecondaryBorderDefault).Append("\n");
+ sb.Append(" ButtonSecondaryBorderDisabled: ").Append(ButtonSecondaryBorderDisabled).Append("\n");
+ sb.Append(" ButtonSecondaryBorderHover: ").Append(ButtonSecondaryBorderHover).Append("\n");
+ sb.Append(" ButtonSecondaryFgDefault: ").Append(ButtonSecondaryFgDefault).Append("\n");
+ sb.Append(" ButtonSecondaryFgDisabled: ").Append(ButtonSecondaryFgDisabled).Append("\n");
+ sb.Append(" ButtonSecondaryFgHover: ").Append(ButtonSecondaryFgHover).Append("\n");
+ sb.Append(" ButtonSocialBgDefault: ").Append(ButtonSocialBgDefault).Append("\n");
+ sb.Append(" ButtonSocialBgDisabled: ").Append(ButtonSocialBgDisabled).Append("\n");
+ sb.Append(" ButtonSocialBgHover: ").Append(ButtonSocialBgHover).Append("\n");
+ sb.Append(" ButtonSocialBgProvider: ").Append(ButtonSocialBgProvider).Append("\n");
+ sb.Append(" ButtonSocialBorderDefault: ").Append(ButtonSocialBorderDefault).Append("\n");
+ sb.Append(" ButtonSocialBorderDisabled: ").Append(ButtonSocialBorderDisabled).Append("\n");
+ sb.Append(" ButtonSocialBorderHover: ").Append(ButtonSocialBorderHover).Append("\n");
+ sb.Append(" ButtonSocialBorderProvider: ").Append(ButtonSocialBorderProvider).Append("\n");
+ sb.Append(" ButtonSocialFgDefault: ").Append(ButtonSocialFgDefault).Append("\n");
+ sb.Append(" ButtonSocialFgDisabled: ").Append(ButtonSocialFgDisabled).Append("\n");
+ sb.Append(" ButtonSocialFgHover: ").Append(ButtonSocialFgHover).Append("\n");
+ sb.Append(" ButtonSocialFgProvider: ").Append(ButtonSocialFgProvider).Append("\n");
+ sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n");
+ sb.Append(" DialogBgDefault: ").Append(DialogBgDefault).Append("\n");
+ sb.Append(" DialogBgSubtle: ").Append(DialogBgSubtle).Append("\n");
+ sb.Append(" DialogBorderDefault: ").Append(DialogBorderDefault).Append("\n");
+ sb.Append(" DialogFgDefault: ").Append(DialogFgDefault).Append("\n");
+ sb.Append(" DialogFgMute: ").Append(DialogFgMute).Append("\n");
+ sb.Append(" DialogFgSubtle: ").Append(DialogFgSubtle).Append("\n");
+ sb.Append(" FormsBgDefault: ").Append(FormsBgDefault).Append("\n");
+ sb.Append(" FormsBgDisabled: ").Append(FormsBgDisabled).Append("\n");
+ sb.Append(" FormsBgHover: ").Append(FormsBgHover).Append("\n");
+ sb.Append(" FormsBorderDefault: ").Append(FormsBorderDefault).Append("\n");
+ sb.Append(" FormsBorderDisabled: ").Append(FormsBorderDisabled).Append("\n");
+ sb.Append(" FormsBorderError: ").Append(FormsBorderError).Append("\n");
+ sb.Append(" FormsBorderFocus: ").Append(FormsBorderFocus).Append("\n");
+ sb.Append(" FormsBorderHover: ").Append(FormsBorderHover).Append("\n");
+ sb.Append(" FormsBorderSuccess: ").Append(FormsBorderSuccess).Append("\n");
+ sb.Append(" FormsBorderWarn: ").Append(FormsBorderWarn).Append("\n");
+ sb.Append(" FormsCheckboxBgChecked: ").Append(FormsCheckboxBgChecked).Append("\n");
+ sb.Append(" FormsCheckboxBgDefault: ").Append(FormsCheckboxBgDefault).Append("\n");
+ sb.Append(" FormsCheckboxBorderChecked: ").Append(FormsCheckboxBorderChecked).Append("\n");
+ sb.Append(" FormsCheckboxBorderDefault: ").Append(FormsCheckboxBorderDefault).Append("\n");
+ sb.Append(" FormsCheckboxFgChecked: ").Append(FormsCheckboxFgChecked).Append("\n");
+ sb.Append(" FormsCheckboxFgDefault: ").Append(FormsCheckboxFgDefault).Append("\n");
+ sb.Append(" FormsFgDefault: ").Append(FormsFgDefault).Append("\n");
+ sb.Append(" FormsFgError: ").Append(FormsFgError).Append("\n");
+ sb.Append(" FormsFgMute: ").Append(FormsFgMute).Append("\n");
+ sb.Append(" FormsFgSubtle: ").Append(FormsFgSubtle).Append("\n");
+ sb.Append(" FormsFgSuccess: ").Append(FormsFgSuccess).Append("\n");
+ sb.Append(" FormsFgWarn: ").Append(FormsFgWarn).Append("\n");
+ sb.Append(" FormsRadioBgChecked: ").Append(FormsRadioBgChecked).Append("\n");
+ sb.Append(" FormsRadioBgDefault: ").Append(FormsRadioBgDefault).Append("\n");
+ sb.Append(" FormsRadioBorderChecked: ").Append(FormsRadioBorderChecked).Append("\n");
+ sb.Append(" FormsRadioBorderDefault: ").Append(FormsRadioBorderDefault).Append("\n");
+ sb.Append(" FormsRadioFgChecked: ").Append(FormsRadioFgChecked).Append("\n");
+ sb.Append(" FormsRadioFgDefault: ").Append(FormsRadioFgDefault).Append("\n");
+ sb.Append(" FormsToggleBgChecked: ").Append(FormsToggleBgChecked).Append("\n");
+ sb.Append(" FormsToggleBgDefault: ").Append(FormsToggleBgDefault).Append("\n");
+ sb.Append(" FormsToggleBorderChecked: ").Append(FormsToggleBorderChecked).Append("\n");
+ sb.Append(" FormsToggleBorderDefault: ").Append(FormsToggleBorderDefault).Append("\n");
+ sb.Append(" FormsToggleFgChecked: ").Append(FormsToggleFgChecked).Append("\n");
+ sb.Append(" FormsToggleFgDefault: ").Append(FormsToggleFgDefault).Append("\n");
+ sb.Append(" Id: ").Append(Id).Append("\n");
+ sb.Append(" LinksLinkDefault: ").Append(LinksLinkDefault).Append("\n");
+ sb.Append(" LinksLinkDisabled: ").Append(LinksLinkDisabled).Append("\n");
+ sb.Append(" LinksLinkHover: ").Append(LinksLinkHover).Append("\n");
+ sb.Append(" LinksLinkInvertedDefault: ").Append(LinksLinkInvertedDefault).Append("\n");
+ sb.Append(" LinksLinkInvertedHover: ").Append(LinksLinkInvertedHover).Append("\n");
+ sb.Append(" LinksLinkMuteDefault: ").Append(LinksLinkMuteDefault).Append("\n");
+ sb.Append(" LinksLinkMuteHover: ").Append(LinksLinkMuteHover).Append("\n");
+ sb.Append(" SyntaxSyntax: ").Append(SyntaxSyntax).Append("\n");
+ sb.Append(" SyntaxSyntaxKey: ").Append(SyntaxSyntaxKey).Append("\n");
+ sb.Append(" SyntaxSyntaxNum: ").Append(SyntaxSyntaxNum).Append("\n");
+ sb.Append(" SyntaxSyntaxValue: ").Append(SyntaxSyntaxValue).Append("\n");
+ sb.Append(" UpdatedAt: ").Append(UpdatedAt).Append("\n");
+ sb.Append(" AdditionalProperties: ").Append(AdditionalProperties).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ yield break;
+ }
+ }
+
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Model/ClientActiveProjectInConsole.cs b/clients/client/dotnet/src/Ory.Client/Model/ClientActiveProjectInConsole.cs
new file mode 100644
index 00000000000..83584f608d7
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Model/ClientActiveProjectInConsole.cs
@@ -0,0 +1,92 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = Ory.Client.Client.OpenAPIDateConverter;
+
+namespace Ory.Client.Model
+{
+ ///
+ /// The Active Project ID
+ ///
+ [DataContract(Name = "activeProjectInConsole")]
+ public partial class ClientActiveProjectInConsole : IValidatableObject
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The Active Project ID format: uuid.
+ public ClientActiveProjectInConsole(string projectId = default(string))
+ {
+ this.ProjectId = projectId;
+ this.AdditionalProperties = new Dictionary();
+ }
+
+ ///
+ /// The Active Project ID format: uuid
+ ///
+ /// The Active Project ID format: uuid
+ [DataMember(Name = "project_id", EmitDefaultValue = false)]
+ public string ProjectId { get; set; }
+
+ ///
+ /// Gets or Sets additional properties
+ ///
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class ClientActiveProjectInConsole {\n");
+ sb.Append(" ProjectId: ").Append(ProjectId).Append("\n");
+ sb.Append(" AdditionalProperties: ").Append(AdditionalProperties).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ yield break;
+ }
+ }
+
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Model/ClientGetAttributesCountResponse.cs b/clients/client/dotnet/src/Ory.Client/Model/ClientGetAttributesCountResponse.cs
new file mode 100644
index 00000000000..d8d528e1812
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Model/ClientGetAttributesCountResponse.cs
@@ -0,0 +1,99 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = Ory.Client.Client.OpenAPIDateConverter;
+
+namespace Ory.Client.Model
+{
+ ///
+ /// Response of the getAttributesCount endpoint
+ ///
+ [DataContract(Name = "getAttributesCountResponse")]
+ public partial class ClientGetAttributesCountResponse : IValidatableObject
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ public ClientGetAttributesCountResponse()
+ {
+ this.AdditionalProperties = new Dictionary();
+ }
+
+ ///
+ /// The list of data points.
+ ///
+ /// The list of data points.
+ [DataMember(Name = "data", IsRequired = true, EmitDefaultValue = true)]
+ public List Data { get; private set; }
+
+ ///
+ /// Returns false as Data should not be serialized given that it's read-only.
+ ///
+ /// false (boolean)
+ public bool ShouldSerializeData()
+ {
+ return false;
+ }
+ ///
+ /// Gets or Sets additional properties
+ ///
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class ClientGetAttributesCountResponse {\n");
+ sb.Append(" Data: ").Append(Data).Append("\n");
+ sb.Append(" AdditionalProperties: ").Append(AdditionalProperties).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ yield break;
+ }
+ }
+
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Model/ClientGetMetricsEventAttributesResponse.cs b/clients/client/dotnet/src/Ory.Client/Model/ClientGetMetricsEventAttributesResponse.cs
new file mode 100644
index 00000000000..545ccc98ea0
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Model/ClientGetMetricsEventAttributesResponse.cs
@@ -0,0 +1,99 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = Ory.Client.Client.OpenAPIDateConverter;
+
+namespace Ory.Client.Model
+{
+ ///
+ /// Response of the getMetricsEventAttributes endpoint
+ ///
+ [DataContract(Name = "getMetricsEventAttributesResponse")]
+ public partial class ClientGetMetricsEventAttributesResponse : IValidatableObject
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ public ClientGetMetricsEventAttributesResponse()
+ {
+ this.AdditionalProperties = new Dictionary();
+ }
+
+ ///
+ /// The list of data points.
+ ///
+ /// The list of data points.
+ [DataMember(Name = "events", IsRequired = true, EmitDefaultValue = true)]
+ public List Events { get; private set; }
+
+ ///
+ /// Returns false as Events should not be serialized given that it's read-only.
+ ///
+ /// false (boolean)
+ public bool ShouldSerializeEvents()
+ {
+ return false;
+ }
+ ///
+ /// Gets or Sets additional properties
+ ///
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class ClientGetMetricsEventAttributesResponse {\n");
+ sb.Append(" Events: ").Append(Events).Append("\n");
+ sb.Append(" AdditionalProperties: ").Append(AdditionalProperties).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ yield break;
+ }
+ }
+
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Model/ClientGetMetricsEventTypesResponse.cs b/clients/client/dotnet/src/Ory.Client/Model/ClientGetMetricsEventTypesResponse.cs
new file mode 100644
index 00000000000..d84a196ff41
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Model/ClientGetMetricsEventTypesResponse.cs
@@ -0,0 +1,99 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = Ory.Client.Client.OpenAPIDateConverter;
+
+namespace Ory.Client.Model
+{
+ ///
+ /// Response of the getMetricsEventTypes endpoint
+ ///
+ [DataContract(Name = "getMetricsEventTypesResponse")]
+ public partial class ClientGetMetricsEventTypesResponse : IValidatableObject
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ public ClientGetMetricsEventTypesResponse()
+ {
+ this.AdditionalProperties = new Dictionary();
+ }
+
+ ///
+ /// The list of data points.
+ ///
+ /// The list of data points.
+ [DataMember(Name = "events", IsRequired = true, EmitDefaultValue = true)]
+ public List Events { get; private set; }
+
+ ///
+ /// Returns false as Events should not be serialized given that it's read-only.
+ ///
+ /// false (boolean)
+ public bool ShouldSerializeEvents()
+ {
+ return false;
+ }
+ ///
+ /// Gets or Sets additional properties
+ ///
+ [JsonExtensionData]
+ public IDictionary AdditionalProperties { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class ClientGetMetricsEventTypesResponse {\n");
+ sb.Append(" Events: ").Append(Events).Append("\n");
+ sb.Append(" AdditionalProperties: ").Append(AdditionalProperties).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ yield break;
+ }
+ }
+
+}
diff --git a/clients/client/dotnet/src/Ory.Client/Model/ClientGetProjectEventsResponse.cs b/clients/client/dotnet/src/Ory.Client/Model/ClientGetProjectEventsResponse.cs
new file mode 100644
index 00000000000..2fcf518195a
--- /dev/null
+++ b/clients/client/dotnet/src/Ory.Client/Model/ClientGetProjectEventsResponse.cs
@@ -0,0 +1,115 @@
+/*
+ * Ory APIs
+ *
+ * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | - -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
+ *
+ * The version of the OpenAPI document: v1.15.11
+ * Contact: support@ory.sh
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = Ory.Client.Client.OpenAPIDateConverter;
+
+namespace Ory.Client.Model
+{
+ ///
+ /// Response of the getProjectEvents endpoint
+ ///
+ [DataContract(Name = "getProjectEventsResponse")]
+ public partial class ClientGetProjectEventsResponse : IValidatableObject
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ public ClientGetProjectEventsResponse()
+ {
+ this.AdditionalProperties = new Dictionary();
+ }
+
+ ///
+ /// The list of data points.
+ ///
+ /// The list of data points.
+ [DataMember(Name = "events", IsRequired = true, EmitDefaultValue = true)]
+ public List Events { get; private set; }
+
+ ///