diff --git a/.fern/replay.lock b/.fern/replay.lock
index 3c9b19be..9211c5e1 100644
--- a/.fern/replay.lock
+++ b/.fern/replay.lock
@@ -12,5 +12,212 @@ generations:
cli_version: unknown
generator_versions:
fernapi/fern-python-sdk: 5.26.0
-current_generation: ca6941ebe04b306e94f3315865d5fd06e3b2f233
-patches: []
+ - commit_sha: d7e4c8ee149b6258a80294bd300319db9d4114b8
+ tree_hash: 05e0424e675918d4726c3a8a902828ff8a88d09b
+ timestamp: 2026-10-27T05:48:21.079Z
+ cli_version: unknown
+ generator_versions:
+ fernapi/fern-python-sdk: 5.26.0
+current_generation: d7e4c8ee149b6258a80294bd300319db9d4114b8
+patches:
+ - id: patch-3bac717a
+ content_hash: sha256:f4ad3ba43b0430fa3dfb54bfcf588cb697efe8185eb30350f9955849f831083f
+ original_commit: 3bac717acae703868197afb75fc26d296957a4fd
+ original_message: Restore Auth0 telemetry headers and keep UPGRADING.md (#900)
+ original_author: Kunal Dawar <35455566+developerkunal@users.noreply.github.com>
+ base_generation: d7e4c8ee149b6258a80294bd300319db9d4114b8
+ files:
+ - src/auth0/management/core/client_wrapper.py
+ patch_content: |
+ diff --git a/src/auth0/management/core/client_wrapper.py b/src/auth0/management/core/client_wrapper.py
+ index abce2c81..fd991f52 100644
+ --- a/src/auth0/management/core/client_wrapper.py
+ +++ b/src/auth0/management/core/client_wrapper.py
+ @@ -1,6 +1,11 @@
+ # This file was auto-generated by Fern from our API Definition.
+ +# Modified by Auth0 to use Auth0 telemetry format with dynamic versioning
+
+ +import base64
+ +import platform
+ +import sys
+ import typing
+ +from json import dumps
+
+ import httpx
+ from .http_client import AsyncHttpClient, HttpClient
+ @@ -30,7 +35,18 @@ class BaseClientWrapper:
+ self._logging = logging
+
+ def get_headers(self) -> typing.Dict[str, str]:
+ + py_version = platform.python_version()
+ + version = sys.modules["auth0"].__version__
+ +
+ + auth0_client = dumps({
+ + "name": "auth0-python",
+ + "version": version,
+ + "env": {"python": py_version}
+ + }).encode("utf-8")
+ +
+ headers: typing.Dict[str, str] = {
+ + "User-Agent": f"Python/{py_version}",
+ + "Auth0-Client": base64.b64encode(auth0_client).decode(),
+ **(self.get_custom_headers() or {}),
+ }
+ headers["Authorization"] = f"Bearer {self._get_token()}"
+ theirs_snapshot:
+ src/auth0/management/core/client_wrapper.py: |
+ # This file was auto-generated by Fern from our API Definition.
+ # Modified by Auth0 to use Auth0 telemetry format with dynamic versioning
+
+ import base64
+ import platform
+ import sys
+ import typing
+ from json import dumps
+
+ import httpx
+ from .http_client import AsyncHttpClient, HttpClient
+ from .logging import LogConfig, Logger
+
+
+ class BaseClientWrapper:
+ def __init__(
+ self,
+ *,
+ token: typing.Union[str, typing.Callable[[], str]],
+ headers: typing.Optional[typing.Dict[str, str]] = None,
+ base_url: str,
+ timeout: typing.Optional[float] = None,
+ max_retries: int = 2,
+ stream_reconnection_enabled: typing.Optional[bool] = None,
+ max_stream_reconnection_attempts: typing.Optional[int] = None,
+ logging: typing.Optional[typing.Union[LogConfig, Logger]] = None,
+ ):
+ self._token = token
+ self._headers = headers
+ self._base_url = base_url
+ self._timeout = timeout
+ self._max_retries = max_retries
+ self._stream_reconnection_enabled = stream_reconnection_enabled
+ self._max_stream_reconnection_attempts = max_stream_reconnection_attempts
+ self._logging = logging
+
+ def get_headers(self) -> typing.Dict[str, str]:
+ py_version = platform.python_version()
+ version = sys.modules["auth0"].__version__
+
+ auth0_client = dumps({
+ "name": "auth0-python",
+ "version": version,
+ "env": {"python": py_version}
+ }).encode("utf-8")
+
+ headers: typing.Dict[str, str] = {
+ "User-Agent": f"Python/{py_version}",
+ "Auth0-Client": base64.b64encode(auth0_client).decode(),
+ **(self.get_custom_headers() or {}),
+ }
+ headers["Authorization"] = f"Bearer {self._get_token()}"
+ return headers
+
+ def _get_token(self) -> str:
+ if isinstance(self._token, str):
+ return self._token
+ else:
+ return self._token()
+
+ def get_custom_headers(self) -> typing.Optional[typing.Dict[str, str]]:
+ return self._headers
+
+ def get_base_url(self) -> str:
+ return self._base_url
+
+ def get_timeout(self) -> typing.Optional[float]:
+ return self._timeout
+
+ def get_max_retries(self) -> int:
+ return self._max_retries
+
+ def get_stream_reconnection_enabled(self) -> bool:
+ return self._stream_reconnection_enabled if self._stream_reconnection_enabled is not None else True
+
+ def get_max_stream_reconnection_attempts(self) -> typing.Optional[int]:
+ return self._max_stream_reconnection_attempts
+
+
+ class SyncClientWrapper(BaseClientWrapper):
+ def __init__(
+ self,
+ *,
+ token: typing.Union[str, typing.Callable[[], str]],
+ headers: typing.Optional[typing.Dict[str, str]] = None,
+ base_url: str,
+ timeout: typing.Optional[float] = None,
+ max_retries: int = 2,
+ stream_reconnection_enabled: typing.Optional[bool] = None,
+ max_stream_reconnection_attempts: typing.Optional[int] = None,
+ logging: typing.Optional[typing.Union[LogConfig, Logger]] = None,
+ httpx_client: httpx.Client,
+ ):
+ super().__init__(
+ token=token,
+ headers=headers,
+ base_url=base_url,
+ timeout=timeout,
+ max_retries=max_retries,
+ stream_reconnection_enabled=stream_reconnection_enabled,
+ max_stream_reconnection_attempts=max_stream_reconnection_attempts,
+ logging=logging,
+ )
+ self.httpx_client = HttpClient(
+ httpx_client=httpx_client,
+ base_headers=self.get_headers,
+ base_timeout=self.get_timeout,
+ base_url=self.get_base_url,
+ base_max_retries=self.get_max_retries(),
+ logging_config=self._logging,
+ )
+
+
+ class AsyncClientWrapper(BaseClientWrapper):
+ def __init__(
+ self,
+ *,
+ token: typing.Union[str, typing.Callable[[], str]],
+ headers: typing.Optional[typing.Dict[str, str]] = None,
+ base_url: str,
+ timeout: typing.Optional[float] = None,
+ max_retries: int = 2,
+ stream_reconnection_enabled: typing.Optional[bool] = None,
+ max_stream_reconnection_attempts: typing.Optional[int] = None,
+ logging: typing.Optional[typing.Union[LogConfig, Logger]] = None,
+ async_token: typing.Optional[typing.Callable[[], typing.Awaitable[str]]] = None,
+ httpx_client: httpx.AsyncClient,
+ ):
+ super().__init__(
+ token=token,
+ headers=headers,
+ base_url=base_url,
+ timeout=timeout,
+ max_retries=max_retries,
+ stream_reconnection_enabled=stream_reconnection_enabled,
+ max_stream_reconnection_attempts=max_stream_reconnection_attempts,
+ logging=logging,
+ )
+ self._async_token = async_token
+ self.httpx_client = AsyncHttpClient(
+ httpx_client=httpx_client,
+ base_headers=self.get_headers,
+ base_timeout=self.get_timeout,
+ base_url=self.get_base_url,
+ base_max_retries=self.get_max_retries(),
+ async_base_headers=self.async_get_headers,
+ logging_config=self._logging,
+ )
+
+ async def async_get_headers(self) -> typing.Dict[str, str]:
+ headers = self.get_headers()
+ if self._async_token is not None:
+ token = await self._async_token()
+ headers["Authorization"] = f"Bearer {token}"
+ return headers
diff --git a/reference.md b/reference.md
index 252b9e40..acbedb33 100644
--- a/reference.md
+++ b/reference.md
@@ -13556,6 +13556,14 @@ client.resource_servers.create(
-
+**type:** `typing.Optional[ResourceServerTypeEnum]`
+
+
+
+
+
+-
+
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -14074,6 +14082,14 @@ client.resource_servers.update(
-
+**type:** `typing.Optional[ResourceServerTypeEnum]`
+
+
+
+
+
+-
+
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -18827,6 +18843,243 @@ client.users.update(
+
+
+
+
+client.users.list_consent_signing_keys(...) -> ListUserConsentSigningKeysResponseContent
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve all consent signing keys registered for a user. Returns an empty array when the user has no keys registered.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from auth0.management import Auth0
+from auth0.management.environment import Auth0Environment
+
+client = Auth0(
+ token="",
+ environment=Auth0Environment.DEFAULT,
+)
+
+client.users.list_consent_signing_keys(
+ id="id",
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**id:** `str` — The ID of the user.
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
+
+
+
+
+client.users.get_consent_signing_key(...) -> ConsentSigningKey
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Retrieve a single consent signing key for a user by its key identifier (kid). Returns 404 if the key does not exist.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from auth0.management import Auth0
+from auth0.management.environment import Auth0Environment
+
+client = Auth0(
+ token="",
+ environment=Auth0Environment.DEFAULT,
+)
+
+client.users.get_consent_signing_key(
+ id="id",
+ kid="kid",
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**id:** `str` — The ID of the user.
+
+
+
+
+
+-
+
+**kid:** `str` — The key identifier of the consent signing key.
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
+
+
+
+
+client.users.delete_consent_signing_key(...)
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Remove a single consent signing key for a user by its key identifier (kid). The operation is idempotent and returns 204 whether or not the key existed.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from auth0.management import Auth0
+from auth0.management.environment import Auth0Environment
+
+client = Auth0(
+ token="",
+ environment=Auth0Environment.DEFAULT,
+)
+
+client.users.delete_consent_signing_key(
+ id="id",
+ kid="kid",
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**id:** `str` — The ID of the user.
+
+
+
+
+
+-
+
+**kid:** `str` — The key identifier of the consent signing key.
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
@@ -21074,7 +21327,7 @@ Action to take when a brute force protection threshold is violated.
-
-**max_attempts:** `typing.Optional[int]` — Maximum number of unsuccessful attempts.
+**form_submission_mode:** `typing.Optional[BruteForceProtectionFormSubmissionModeEnum]`
@@ -21082,7 +21335,7 @@ Action to take when a brute force protection threshold is violated.
-
-**form_submission_mode:** `typing.Optional[BruteForceProtectionFormSubmissionModeEnum]`
+**max_attempts:** `typing.Optional[int]` — Maximum number of unsuccessful attempts.
@@ -21293,8 +21546,8 @@ client.attack_protection.captcha.update()
-## AttackProtection CaptchaPolicies
-client.attack_protection.captcha_policies.list() -> ListAttackProtectionCaptchaPoliciesResponseContent
+## AttackProtection PhoneProviderProtection
+client.attack_protection.phone_provider_protection.get() -> GetPhoneProviderProtectionResponseContent
-
@@ -21306,7 +21559,7 @@ client.attack_protection.captcha.update()
-
-Retrieve all CAPTCHA attack protection policies for the tenant, sorted by priority ascending.
+Get the phone provider protection configuration for a tenant.
@@ -21329,7 +21582,7 @@ client = Auth0(
environment=Auth0Environment.DEFAULT,
)
-client.attack_protection.captcha_policies.list()
+client.attack_protection.phone_provider_protection.get()
```
@@ -21357,7 +21610,7 @@ client.attack_protection.captcha_policies.list()
-client.attack_protection.captcha_policies.create(...) -> AttackProtectionCaptchaPolicy
+client.attack_protection.phone_provider_protection.patch(...) -> PatchPhoneProviderProtectionResponseContent
-
@@ -21369,7 +21622,7 @@ client.attack_protection.captcha_policies.list()
-
-Create a new CAPTCHA attack protection policy for the tenant. The maximum number of policies per tenant is determined by the tenant's subscription.
+Update the phone provider protection configuration for a tenant.
@@ -21384,7 +21637,7 @@ Create a new CAPTCHA attack protection policy for the tenant. The maximum number
-
```python
-from auth0.management import Auth0, AttackProtectionCaptchaPolicyMatch, AttackProtectionCaptchaPolicyActionInput
+from auth0.management import Auth0
from auth0.management.environment import Auth0Environment
client = Auth0(
@@ -21392,11 +21645,8 @@ client = Auth0(
environment=Auth0Environment.DEFAULT,
)
-client.attack_protection.captcha_policies.create(
- name="name",
- priority=1,
- match=AttackProtectionCaptchaPolicyMatch(),
- action=AttackProtectionCaptchaPolicyActionInput(),
+client.attack_protection.phone_provider_protection.patch(
+ type="exponential",
)
```
@@ -21413,7 +21663,7 @@ client.attack_protection.captcha_policies.create(
-
-**name:** `str` — Human-readable policy name.
+**type:** `PhoneProviderProtectionBackoffStrategyEnum`
@@ -21421,438 +21671,10 @@ client.attack_protection.captcha_policies.create(
-
-**priority:** `int` — Conflict resolution order. Lower number takes higher precedence. Must be unique per tenant.
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
-
-
-
--
-
-**match:** `AttackProtectionCaptchaPolicyMatch`
-
-
-
-
-
--
-
-**action:** `AttackProtectionCaptchaPolicyActionInput`
-
-
-
-
-
--
-
-**description:** `typing.Optional[str]` — Description of the attack protection policy.
-
-
-
-
-
--
-
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
-
-
-
-
-
-
-
-
-
-
-client.attack_protection.captcha_policies.get(...) -> AttackProtectionCaptchaPolicy
-
--
-
-#### 📝 Description
-
-
--
-
-
--
-
-Retrieve a single CAPTCHA attack protection policy for the tenant by ID.
-
-
-
-
-
-#### 🔌 Usage
-
-
--
-
-
--
-
-```python
-from auth0.management import Auth0
-from auth0.management.environment import Auth0Environment
-
-client = Auth0(
- token="",
- environment=Auth0Environment.DEFAULT,
-)
-
-client.attack_protection.captcha_policies.get(
- id="id",
-)
-
-```
-
-
-
-
-
-#### ⚙️ Parameters
-
-
--
-
-
--
-
-**id:** `str` — ID of the CAPTCHA attack protection policy.
-
-
-
-
-
--
-
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
-
-
-
-
-
-
-
-
-
-
-client.attack_protection.captcha_policies.delete(...)
-
--
-
-#### 📝 Description
-
-
--
-
-
--
-
-Delete a CAPTCHA attack protection policy for the tenant.
-
-
-
-
-
-#### 🔌 Usage
-
-
--
-
-
--
-
-```python
-from auth0.management import Auth0
-from auth0.management.environment import Auth0Environment
-
-client = Auth0(
- token="",
- environment=Auth0Environment.DEFAULT,
-)
-
-client.attack_protection.captcha_policies.delete(
- id="id",
-)
-
-```
-
-
-
-
-
-#### ⚙️ Parameters
-
-
--
-
-
--
-
-**id:** `str` — ID of the CAPTCHA attack protection policy.
-
-
-
-
-
--
-
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
-
-
-
-
-
-
-
-
-
-
-client.attack_protection.captcha_policies.update(...) -> AttackProtectionCaptchaPolicy
-
--
-
-#### 📝 Description
-
-
--
-
-
--
-
-Partially update a CAPTCHA attack protection policy. Only the provided fields are modified. A provided match or action replaces the stored value in full rather than merging with it; within action, a provider secret or API key that is omitted from a provided provider block keeps its stored value.
-
-
-
-
-
-#### 🔌 Usage
-
-
--
-
-
--
-
-```python
-from auth0.management import Auth0
-from auth0.management.environment import Auth0Environment
-
-client = Auth0(
- token="",
- environment=Auth0Environment.DEFAULT,
-)
-
-client.attack_protection.captcha_policies.update(
- id="id",
-)
-
-```
-
-
-
-
-
-#### ⚙️ Parameters
-
-
--
-
-
--
-
-**id:** `str` — ID of the CAPTCHA attack protection policy.
-
-
-
-
-
--
-
-**name:** `typing.Optional[str]` — Human-readable policy name.
-
-
-
-
-
--
-
-**description:** `typing.Optional[str]` — Description of the policy's purpose.
-
-
-
-
-
--
-
-**priority:** `typing.Optional[int]` — Conflict resolution order. Lower number takes higher precedence. Must be unique per tenant.
-
-
-
-
-
--
-
-**match:** `typing.Optional[AttackProtectionCaptchaPolicyMatch]`
-
-
-
-
-
--
-
-**action:** `typing.Optional[AttackProtectionCaptchaPolicyActionInput]`
-
-
-
-
-
--
-
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
-
-
-
-
-
-
-
-
-
-
-## AttackProtection PhoneProviderProtection
-client.attack_protection.phone_provider_protection.get() -> GetPhoneProviderProtectionResponseContent
-
--
-
-#### 📝 Description
-
-
--
-
-
--
-
-Get the phone provider protection configuration for a tenant.
-
-
-
-
-
-#### 🔌 Usage
-
-
--
-
-
--
-
-```python
-from auth0.management import Auth0
-from auth0.management.environment import Auth0Environment
-
-client = Auth0(
- token="",
- environment=Auth0Environment.DEFAULT,
-)
-
-client.attack_protection.phone_provider_protection.get()
-
-```
-
-
-
-
-
-#### ⚙️ Parameters
-
-
--
-
-
--
-
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
-
-
-
-
-
-
-
-
-
-
-client.attack_protection.phone_provider_protection.patch(...) -> PatchPhoneProviderProtectionResponseContent
-
--
-
-#### 📝 Description
-
-
--
-
-
--
-
-Update the phone provider protection configuration for a tenant.
-
-
-
-
-
-#### 🔌 Usage
-
-
--
-
-
--
-
-```python
-from auth0.management import Auth0
-from auth0.management.environment import Auth0Environment
-
-client = Auth0(
- token="",
- environment=Auth0Environment.DEFAULT,
-)
-
-client.attack_protection.phone_provider_protection.patch(
- type="exponential",
-)
-
-```
-
-
-
-
-
-#### ⚙️ Parameters
-
-
--
-
-
--
-
-**type:** `PhoneProviderProtectionBackoffStrategyEnum`
-
-
-
-
-
--
-
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
-
-
-
+
+
@@ -27532,6 +27354,7 @@ client.experimentation.experiments.create(
name="name",
feature_flag_id="feature_flag_id",
authentication_flow="authentication",
+ allocation_strategy="percentage",
)
```
@@ -27572,7 +27395,7 @@ client.experimentation.experiments.create(
-
-**description:** `typing.Optional[str]` — A description of the experiment
+**allocation_strategy:** `AllocationStrategyEnum` — The traffic allocation strategy for this experiment
@@ -27580,7 +27403,7 @@ client.experimentation.experiments.create(
-
-**default_config:** `typing.Optional[DefaultConfigEnum]` — Applies only to Auth0-managed flags. Controls where non-overridden config keys resolve from: 'tenant' inherits the tenant's live config so the experiment overlays only its changes, 'flag' uses the flag's frozen defaults for a complete config. Optional; defaults to 'tenant' when omitted. Rejected for customer-defined flags.
+**description:** `typing.Optional[str]` — A description of the experiment
@@ -27588,7 +27411,7 @@ client.experimentation.experiments.create(
-
-**allocation_strategy:** `typing.Optional[AllocationStrategyEnum]` — The traffic allocation strategy for this experiment
+**default_config:** `typing.Optional[DefaultConfigEnum]` — Applies only to Auth0-managed flags. Controls where non-overridden config keys resolve from: 'tenant' inherits the tenant's live config so the experiment overlays only its changes, 'flag' uses the flag's frozen defaults for a complete config. Optional; defaults to 'tenant' when omitted. Rejected for customer-defined flags.
@@ -28536,6 +28359,7 @@ client.experimentation.segments.list(
from_="from",
take=1,
type="auth0",
+ status="active",
)
```
@@ -28576,6 +28400,14 @@ client.experimentation.segments.list(
-
+**status:** `typing.Optional[SegmentStatusEnum]` — Filter by status. Exact match.
+
+
+
+
+
+-
+
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
diff --git a/src/auth0/management/__init__.py b/src/auth0/management/__init__.py
index 0a3ef6c2..d3b04b38 100644
--- a/src/auth0/management/__init__.py
+++ b/src/auth0/management/__init__.py
@@ -77,10 +77,6 @@
AttackProtectionCaptchaAuthChallengeResponseContent,
AttackProtectionCaptchaFriendlyCaptchaResponseContent,
AttackProtectionCaptchaHcaptchaResponseContent,
- AttackProtectionCaptchaPolicy,
- AttackProtectionCaptchaPolicyAction,
- AttackProtectionCaptchaPolicyActionInput,
- AttackProtectionCaptchaPolicyMatch,
AttackProtectionCaptchaProviderId,
AttackProtectionCaptchaRecaptchaEnterpriseResponseContent,
AttackProtectionCaptchaRecaptchaV2ResponseContent,
@@ -147,19 +143,6 @@
BruteForceProtectionModeEnum,
BruteForceProtectionShieldsEnum,
BulkUpdateAculResponseContent,
- CaptchaActiveProviderEnum,
- CaptchaPolicyActionArkose,
- CaptchaPolicyActionArkoseInput,
- CaptchaPolicyActionAuthChallenge,
- CaptchaPolicyActionFriendlyCaptcha,
- CaptchaPolicyActionFriendlyCaptchaInput,
- CaptchaPolicyActionHcaptcha,
- CaptchaPolicyActionHcaptchaInput,
- CaptchaPolicyActionRecaptchaEnterprise,
- CaptchaPolicyActionRecaptchaEnterpriseInput,
- CaptchaPolicyActionRecaptchaV2,
- CaptchaPolicyActionRecaptchaV2Input,
- CaptchaPolicyActionSimpleCaptcha,
CertificateSubjectDnCredential,
CertificateSubjectDnCredentialTypeEnum,
ChangePasswordTicketIdentity,
@@ -256,6 +239,7 @@
ClientOidcBackchannelLogoutInitiatorsModeEnum,
ClientOidcBackchannelLogoutSessionMetadata,
ClientOidcBackchannelLogoutSettings,
+ ClientOidcSupport,
ClientOidcSupportAllowedScopesEnum,
ClientOidcSupportPatch,
ClientOidcSupportPost,
@@ -361,6 +345,7 @@
ConnectionClientIdOidc,
ConnectionClientIdPaypal,
ConnectionClientIdSalesforce,
+ ConnectionClientIdSamlxaaRequestingApp,
ConnectionClientIdWindowsLive,
ConnectionClientProtocolSaml,
ConnectionClientSecret,
@@ -378,6 +363,7 @@
ConnectionClientSecretOidc,
ConnectionClientSecretPaypal,
ConnectionClientSecretSalesforce,
+ ConnectionClientSecretSamlxaaRequestingApp,
ConnectionClientSecretWindowsLive,
ConnectionCommon,
ConnectionCommunityBaseUrlSalesforce,
@@ -570,6 +556,8 @@
ConnectionOptionsWordpress,
ConnectionOptionsYahoo,
ConnectionOptionsYandex,
+ ConnectionOtpChannelSettings,
+ ConnectionOtpSettings,
ConnectionPasskeyAuthenticationMethod,
ConnectionPasskeyChallengeUiEnum,
ConnectionPasskeyOptions,
@@ -850,6 +838,7 @@
ConnectionsDiscoveryUrl,
ConnectionsMetadata,
ConnectionsOidcMetadata,
+ ConsentSigningKey,
ContentSecurityPolicyConfig,
CreateActionModuleResponseContent,
CreateActionModuleVersionResponseContent,
@@ -1939,6 +1928,10 @@
EventStreamCloudEventContextRequest,
EventStreamCloudEventContextRequestGeo,
EventStreamCloudEventContextTenant,
+ EventStreamCloudEventContextTransaction,
+ EventStreamCloudEventContextTransactionProtocolEnum,
+ EventStreamCloudEventContextTransactionResponseModeEnum,
+ EventStreamCloudEventContextTransactionResponseTypeItemEnum,
EventStreamCloudEventData,
EventStreamCloudEventErrorCodeEnum,
EventStreamCloudEventErrorDetail,
@@ -3291,7 +3284,6 @@
ListAculsOffsetPaginatedResponseContent,
ListAculsResponseContentItem,
ListAgentsResponseContent,
- ListAttackProtectionCaptchaPoliciesResponseContent,
ListBrandingPhoneProvidersResponseContent,
ListClientConnectionsResponseContent,
ListClientGrantOrganizationsPaginatedResponseContent,
@@ -3356,6 +3348,7 @@
ListUserBlocksByIdentifierResponseContent,
ListUserBlocksResponseContent,
ListUserConnectedAccountsResponseContent,
+ ListUserConsentSigningKeysResponseContent,
ListUserEffectivePermissionRoleSourcesResponseContent,
ListUserEffectivePermissionsResponseContent,
ListUserEffectiveRolesResponseContent,
@@ -3574,6 +3567,7 @@
ResourceServerTokenEncryptionAlgorithmEnum,
ResourceServerTokenEncryptionFormatEnum,
ResourceServerTokenEncryptionKey,
+ ResourceServerTypeEnum,
ResourceServerVerificationKeyPemCertificate,
RevokedSigningKeysResponseContent,
Role,
@@ -4080,10 +4074,6 @@
"AttackProtectionCaptchaAuthChallengeResponseContent": ".types",
"AttackProtectionCaptchaFriendlyCaptchaResponseContent": ".types",
"AttackProtectionCaptchaHcaptchaResponseContent": ".types",
- "AttackProtectionCaptchaPolicy": ".types",
- "AttackProtectionCaptchaPolicyAction": ".types",
- "AttackProtectionCaptchaPolicyActionInput": ".types",
- "AttackProtectionCaptchaPolicyMatch": ".types",
"AttackProtectionCaptchaProviderId": ".types",
"AttackProtectionCaptchaRecaptchaEnterpriseResponseContent": ".types",
"AttackProtectionCaptchaRecaptchaV2ResponseContent": ".types",
@@ -4153,19 +4143,6 @@
"BruteForceProtectionModeEnum": ".types",
"BruteForceProtectionShieldsEnum": ".types",
"BulkUpdateAculResponseContent": ".types",
- "CaptchaActiveProviderEnum": ".types",
- "CaptchaPolicyActionArkose": ".types",
- "CaptchaPolicyActionArkoseInput": ".types",
- "CaptchaPolicyActionAuthChallenge": ".types",
- "CaptchaPolicyActionFriendlyCaptcha": ".types",
- "CaptchaPolicyActionFriendlyCaptchaInput": ".types",
- "CaptchaPolicyActionHcaptcha": ".types",
- "CaptchaPolicyActionHcaptchaInput": ".types",
- "CaptchaPolicyActionRecaptchaEnterprise": ".types",
- "CaptchaPolicyActionRecaptchaEnterpriseInput": ".types",
- "CaptchaPolicyActionRecaptchaV2": ".types",
- "CaptchaPolicyActionRecaptchaV2Input": ".types",
- "CaptchaPolicyActionSimpleCaptcha": ".types",
"CertificateSubjectDnCredential": ".types",
"CertificateSubjectDnCredentialTypeEnum": ".types",
"ChangePasswordTicketIdentity": ".types",
@@ -4262,6 +4239,7 @@
"ClientOidcBackchannelLogoutInitiatorsModeEnum": ".types",
"ClientOidcBackchannelLogoutSessionMetadata": ".types",
"ClientOidcBackchannelLogoutSettings": ".types",
+ "ClientOidcSupport": ".types",
"ClientOidcSupportAllowedScopesEnum": ".types",
"ClientOidcSupportPatch": ".types",
"ClientOidcSupportPost": ".types",
@@ -4368,6 +4346,7 @@
"ConnectionClientIdOidc": ".types",
"ConnectionClientIdPaypal": ".types",
"ConnectionClientIdSalesforce": ".types",
+ "ConnectionClientIdSamlxaaRequestingApp": ".types",
"ConnectionClientIdWindowsLive": ".types",
"ConnectionClientProtocolSaml": ".types",
"ConnectionClientSecret": ".types",
@@ -4385,6 +4364,7 @@
"ConnectionClientSecretOidc": ".types",
"ConnectionClientSecretPaypal": ".types",
"ConnectionClientSecretSalesforce": ".types",
+ "ConnectionClientSecretSamlxaaRequestingApp": ".types",
"ConnectionClientSecretWindowsLive": ".types",
"ConnectionCommon": ".types",
"ConnectionCommunityBaseUrlSalesforce": ".types",
@@ -4577,6 +4557,8 @@
"ConnectionOptionsWordpress": ".types",
"ConnectionOptionsYahoo": ".types",
"ConnectionOptionsYandex": ".types",
+ "ConnectionOtpChannelSettings": ".types",
+ "ConnectionOtpSettings": ".types",
"ConnectionPasskeyAuthenticationMethod": ".types",
"ConnectionPasskeyChallengeUiEnum": ".types",
"ConnectionPasskeyOptions": ".types",
@@ -4857,6 +4839,7 @@
"ConnectionsDiscoveryUrl": ".types",
"ConnectionsMetadata": ".types",
"ConnectionsOidcMetadata": ".types",
+ "ConsentSigningKey": ".types",
"ContentSecurityPolicyConfig": ".types",
"ContentTooLargeError": ".errors",
"CreateActionModuleResponseContent": ".types",
@@ -5950,6 +5933,10 @@
"EventStreamCloudEventContextRequest": ".types",
"EventStreamCloudEventContextRequestGeo": ".types",
"EventStreamCloudEventContextTenant": ".types",
+ "EventStreamCloudEventContextTransaction": ".types",
+ "EventStreamCloudEventContextTransactionProtocolEnum": ".types",
+ "EventStreamCloudEventContextTransactionResponseModeEnum": ".types",
+ "EventStreamCloudEventContextTransactionResponseTypeItemEnum": ".types",
"EventStreamCloudEventData": ".types",
"EventStreamCloudEventErrorCodeEnum": ".types",
"EventStreamCloudEventErrorDetail": ".types",
@@ -7307,7 +7294,6 @@
"ListAculsOffsetPaginatedResponseContent": ".types",
"ListAculsResponseContentItem": ".types",
"ListAgentsResponseContent": ".types",
- "ListAttackProtectionCaptchaPoliciesResponseContent": ".types",
"ListBrandingPhoneProvidersResponseContent": ".types",
"ListClientConnectionsResponseContent": ".types",
"ListClientGrantOrganizationsPaginatedResponseContent": ".types",
@@ -7372,6 +7358,7 @@
"ListUserBlocksByIdentifierResponseContent": ".types",
"ListUserBlocksResponseContent": ".types",
"ListUserConnectedAccountsResponseContent": ".types",
+ "ListUserConsentSigningKeysResponseContent": ".types",
"ListUserEffectivePermissionRoleSourcesResponseContent": ".types",
"ListUserEffectivePermissionsResponseContent": ".types",
"ListUserEffectiveRolesResponseContent": ".types",
@@ -7594,6 +7581,7 @@
"ResourceServerTokenEncryptionAlgorithmEnum": ".types",
"ResourceServerTokenEncryptionFormatEnum": ".types",
"ResourceServerTokenEncryptionKey": ".types",
+ "ResourceServerTypeEnum": ".types",
"ResourceServerVerificationKeyPemCertificate": ".types",
"RevokedSigningKeysResponseContent": ".types",
"Role": ".types",
@@ -8104,10 +8092,6 @@ def __dir__():
"AttackProtectionCaptchaAuthChallengeResponseContent",
"AttackProtectionCaptchaFriendlyCaptchaResponseContent",
"AttackProtectionCaptchaHcaptchaResponseContent",
- "AttackProtectionCaptchaPolicy",
- "AttackProtectionCaptchaPolicyAction",
- "AttackProtectionCaptchaPolicyActionInput",
- "AttackProtectionCaptchaPolicyMatch",
"AttackProtectionCaptchaProviderId",
"AttackProtectionCaptchaRecaptchaEnterpriseResponseContent",
"AttackProtectionCaptchaRecaptchaV2ResponseContent",
@@ -8177,19 +8161,6 @@ def __dir__():
"BruteForceProtectionModeEnum",
"BruteForceProtectionShieldsEnum",
"BulkUpdateAculResponseContent",
- "CaptchaActiveProviderEnum",
- "CaptchaPolicyActionArkose",
- "CaptchaPolicyActionArkoseInput",
- "CaptchaPolicyActionAuthChallenge",
- "CaptchaPolicyActionFriendlyCaptcha",
- "CaptchaPolicyActionFriendlyCaptchaInput",
- "CaptchaPolicyActionHcaptcha",
- "CaptchaPolicyActionHcaptchaInput",
- "CaptchaPolicyActionRecaptchaEnterprise",
- "CaptchaPolicyActionRecaptchaEnterpriseInput",
- "CaptchaPolicyActionRecaptchaV2",
- "CaptchaPolicyActionRecaptchaV2Input",
- "CaptchaPolicyActionSimpleCaptcha",
"CertificateSubjectDnCredential",
"CertificateSubjectDnCredentialTypeEnum",
"ChangePasswordTicketIdentity",
@@ -8286,6 +8257,7 @@ def __dir__():
"ClientOidcBackchannelLogoutInitiatorsModeEnum",
"ClientOidcBackchannelLogoutSessionMetadata",
"ClientOidcBackchannelLogoutSettings",
+ "ClientOidcSupport",
"ClientOidcSupportAllowedScopesEnum",
"ClientOidcSupportPatch",
"ClientOidcSupportPost",
@@ -8392,6 +8364,7 @@ def __dir__():
"ConnectionClientIdOidc",
"ConnectionClientIdPaypal",
"ConnectionClientIdSalesforce",
+ "ConnectionClientIdSamlxaaRequestingApp",
"ConnectionClientIdWindowsLive",
"ConnectionClientProtocolSaml",
"ConnectionClientSecret",
@@ -8409,6 +8382,7 @@ def __dir__():
"ConnectionClientSecretOidc",
"ConnectionClientSecretPaypal",
"ConnectionClientSecretSalesforce",
+ "ConnectionClientSecretSamlxaaRequestingApp",
"ConnectionClientSecretWindowsLive",
"ConnectionCommon",
"ConnectionCommunityBaseUrlSalesforce",
@@ -8601,6 +8575,8 @@ def __dir__():
"ConnectionOptionsWordpress",
"ConnectionOptionsYahoo",
"ConnectionOptionsYandex",
+ "ConnectionOtpChannelSettings",
+ "ConnectionOtpSettings",
"ConnectionPasskeyAuthenticationMethod",
"ConnectionPasskeyChallengeUiEnum",
"ConnectionPasskeyOptions",
@@ -8881,6 +8857,7 @@ def __dir__():
"ConnectionsDiscoveryUrl",
"ConnectionsMetadata",
"ConnectionsOidcMetadata",
+ "ConsentSigningKey",
"ContentSecurityPolicyConfig",
"ContentTooLargeError",
"CreateActionModuleResponseContent",
@@ -9974,6 +9951,10 @@ def __dir__():
"EventStreamCloudEventContextRequest",
"EventStreamCloudEventContextRequestGeo",
"EventStreamCloudEventContextTenant",
+ "EventStreamCloudEventContextTransaction",
+ "EventStreamCloudEventContextTransactionProtocolEnum",
+ "EventStreamCloudEventContextTransactionResponseModeEnum",
+ "EventStreamCloudEventContextTransactionResponseTypeItemEnum",
"EventStreamCloudEventData",
"EventStreamCloudEventErrorCodeEnum",
"EventStreamCloudEventErrorDetail",
@@ -11331,7 +11312,6 @@ def __dir__():
"ListAculsOffsetPaginatedResponseContent",
"ListAculsResponseContentItem",
"ListAgentsResponseContent",
- "ListAttackProtectionCaptchaPoliciesResponseContent",
"ListBrandingPhoneProvidersResponseContent",
"ListClientConnectionsResponseContent",
"ListClientGrantOrganizationsPaginatedResponseContent",
@@ -11396,6 +11376,7 @@ def __dir__():
"ListUserBlocksByIdentifierResponseContent",
"ListUserBlocksResponseContent",
"ListUserConnectedAccountsResponseContent",
+ "ListUserConsentSigningKeysResponseContent",
"ListUserEffectivePermissionRoleSourcesResponseContent",
"ListUserEffectivePermissionsResponseContent",
"ListUserEffectiveRolesResponseContent",
@@ -11618,6 +11599,7 @@ def __dir__():
"ResourceServerTokenEncryptionAlgorithmEnum",
"ResourceServerTokenEncryptionFormatEnum",
"ResourceServerTokenEncryptionKey",
+ "ResourceServerTypeEnum",
"ResourceServerVerificationKeyPemCertificate",
"RevokedSigningKeysResponseContent",
"Role",
diff --git a/src/auth0/management/attack_protection/__init__.py b/src/auth0/management/attack_protection/__init__.py
index c87777b0..0a209309 100644
--- a/src/auth0/management/attack_protection/__init__.py
+++ b/src/auth0/management/attack_protection/__init__.py
@@ -11,7 +11,6 @@
breached_password_detection,
brute_force_protection,
captcha,
- captcha_policies,
phone_provider_protection,
suspicious_ip_throttling,
)
@@ -20,7 +19,6 @@
"breached_password_detection": ".breached_password_detection",
"brute_force_protection": ".brute_force_protection",
"captcha": ".captcha",
- "captcha_policies": ".captcha_policies",
"phone_provider_protection": ".phone_provider_protection",
"suspicious_ip_throttling": ".suspicious_ip_throttling",
}
@@ -52,7 +50,6 @@ def __dir__():
"breached_password_detection",
"brute_force_protection",
"captcha",
- "captcha_policies",
"phone_provider_protection",
"suspicious_ip_throttling",
]
diff --git a/src/auth0/management/attack_protection/brute_force_protection/client.py b/src/auth0/management/attack_protection/brute_force_protection/client.py
index 9542acf7..a23617d3 100644
--- a/src/auth0/management/attack_protection/brute_force_protection/client.py
+++ b/src/auth0/management/attack_protection/brute_force_protection/client.py
@@ -63,8 +63,8 @@ def update(
shields: typing.Optional[typing.Sequence[BruteForceProtectionShieldsEnum]] = OMIT,
allowlist: typing.Optional[typing.Sequence[str]] = OMIT,
mode: typing.Optional[BruteForceProtectionModeEnum] = OMIT,
- max_attempts: typing.Optional[int] = OMIT,
form_submission_mode: typing.Optional[BruteForceProtectionFormSubmissionModeEnum] = OMIT,
+ max_attempts: typing.Optional[int] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> UpdateBruteForceSettingsResponseContent:
"""
@@ -84,11 +84,11 @@ def update(
mode : typing.Optional[BruteForceProtectionModeEnum]
+ form_submission_mode : typing.Optional[BruteForceProtectionFormSubmissionModeEnum]
+
max_attempts : typing.Optional[int]
Maximum number of unsuccessful attempts.
- form_submission_mode : typing.Optional[BruteForceProtectionFormSubmissionModeEnum]
-
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -111,8 +111,8 @@ def update(
shields=shields,
allowlist=allowlist,
mode=mode,
- max_attempts=max_attempts,
form_submission_mode=form_submission_mode,
+ max_attempts=max_attempts,
request_options=request_options,
)
return _response.data
@@ -176,8 +176,8 @@ async def update(
shields: typing.Optional[typing.Sequence[BruteForceProtectionShieldsEnum]] = OMIT,
allowlist: typing.Optional[typing.Sequence[str]] = OMIT,
mode: typing.Optional[BruteForceProtectionModeEnum] = OMIT,
- max_attempts: typing.Optional[int] = OMIT,
form_submission_mode: typing.Optional[BruteForceProtectionFormSubmissionModeEnum] = OMIT,
+ max_attempts: typing.Optional[int] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> UpdateBruteForceSettingsResponseContent:
"""
@@ -197,11 +197,11 @@ async def update(
mode : typing.Optional[BruteForceProtectionModeEnum]
+ form_submission_mode : typing.Optional[BruteForceProtectionFormSubmissionModeEnum]
+
max_attempts : typing.Optional[int]
Maximum number of unsuccessful attempts.
- form_submission_mode : typing.Optional[BruteForceProtectionFormSubmissionModeEnum]
-
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -232,8 +232,8 @@ async def main() -> None:
shields=shields,
allowlist=allowlist,
mode=mode,
- max_attempts=max_attempts,
form_submission_mode=form_submission_mode,
+ max_attempts=max_attempts,
request_options=request_options,
)
return _response.data
diff --git a/src/auth0/management/attack_protection/brute_force_protection/raw_client.py b/src/auth0/management/attack_protection/brute_force_protection/raw_client.py
index c974d5ba..a3c074b4 100644
--- a/src/auth0/management/attack_protection/brute_force_protection/raw_client.py
+++ b/src/auth0/management/attack_protection/brute_force_protection/raw_client.py
@@ -108,8 +108,8 @@ def update(
shields: typing.Optional[typing.Sequence[BruteForceProtectionShieldsEnum]] = OMIT,
allowlist: typing.Optional[typing.Sequence[str]] = OMIT,
mode: typing.Optional[BruteForceProtectionModeEnum] = OMIT,
- max_attempts: typing.Optional[int] = OMIT,
form_submission_mode: typing.Optional[BruteForceProtectionFormSubmissionModeEnum] = OMIT,
+ max_attempts: typing.Optional[int] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[UpdateBruteForceSettingsResponseContent]:
"""
@@ -129,11 +129,11 @@ def update(
mode : typing.Optional[BruteForceProtectionModeEnum]
+ form_submission_mode : typing.Optional[BruteForceProtectionFormSubmissionModeEnum]
+
max_attempts : typing.Optional[int]
Maximum number of unsuccessful attempts.
- form_submission_mode : typing.Optional[BruteForceProtectionFormSubmissionModeEnum]
-
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -150,8 +150,8 @@ def update(
"shields": shields,
"allowlist": allowlist,
"mode": mode,
- "max_attempts": max_attempts,
"form_submission_mode": form_submission_mode,
+ "max_attempts": max_attempts,
},
headers={
"content-type": "application/json",
@@ -307,8 +307,8 @@ async def update(
shields: typing.Optional[typing.Sequence[BruteForceProtectionShieldsEnum]] = OMIT,
allowlist: typing.Optional[typing.Sequence[str]] = OMIT,
mode: typing.Optional[BruteForceProtectionModeEnum] = OMIT,
- max_attempts: typing.Optional[int] = OMIT,
form_submission_mode: typing.Optional[BruteForceProtectionFormSubmissionModeEnum] = OMIT,
+ max_attempts: typing.Optional[int] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[UpdateBruteForceSettingsResponseContent]:
"""
@@ -328,11 +328,11 @@ async def update(
mode : typing.Optional[BruteForceProtectionModeEnum]
+ form_submission_mode : typing.Optional[BruteForceProtectionFormSubmissionModeEnum]
+
max_attempts : typing.Optional[int]
Maximum number of unsuccessful attempts.
- form_submission_mode : typing.Optional[BruteForceProtectionFormSubmissionModeEnum]
-
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -349,8 +349,8 @@ async def update(
"shields": shields,
"allowlist": allowlist,
"mode": mode,
- "max_attempts": max_attempts,
"form_submission_mode": form_submission_mode,
+ "max_attempts": max_attempts,
},
headers={
"content-type": "application/json",
diff --git a/src/auth0/management/attack_protection/captcha_policies/__init__.py b/src/auth0/management/attack_protection/captcha_policies/__init__.py
deleted file mode 100644
index 5cde0202..00000000
--- a/src/auth0/management/attack_protection/captcha_policies/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/auth0/management/attack_protection/captcha_policies/client.py b/src/auth0/management/attack_protection/captcha_policies/client.py
deleted file mode 100644
index 3b37e7fa..00000000
--- a/src/auth0/management/attack_protection/captcha_policies/client.py
+++ /dev/null
@@ -1,520 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.attack_protection_captcha_policy import AttackProtectionCaptchaPolicy
-from ...types.attack_protection_captcha_policy_action_input import AttackProtectionCaptchaPolicyActionInput
-from ...types.attack_protection_captcha_policy_match import AttackProtectionCaptchaPolicyMatch
-from ...types.list_attack_protection_captcha_policies_response_content import (
- ListAttackProtectionCaptchaPoliciesResponseContent,
-)
-from .raw_client import AsyncRawCaptchaPoliciesClient, RawCaptchaPoliciesClient
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class CaptchaPoliciesClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawCaptchaPoliciesClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> RawCaptchaPoliciesClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawCaptchaPoliciesClient
- """
- return self._raw_client
-
- def list(
- self, *, request_options: typing.Optional[RequestOptions] = None
- ) -> ListAttackProtectionCaptchaPoliciesResponseContent:
- """
- Retrieve all CAPTCHA attack protection policies for the tenant, sorted by priority ascending.
-
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- ListAttackProtectionCaptchaPoliciesResponseContent
- The tenant's CAPTCHA attack protection policies were successfully retrieved.
-
- Examples
- --------
- from auth0 import Auth0
-
- client = Auth0(
- token="YOUR_TOKEN",
- )
- client.attack_protection.captcha_policies.list()
- """
- _response = self._raw_client.list(request_options=request_options)
- return _response.data
-
- def create(
- self,
- *,
- name: str,
- priority: int,
- match: AttackProtectionCaptchaPolicyMatch,
- action: AttackProtectionCaptchaPolicyActionInput,
- description: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AttackProtectionCaptchaPolicy:
- """
- Create a new CAPTCHA attack protection policy for the tenant. The maximum number of policies per tenant is determined by the tenant's subscription.
-
- Parameters
- ----------
- name : str
- Human-readable policy name.
-
- priority : int
- Conflict resolution order. Lower number takes higher precedence. Must be unique per tenant.
-
- match : AttackProtectionCaptchaPolicyMatch
-
- action : AttackProtectionCaptchaPolicyActionInput
-
- description : typing.Optional[str]
- Description of the attack protection policy.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AttackProtectionCaptchaPolicy
- The CAPTCHA attack protection policy was successfully created.
-
- Examples
- --------
- from auth0 import (
- AttackProtectionCaptchaPolicyActionInput,
- AttackProtectionCaptchaPolicyMatch,
- Auth0,
- )
-
- client = Auth0(
- token="YOUR_TOKEN",
- )
- client.attack_protection.captcha_policies.create(
- name="name",
- priority=1,
- match=AttackProtectionCaptchaPolicyMatch(),
- action=AttackProtectionCaptchaPolicyActionInput(),
- )
- """
- _response = self._raw_client.create(
- name=name,
- priority=priority,
- match=match,
- action=action,
- description=description,
- request_options=request_options,
- )
- return _response.data
-
- def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> AttackProtectionCaptchaPolicy:
- """
- Retrieve a single CAPTCHA attack protection policy for the tenant by ID.
-
- Parameters
- ----------
- id : str
- ID of the CAPTCHA attack protection policy.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AttackProtectionCaptchaPolicy
- The CAPTCHA attack protection policy was successfully retrieved.
-
- Examples
- --------
- from auth0 import Auth0
-
- client = Auth0(
- token="YOUR_TOKEN",
- )
- client.attack_protection.captcha_policies.get(
- id="id",
- )
- """
- _response = self._raw_client.get(id, request_options=request_options)
- return _response.data
-
- def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
- """
- Delete a CAPTCHA attack protection policy for the tenant.
-
- Parameters
- ----------
- id : str
- ID of the CAPTCHA attack protection policy.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- None
-
- Examples
- --------
- from auth0 import Auth0
-
- client = Auth0(
- token="YOUR_TOKEN",
- )
- client.attack_protection.captcha_policies.delete(
- id="id",
- )
- """
- _response = self._raw_client.delete(id, request_options=request_options)
- return _response.data
-
- def update(
- self,
- id: str,
- *,
- name: typing.Optional[str] = OMIT,
- description: typing.Optional[str] = OMIT,
- priority: typing.Optional[int] = OMIT,
- match: typing.Optional[AttackProtectionCaptchaPolicyMatch] = OMIT,
- action: typing.Optional[AttackProtectionCaptchaPolicyActionInput] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AttackProtectionCaptchaPolicy:
- """
- Partially update a CAPTCHA attack protection policy. Only the provided fields are modified. A provided match or action replaces the stored value in full rather than merging with it; within action, a provider secret or API key that is omitted from a provided provider block keeps its stored value.
-
- Parameters
- ----------
- id : str
- ID of the CAPTCHA attack protection policy.
-
- name : typing.Optional[str]
- Human-readable policy name.
-
- description : typing.Optional[str]
- Description of the policy's purpose.
-
- priority : typing.Optional[int]
- Conflict resolution order. Lower number takes higher precedence. Must be unique per tenant.
-
- match : typing.Optional[AttackProtectionCaptchaPolicyMatch]
-
- action : typing.Optional[AttackProtectionCaptchaPolicyActionInput]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AttackProtectionCaptchaPolicy
- The CAPTCHA attack protection policy was successfully updated.
-
- Examples
- --------
- from auth0 import Auth0
-
- client = Auth0(
- token="YOUR_TOKEN",
- )
- client.attack_protection.captcha_policies.update(
- id="id",
- )
- """
- _response = self._raw_client.update(
- id,
- name=name,
- description=description,
- priority=priority,
- match=match,
- action=action,
- request_options=request_options,
- )
- return _response.data
-
-
-class AsyncCaptchaPoliciesClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawCaptchaPoliciesClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawCaptchaPoliciesClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawCaptchaPoliciesClient
- """
- return self._raw_client
-
- async def list(
- self, *, request_options: typing.Optional[RequestOptions] = None
- ) -> ListAttackProtectionCaptchaPoliciesResponseContent:
- """
- Retrieve all CAPTCHA attack protection policies for the tenant, sorted by priority ascending.
-
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- ListAttackProtectionCaptchaPoliciesResponseContent
- The tenant's CAPTCHA attack protection policies were successfully retrieved.
-
- Examples
- --------
- import asyncio
-
- from auth0 import AsyncAuth0
-
- client = AsyncAuth0(
- token="YOUR_TOKEN",
- )
-
-
- async def main() -> None:
- await client.attack_protection.captcha_policies.list()
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list(request_options=request_options)
- return _response.data
-
- async def create(
- self,
- *,
- name: str,
- priority: int,
- match: AttackProtectionCaptchaPolicyMatch,
- action: AttackProtectionCaptchaPolicyActionInput,
- description: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AttackProtectionCaptchaPolicy:
- """
- Create a new CAPTCHA attack protection policy for the tenant. The maximum number of policies per tenant is determined by the tenant's subscription.
-
- Parameters
- ----------
- name : str
- Human-readable policy name.
-
- priority : int
- Conflict resolution order. Lower number takes higher precedence. Must be unique per tenant.
-
- match : AttackProtectionCaptchaPolicyMatch
-
- action : AttackProtectionCaptchaPolicyActionInput
-
- description : typing.Optional[str]
- Description of the attack protection policy.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AttackProtectionCaptchaPolicy
- The CAPTCHA attack protection policy was successfully created.
-
- Examples
- --------
- import asyncio
-
- from auth0 import (
- AsyncAuth0,
- AttackProtectionCaptchaPolicyActionInput,
- AttackProtectionCaptchaPolicyMatch,
- )
-
- client = AsyncAuth0(
- token="YOUR_TOKEN",
- )
-
-
- async def main() -> None:
- await client.attack_protection.captcha_policies.create(
- name="name",
- priority=1,
- match=AttackProtectionCaptchaPolicyMatch(),
- action=AttackProtectionCaptchaPolicyActionInput(),
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.create(
- name=name,
- priority=priority,
- match=match,
- action=action,
- description=description,
- request_options=request_options,
- )
- return _response.data
-
- async def get(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AttackProtectionCaptchaPolicy:
- """
- Retrieve a single CAPTCHA attack protection policy for the tenant by ID.
-
- Parameters
- ----------
- id : str
- ID of the CAPTCHA attack protection policy.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AttackProtectionCaptchaPolicy
- The CAPTCHA attack protection policy was successfully retrieved.
-
- Examples
- --------
- import asyncio
-
- from auth0 import AsyncAuth0
-
- client = AsyncAuth0(
- token="YOUR_TOKEN",
- )
-
-
- async def main() -> None:
- await client.attack_protection.captcha_policies.get(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.get(id, request_options=request_options)
- return _response.data
-
- async def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
- """
- Delete a CAPTCHA attack protection policy for the tenant.
-
- Parameters
- ----------
- id : str
- ID of the CAPTCHA attack protection policy.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- None
-
- Examples
- --------
- import asyncio
-
- from auth0 import AsyncAuth0
-
- client = AsyncAuth0(
- token="YOUR_TOKEN",
- )
-
-
- async def main() -> None:
- await client.attack_protection.captcha_policies.delete(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.delete(id, request_options=request_options)
- return _response.data
-
- async def update(
- self,
- id: str,
- *,
- name: typing.Optional[str] = OMIT,
- description: typing.Optional[str] = OMIT,
- priority: typing.Optional[int] = OMIT,
- match: typing.Optional[AttackProtectionCaptchaPolicyMatch] = OMIT,
- action: typing.Optional[AttackProtectionCaptchaPolicyActionInput] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AttackProtectionCaptchaPolicy:
- """
- Partially update a CAPTCHA attack protection policy. Only the provided fields are modified. A provided match or action replaces the stored value in full rather than merging with it; within action, a provider secret or API key that is omitted from a provided provider block keeps its stored value.
-
- Parameters
- ----------
- id : str
- ID of the CAPTCHA attack protection policy.
-
- name : typing.Optional[str]
- Human-readable policy name.
-
- description : typing.Optional[str]
- Description of the policy's purpose.
-
- priority : typing.Optional[int]
- Conflict resolution order. Lower number takes higher precedence. Must be unique per tenant.
-
- match : typing.Optional[AttackProtectionCaptchaPolicyMatch]
-
- action : typing.Optional[AttackProtectionCaptchaPolicyActionInput]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AttackProtectionCaptchaPolicy
- The CAPTCHA attack protection policy was successfully updated.
-
- Examples
- --------
- import asyncio
-
- from auth0 import AsyncAuth0
-
- client = AsyncAuth0(
- token="YOUR_TOKEN",
- )
-
-
- async def main() -> None:
- await client.attack_protection.captcha_policies.update(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.update(
- id,
- name=name,
- description=description,
- priority=priority,
- match=match,
- action=action,
- request_options=request_options,
- )
- return _response.data
diff --git a/src/auth0/management/attack_protection/captcha_policies/raw_client.py b/src/auth0/management/attack_protection/captcha_policies/raw_client.py
deleted file mode 100644
index 49b58ab9..00000000
--- a/src/auth0/management/attack_protection/captcha_policies/raw_client.py
+++ /dev/null
@@ -1,1175 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import quote_path_param
-from ...core.parse_error import ParsingError
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...core.serialization import convert_and_respect_annotation_metadata
-from ...errors.bad_request_error import BadRequestError
-from ...errors.conflict_error import ConflictError
-from ...errors.forbidden_error import ForbiddenError
-from ...errors.not_found_error import NotFoundError
-from ...errors.too_many_requests_error import TooManyRequestsError
-from ...errors.unauthorized_error import UnauthorizedError
-from ...types.attack_protection_captcha_policy import AttackProtectionCaptchaPolicy
-from ...types.attack_protection_captcha_policy_action_input import AttackProtectionCaptchaPolicyActionInput
-from ...types.attack_protection_captcha_policy_match import AttackProtectionCaptchaPolicyMatch
-from ...types.list_attack_protection_captcha_policies_response_content import (
- ListAttackProtectionCaptchaPoliciesResponseContent,
-)
-from pydantic import ValidationError
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawCaptchaPoliciesClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def list(
- self, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[ListAttackProtectionCaptchaPoliciesResponseContent]:
- """
- Retrieve all CAPTCHA attack protection policies for the tenant, sorted by priority ascending.
-
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[ListAttackProtectionCaptchaPoliciesResponseContent]
- The tenant's CAPTCHA attack protection policies were successfully retrieved.
- """
- _response = self._client_wrapper.httpx_client.request(
- "attack-protection/captcha/policies",
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ListAttackProtectionCaptchaPoliciesResponseContent,
- parse_obj_as(
- type_=ListAttackProtectionCaptchaPoliciesResponseContent, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 401:
- raise UnauthorizedError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 429:
- raise TooManyRequestsError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- except ValidationError as e:
- raise ParsingError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def create(
- self,
- *,
- name: str,
- priority: int,
- match: AttackProtectionCaptchaPolicyMatch,
- action: AttackProtectionCaptchaPolicyActionInput,
- description: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[AttackProtectionCaptchaPolicy]:
- """
- Create a new CAPTCHA attack protection policy for the tenant. The maximum number of policies per tenant is determined by the tenant's subscription.
-
- Parameters
- ----------
- name : str
- Human-readable policy name.
-
- priority : int
- Conflict resolution order. Lower number takes higher precedence. Must be unique per tenant.
-
- match : AttackProtectionCaptchaPolicyMatch
-
- action : AttackProtectionCaptchaPolicyActionInput
-
- description : typing.Optional[str]
- Description of the attack protection policy.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[AttackProtectionCaptchaPolicy]
- The CAPTCHA attack protection policy was successfully created.
- """
- _response = self._client_wrapper.httpx_client.request(
- "attack-protection/captcha/policies",
- method="POST",
- json={
- "name": name,
- "description": description,
- "priority": priority,
- "match": convert_and_respect_annotation_metadata(
- object_=match, annotation=AttackProtectionCaptchaPolicyMatch, direction="write"
- ),
- "action": convert_and_respect_annotation_metadata(
- object_=action, annotation=AttackProtectionCaptchaPolicyActionInput, direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- AttackProtectionCaptchaPolicy,
- parse_obj_as(
- type_=AttackProtectionCaptchaPolicy, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 401:
- raise UnauthorizedError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 409:
- raise ConflictError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 429:
- raise TooManyRequestsError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- except ValidationError as e:
- raise ParsingError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def get(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[AttackProtectionCaptchaPolicy]:
- """
- Retrieve a single CAPTCHA attack protection policy for the tenant by ID.
-
- Parameters
- ----------
- id : str
- ID of the CAPTCHA attack protection policy.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[AttackProtectionCaptchaPolicy]
- The CAPTCHA attack protection policy was successfully retrieved.
- """
- _response = self._client_wrapper.httpx_client.request(
- f"attack-protection/captcha/policies/{quote_path_param(id)}",
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- AttackProtectionCaptchaPolicy,
- parse_obj_as(
- type_=AttackProtectionCaptchaPolicy, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 401:
- raise UnauthorizedError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 429:
- raise TooManyRequestsError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- except ValidationError as e:
- raise ParsingError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[None]:
- """
- Delete a CAPTCHA attack protection policy for the tenant.
-
- Parameters
- ----------
- id : str
- ID of the CAPTCHA attack protection policy.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[None]
- """
- _response = self._client_wrapper.httpx_client.request(
- f"attack-protection/captcha/policies/{quote_path_param(id)}",
- method="DELETE",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- return HttpResponse(response=_response, data=None)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 401:
- raise UnauthorizedError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 429:
- raise TooManyRequestsError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- except ValidationError as e:
- raise ParsingError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def update(
- self,
- id: str,
- *,
- name: typing.Optional[str] = OMIT,
- description: typing.Optional[str] = OMIT,
- priority: typing.Optional[int] = OMIT,
- match: typing.Optional[AttackProtectionCaptchaPolicyMatch] = OMIT,
- action: typing.Optional[AttackProtectionCaptchaPolicyActionInput] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[AttackProtectionCaptchaPolicy]:
- """
- Partially update a CAPTCHA attack protection policy. Only the provided fields are modified. A provided match or action replaces the stored value in full rather than merging with it; within action, a provider secret or API key that is omitted from a provided provider block keeps its stored value.
-
- Parameters
- ----------
- id : str
- ID of the CAPTCHA attack protection policy.
-
- name : typing.Optional[str]
- Human-readable policy name.
-
- description : typing.Optional[str]
- Description of the policy's purpose.
-
- priority : typing.Optional[int]
- Conflict resolution order. Lower number takes higher precedence. Must be unique per tenant.
-
- match : typing.Optional[AttackProtectionCaptchaPolicyMatch]
-
- action : typing.Optional[AttackProtectionCaptchaPolicyActionInput]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[AttackProtectionCaptchaPolicy]
- The CAPTCHA attack protection policy was successfully updated.
- """
- _response = self._client_wrapper.httpx_client.request(
- f"attack-protection/captcha/policies/{quote_path_param(id)}",
- method="PATCH",
- json={
- "name": name,
- "description": description,
- "priority": priority,
- "match": convert_and_respect_annotation_metadata(
- object_=match, annotation=AttackProtectionCaptchaPolicyMatch, direction="write"
- ),
- "action": convert_and_respect_annotation_metadata(
- object_=action, annotation=AttackProtectionCaptchaPolicyActionInput, direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- AttackProtectionCaptchaPolicy,
- parse_obj_as(
- type_=AttackProtectionCaptchaPolicy, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 401:
- raise UnauthorizedError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 409:
- raise ConflictError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 429:
- raise TooManyRequestsError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- except ValidationError as e:
- raise ParsingError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawCaptchaPoliciesClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def list(
- self, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[ListAttackProtectionCaptchaPoliciesResponseContent]:
- """
- Retrieve all CAPTCHA attack protection policies for the tenant, sorted by priority ascending.
-
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[ListAttackProtectionCaptchaPoliciesResponseContent]
- The tenant's CAPTCHA attack protection policies were successfully retrieved.
- """
- _response = await self._client_wrapper.httpx_client.request(
- "attack-protection/captcha/policies",
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ListAttackProtectionCaptchaPoliciesResponseContent,
- parse_obj_as(
- type_=ListAttackProtectionCaptchaPoliciesResponseContent, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 401:
- raise UnauthorizedError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 429:
- raise TooManyRequestsError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- except ValidationError as e:
- raise ParsingError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def create(
- self,
- *,
- name: str,
- priority: int,
- match: AttackProtectionCaptchaPolicyMatch,
- action: AttackProtectionCaptchaPolicyActionInput,
- description: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[AttackProtectionCaptchaPolicy]:
- """
- Create a new CAPTCHA attack protection policy for the tenant. The maximum number of policies per tenant is determined by the tenant's subscription.
-
- Parameters
- ----------
- name : str
- Human-readable policy name.
-
- priority : int
- Conflict resolution order. Lower number takes higher precedence. Must be unique per tenant.
-
- match : AttackProtectionCaptchaPolicyMatch
-
- action : AttackProtectionCaptchaPolicyActionInput
-
- description : typing.Optional[str]
- Description of the attack protection policy.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[AttackProtectionCaptchaPolicy]
- The CAPTCHA attack protection policy was successfully created.
- """
- _response = await self._client_wrapper.httpx_client.request(
- "attack-protection/captcha/policies",
- method="POST",
- json={
- "name": name,
- "description": description,
- "priority": priority,
- "match": convert_and_respect_annotation_metadata(
- object_=match, annotation=AttackProtectionCaptchaPolicyMatch, direction="write"
- ),
- "action": convert_and_respect_annotation_metadata(
- object_=action, annotation=AttackProtectionCaptchaPolicyActionInput, direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- AttackProtectionCaptchaPolicy,
- parse_obj_as(
- type_=AttackProtectionCaptchaPolicy, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 401:
- raise UnauthorizedError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 409:
- raise ConflictError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 429:
- raise TooManyRequestsError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- except ValidationError as e:
- raise ParsingError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def get(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[AttackProtectionCaptchaPolicy]:
- """
- Retrieve a single CAPTCHA attack protection policy for the tenant by ID.
-
- Parameters
- ----------
- id : str
- ID of the CAPTCHA attack protection policy.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[AttackProtectionCaptchaPolicy]
- The CAPTCHA attack protection policy was successfully retrieved.
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"attack-protection/captcha/policies/{quote_path_param(id)}",
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- AttackProtectionCaptchaPolicy,
- parse_obj_as(
- type_=AttackProtectionCaptchaPolicy, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 401:
- raise UnauthorizedError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 429:
- raise TooManyRequestsError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- except ValidationError as e:
- raise ParsingError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def delete(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[None]:
- """
- Delete a CAPTCHA attack protection policy for the tenant.
-
- Parameters
- ----------
- id : str
- ID of the CAPTCHA attack protection policy.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[None]
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"attack-protection/captcha/policies/{quote_path_param(id)}",
- method="DELETE",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- return AsyncHttpResponse(response=_response, data=None)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 401:
- raise UnauthorizedError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 429:
- raise TooManyRequestsError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- except ValidationError as e:
- raise ParsingError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def update(
- self,
- id: str,
- *,
- name: typing.Optional[str] = OMIT,
- description: typing.Optional[str] = OMIT,
- priority: typing.Optional[int] = OMIT,
- match: typing.Optional[AttackProtectionCaptchaPolicyMatch] = OMIT,
- action: typing.Optional[AttackProtectionCaptchaPolicyActionInput] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[AttackProtectionCaptchaPolicy]:
- """
- Partially update a CAPTCHA attack protection policy. Only the provided fields are modified. A provided match or action replaces the stored value in full rather than merging with it; within action, a provider secret or API key that is omitted from a provided provider block keeps its stored value.
-
- Parameters
- ----------
- id : str
- ID of the CAPTCHA attack protection policy.
-
- name : typing.Optional[str]
- Human-readable policy name.
-
- description : typing.Optional[str]
- Description of the policy's purpose.
-
- priority : typing.Optional[int]
- Conflict resolution order. Lower number takes higher precedence. Must be unique per tenant.
-
- match : typing.Optional[AttackProtectionCaptchaPolicyMatch]
-
- action : typing.Optional[AttackProtectionCaptchaPolicyActionInput]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[AttackProtectionCaptchaPolicy]
- The CAPTCHA attack protection policy was successfully updated.
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"attack-protection/captcha/policies/{quote_path_param(id)}",
- method="PATCH",
- json={
- "name": name,
- "description": description,
- "priority": priority,
- "match": convert_and_respect_annotation_metadata(
- object_=match, annotation=AttackProtectionCaptchaPolicyMatch, direction="write"
- ),
- "action": convert_and_respect_annotation_metadata(
- object_=action, annotation=AttackProtectionCaptchaPolicyActionInput, direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- AttackProtectionCaptchaPolicy,
- parse_obj_as(
- type_=AttackProtectionCaptchaPolicy, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 401:
- raise UnauthorizedError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 409:
- raise ConflictError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 429:
- raise TooManyRequestsError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Any,
- parse_obj_as(
- type_=typing.Any, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- except ValidationError as e:
- raise ParsingError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/auth0/management/attack_protection/client.py b/src/auth0/management/attack_protection/client.py
index 7b8d2d96..a2f3cc95 100644
--- a/src/auth0/management/attack_protection/client.py
+++ b/src/auth0/management/attack_protection/client.py
@@ -15,7 +15,6 @@
)
from .brute_force_protection.client import AsyncBruteForceProtectionClient, BruteForceProtectionClient
from .captcha.client import AsyncCaptchaClient, CaptchaClient
- from .captcha_policies.client import AsyncCaptchaPoliciesClient, CaptchaPoliciesClient
from .phone_provider_protection.client import AsyncPhoneProviderProtectionClient, PhoneProviderProtectionClient
from .suspicious_ip_throttling.client import AsyncSuspiciousIpThrottlingClient, SuspiciousIpThrottlingClient
@@ -28,7 +27,6 @@ def __init__(self, *, client_wrapper: SyncClientWrapper):
self._breached_password_detection: typing.Optional[BreachedPasswordDetectionClient] = None
self._brute_force_protection: typing.Optional[BruteForceProtectionClient] = None
self._captcha: typing.Optional[CaptchaClient] = None
- self._captcha_policies: typing.Optional[CaptchaPoliciesClient] = None
self._phone_provider_protection: typing.Optional[PhoneProviderProtectionClient] = None
self._suspicious_ip_throttling: typing.Optional[SuspiciousIpThrottlingClient] = None
@@ -75,14 +73,6 @@ def captcha(self):
self._captcha = CaptchaClient(client_wrapper=self._client_wrapper)
return self._captcha
- @property
- def captcha_policies(self):
- if self._captcha_policies is None:
- from .captcha_policies.client import CaptchaPoliciesClient # noqa: E402
-
- self._captcha_policies = CaptchaPoliciesClient(client_wrapper=self._client_wrapper)
- return self._captcha_policies
-
@property
def phone_provider_protection(self):
if self._phone_provider_protection is None:
@@ -108,7 +98,6 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper):
self._breached_password_detection: typing.Optional[AsyncBreachedPasswordDetectionClient] = None
self._brute_force_protection: typing.Optional[AsyncBruteForceProtectionClient] = None
self._captcha: typing.Optional[AsyncCaptchaClient] = None
- self._captcha_policies: typing.Optional[AsyncCaptchaPoliciesClient] = None
self._phone_provider_protection: typing.Optional[AsyncPhoneProviderProtectionClient] = None
self._suspicious_ip_throttling: typing.Optional[AsyncSuspiciousIpThrottlingClient] = None
@@ -157,14 +146,6 @@ def captcha(self):
self._captcha = AsyncCaptchaClient(client_wrapper=self._client_wrapper)
return self._captcha
- @property
- def captcha_policies(self):
- if self._captcha_policies is None:
- from .captcha_policies.client import AsyncCaptchaPoliciesClient # noqa: E402
-
- self._captcha_policies = AsyncCaptchaPoliciesClient(client_wrapper=self._client_wrapper)
- return self._captcha_policies
-
@property
def phone_provider_protection(self):
if self._phone_provider_protection is None:
diff --git a/src/auth0/management/experimentation/experiments/client.py b/src/auth0/management/experimentation/experiments/client.py
index 9f1ab1a3..a4c44ccf 100644
--- a/src/auth0/management/experimentation/experiments/client.py
+++ b/src/auth0/management/experimentation/experiments/client.py
@@ -112,9 +112,9 @@ def create(
name: str,
feature_flag_id: str,
authentication_flow: AuthenticationFlowEnum,
+ allocation_strategy: AllocationStrategyEnum,
description: typing.Optional[str] = OMIT,
default_config: typing.Optional[DefaultConfigEnum] = OMIT,
- allocation_strategy: typing.Optional[AllocationStrategyEnum] = OMIT,
allocations: typing.Optional[typing.Sequence[AllocationRequestItem]] = OMIT,
levels: typing.Optional[typing.Sequence[int]] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
@@ -132,15 +132,15 @@ def create(
authentication_flow : AuthenticationFlowEnum
+ allocation_strategy : AllocationStrategyEnum
+ The traffic allocation strategy for this experiment
+
description : typing.Optional[str]
A description of the experiment
default_config : typing.Optional[DefaultConfigEnum]
Applies only to Auth0-managed flags. Controls where non-overridden config keys resolve from: 'tenant' inherits the tenant's live config so the experiment overlays only its changes, 'flag' uses the flag's frozen defaults for a complete config. Optional; defaults to 'tenant' when omitted. Rejected for customer-defined flags.
- allocation_strategy : typing.Optional[AllocationStrategyEnum]
- The traffic allocation strategy for this experiment
-
allocations : typing.Optional[typing.Sequence[AllocationRequestItem]]
Traffic allocations mapping variations to weights or segments
@@ -166,15 +166,16 @@ def create(
name="name",
feature_flag_id="feature_flag_id",
authentication_flow="authentication",
+ allocation_strategy="percentage",
)
"""
_response = self._raw_client.create(
name=name,
feature_flag_id=feature_flag_id,
authentication_flow=authentication_flow,
+ allocation_strategy=allocation_strategy,
description=description,
default_config=default_config,
- allocation_strategy=allocation_strategy,
allocations=allocations,
levels=levels,
request_options=request_options,
@@ -483,9 +484,9 @@ async def create(
name: str,
feature_flag_id: str,
authentication_flow: AuthenticationFlowEnum,
+ allocation_strategy: AllocationStrategyEnum,
description: typing.Optional[str] = OMIT,
default_config: typing.Optional[DefaultConfigEnum] = OMIT,
- allocation_strategy: typing.Optional[AllocationStrategyEnum] = OMIT,
allocations: typing.Optional[typing.Sequence[AllocationRequestItem]] = OMIT,
levels: typing.Optional[typing.Sequence[int]] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
@@ -503,15 +504,15 @@ async def create(
authentication_flow : AuthenticationFlowEnum
+ allocation_strategy : AllocationStrategyEnum
+ The traffic allocation strategy for this experiment
+
description : typing.Optional[str]
A description of the experiment
default_config : typing.Optional[DefaultConfigEnum]
Applies only to Auth0-managed flags. Controls where non-overridden config keys resolve from: 'tenant' inherits the tenant's live config so the experiment overlays only its changes, 'flag' uses the flag's frozen defaults for a complete config. Optional; defaults to 'tenant' when omitted. Rejected for customer-defined flags.
- allocation_strategy : typing.Optional[AllocationStrategyEnum]
- The traffic allocation strategy for this experiment
-
allocations : typing.Optional[typing.Sequence[AllocationRequestItem]]
Traffic allocations mapping variations to weights or segments
@@ -542,6 +543,7 @@ async def main() -> None:
name="name",
feature_flag_id="feature_flag_id",
authentication_flow="authentication",
+ allocation_strategy="percentage",
)
@@ -551,9 +553,9 @@ async def main() -> None:
name=name,
feature_flag_id=feature_flag_id,
authentication_flow=authentication_flow,
+ allocation_strategy=allocation_strategy,
description=description,
default_config=default_config,
- allocation_strategy=allocation_strategy,
allocations=allocations,
levels=levels,
request_options=request_options,
diff --git a/src/auth0/management/experimentation/experiments/raw_client.py b/src/auth0/management/experimentation/experiments/raw_client.py
index f512ef5b..69bc5ed5 100644
--- a/src/auth0/management/experimentation/experiments/raw_client.py
+++ b/src/auth0/management/experimentation/experiments/raw_client.py
@@ -172,9 +172,9 @@ def create(
name: str,
feature_flag_id: str,
authentication_flow: AuthenticationFlowEnum,
+ allocation_strategy: AllocationStrategyEnum,
description: typing.Optional[str] = OMIT,
default_config: typing.Optional[DefaultConfigEnum] = OMIT,
- allocation_strategy: typing.Optional[AllocationStrategyEnum] = OMIT,
allocations: typing.Optional[typing.Sequence[AllocationRequestItem]] = OMIT,
levels: typing.Optional[typing.Sequence[int]] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
@@ -192,15 +192,15 @@ def create(
authentication_flow : AuthenticationFlowEnum
+ allocation_strategy : AllocationStrategyEnum
+ The traffic allocation strategy for this experiment
+
description : typing.Optional[str]
A description of the experiment
default_config : typing.Optional[DefaultConfigEnum]
Applies only to Auth0-managed flags. Controls where non-overridden config keys resolve from: 'tenant' inherits the tenant's live config so the experiment overlays only its changes, 'flag' uses the flag's frozen defaults for a complete config. Optional; defaults to 'tenant' when omitted. Rejected for customer-defined flags.
- allocation_strategy : typing.Optional[AllocationStrategyEnum]
- The traffic allocation strategy for this experiment
-
allocations : typing.Optional[typing.Sequence[AllocationRequestItem]]
Traffic allocations mapping variations to weights or segments
@@ -994,9 +994,9 @@ async def create(
name: str,
feature_flag_id: str,
authentication_flow: AuthenticationFlowEnum,
+ allocation_strategy: AllocationStrategyEnum,
description: typing.Optional[str] = OMIT,
default_config: typing.Optional[DefaultConfigEnum] = OMIT,
- allocation_strategy: typing.Optional[AllocationStrategyEnum] = OMIT,
allocations: typing.Optional[typing.Sequence[AllocationRequestItem]] = OMIT,
levels: typing.Optional[typing.Sequence[int]] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
@@ -1014,15 +1014,15 @@ async def create(
authentication_flow : AuthenticationFlowEnum
+ allocation_strategy : AllocationStrategyEnum
+ The traffic allocation strategy for this experiment
+
description : typing.Optional[str]
A description of the experiment
default_config : typing.Optional[DefaultConfigEnum]
Applies only to Auth0-managed flags. Controls where non-overridden config keys resolve from: 'tenant' inherits the tenant's live config so the experiment overlays only its changes, 'flag' uses the flag's frozen defaults for a complete config. Optional; defaults to 'tenant' when omitted. Rejected for customer-defined flags.
- allocation_strategy : typing.Optional[AllocationStrategyEnum]
- The traffic allocation strategy for this experiment
-
allocations : typing.Optional[typing.Sequence[AllocationRequestItem]]
Traffic allocations mapping variations to weights or segments
diff --git a/src/auth0/management/experimentation/segments/client.py b/src/auth0/management/experimentation/segments/client.py
index c32ebec7..f6c0322f 100644
--- a/src/auth0/management/experimentation/segments/client.py
+++ b/src/auth0/management/experimentation/segments/client.py
@@ -40,6 +40,7 @@ def list(
from_: typing.Optional[str] = None,
take: typing.Optional[int] = 50,
type: typing.Optional[SegmentTypeFilterEnum] = None,
+ status: typing.Optional[SegmentStatusEnum] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> SyncPager[Segment, ListSegmentsResponseContent]:
"""
@@ -56,6 +57,9 @@ def list(
type : typing.Optional[SegmentTypeFilterEnum]
Filter by type. Exact match.
+ status : typing.Optional[SegmentStatusEnum]
+ Filter by status. Exact match.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -75,6 +79,7 @@ def list(
from_="from",
take=1,
type="auth0",
+ status="active",
)
for item in response:
yield item
@@ -82,7 +87,7 @@ def list(
for page in response.iter_pages():
yield page
"""
- return self._raw_client.list(from_=from_, take=take, type=type, request_options=request_options)
+ return self._raw_client.list(from_=from_, take=take, type=type, status=status, request_options=request_options)
def create(
self,
@@ -268,6 +273,7 @@ async def list(
from_: typing.Optional[str] = None,
take: typing.Optional[int] = 50,
type: typing.Optional[SegmentTypeFilterEnum] = None,
+ status: typing.Optional[SegmentStatusEnum] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncPager[Segment, ListSegmentsResponseContent]:
"""
@@ -284,6 +290,9 @@ async def list(
type : typing.Optional[SegmentTypeFilterEnum]
Filter by type. Exact match.
+ status : typing.Optional[SegmentStatusEnum]
+ Filter by status. Exact match.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -308,6 +317,7 @@ async def main() -> None:
from_="from",
take=1,
type="auth0",
+ status="active",
)
async for item in response:
yield item
@@ -319,7 +329,9 @@ async def main() -> None:
asyncio.run(main())
"""
- return await self._raw_client.list(from_=from_, take=take, type=type, request_options=request_options)
+ return await self._raw_client.list(
+ from_=from_, take=take, type=type, status=status, request_options=request_options
+ )
async def create(
self,
diff --git a/src/auth0/management/experimentation/segments/raw_client.py b/src/auth0/management/experimentation/segments/raw_client.py
index 30281d9f..de00a841 100644
--- a/src/auth0/management/experimentation/segments/raw_client.py
+++ b/src/auth0/management/experimentation/segments/raw_client.py
@@ -43,6 +43,7 @@ def list(
from_: typing.Optional[str] = None,
take: typing.Optional[int] = 50,
type: typing.Optional[SegmentTypeFilterEnum] = None,
+ status: typing.Optional[SegmentStatusEnum] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> SyncPager[Segment, ListSegmentsResponseContent]:
"""
@@ -59,6 +60,9 @@ def list(
type : typing.Optional[SegmentTypeFilterEnum]
Filter by type. Exact match.
+ status : typing.Optional[SegmentStatusEnum]
+ Filter by status. Exact match.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -74,6 +78,7 @@ def list(
"from": from_,
"take": take,
"type": type,
+ "status": status,
},
request_options=request_options,
)
@@ -93,6 +98,7 @@ def list(
from_=_parsed_next,
take=take,
type=type,
+ status=status,
request_options=request_options,
)
return SyncPager(has_next=_has_next, items=_items, get_next=_get_next, response=_parsed_response)
@@ -595,6 +601,7 @@ async def list(
from_: typing.Optional[str] = None,
take: typing.Optional[int] = 50,
type: typing.Optional[SegmentTypeFilterEnum] = None,
+ status: typing.Optional[SegmentStatusEnum] = None,
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncPager[Segment, ListSegmentsResponseContent]:
"""
@@ -611,6 +618,9 @@ async def list(
type : typing.Optional[SegmentTypeFilterEnum]
Filter by type. Exact match.
+ status : typing.Optional[SegmentStatusEnum]
+ Filter by status. Exact match.
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -626,6 +636,7 @@ async def list(
"from": from_,
"take": take,
"type": type,
+ "status": status,
},
request_options=request_options,
)
@@ -647,6 +658,7 @@ async def _get_next():
from_=_parsed_next,
take=take,
type=type,
+ status=status,
request_options=request_options,
)
diff --git a/src/auth0/management/resource_servers/client.py b/src/auth0/management/resource_servers/client.py
index 9eecbf68..ce601684 100644
--- a/src/auth0/management/resource_servers/client.py
+++ b/src/auth0/management/resource_servers/client.py
@@ -21,6 +21,7 @@
from ..types.resource_server_subject_type_authorization import ResourceServerSubjectTypeAuthorization
from ..types.resource_server_token_dialect_schema_enum import ResourceServerTokenDialectSchemaEnum
from ..types.resource_server_token_encryption import ResourceServerTokenEncryption
+from ..types.resource_server_type_enum import ResourceServerTypeEnum
from ..types.search_parser_enum import SearchParserEnum
from ..types.search_resource_servers_response_content import SearchResourceServersResponseContent
from ..types.signing_algorithm_enum import SigningAlgorithmEnum
@@ -137,6 +138,7 @@ def create(
proof_of_possession: typing.Optional[ResourceServerProofOfPossession] = OMIT,
subject_type_authorization: typing.Optional[ResourceServerSubjectTypeAuthorization] = OMIT,
authorization_policy: typing.Optional[ResourceServerAuthorizationPolicy] = OMIT,
+ type: typing.Optional[ResourceServerTypeEnum] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> CreateResourceServerResponseContent:
"""
@@ -198,6 +200,8 @@ def create(
authorization_policy : typing.Optional[ResourceServerAuthorizationPolicy]
+ type : typing.Optional[ResourceServerTypeEnum]
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -239,6 +243,7 @@ def create(
proof_of_possession=proof_of_possession,
subject_type_authorization=subject_type_authorization,
authorization_policy=authorization_policy,
+ type=type,
request_options=request_options,
)
return _response.data
@@ -420,6 +425,7 @@ def update(
proof_of_possession: typing.Optional[ResourceServerProofOfPossession] = OMIT,
subject_type_authorization: typing.Optional[ResourceServerSubjectTypeAuthorization] = OMIT,
authorization_policy: typing.Optional[ResourceServerAuthorizationPolicy] = OMIT,
+ type: typing.Optional[ResourceServerTypeEnum] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> UpdateResourceServerResponseContent:
"""
@@ -481,6 +487,8 @@ def update(
authorization_policy : typing.Optional[ResourceServerAuthorizationPolicy]
+ type : typing.Optional[ResourceServerTypeEnum]
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -522,6 +530,7 @@ def update(
proof_of_possession=proof_of_possession,
subject_type_authorization=subject_type_authorization,
authorization_policy=authorization_policy,
+ type=type,
request_options=request_options,
)
return _response.data
@@ -642,6 +651,7 @@ async def create(
proof_of_possession: typing.Optional[ResourceServerProofOfPossession] = OMIT,
subject_type_authorization: typing.Optional[ResourceServerSubjectTypeAuthorization] = OMIT,
authorization_policy: typing.Optional[ResourceServerAuthorizationPolicy] = OMIT,
+ type: typing.Optional[ResourceServerTypeEnum] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> CreateResourceServerResponseContent:
"""
@@ -703,6 +713,8 @@ async def create(
authorization_policy : typing.Optional[ResourceServerAuthorizationPolicy]
+ type : typing.Optional[ResourceServerTypeEnum]
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -752,6 +764,7 @@ async def main() -> None:
proof_of_possession=proof_of_possession,
subject_type_authorization=subject_type_authorization,
authorization_policy=authorization_policy,
+ type=type,
request_options=request_options,
)
return _response.data
@@ -958,6 +971,7 @@ async def update(
proof_of_possession: typing.Optional[ResourceServerProofOfPossession] = OMIT,
subject_type_authorization: typing.Optional[ResourceServerSubjectTypeAuthorization] = OMIT,
authorization_policy: typing.Optional[ResourceServerAuthorizationPolicy] = OMIT,
+ type: typing.Optional[ResourceServerTypeEnum] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> UpdateResourceServerResponseContent:
"""
@@ -1019,6 +1033,8 @@ async def update(
authorization_policy : typing.Optional[ResourceServerAuthorizationPolicy]
+ type : typing.Optional[ResourceServerTypeEnum]
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -1068,6 +1084,7 @@ async def main() -> None:
proof_of_possession=proof_of_possession,
subject_type_authorization=subject_type_authorization,
authorization_policy=authorization_policy,
+ type=type,
request_options=request_options,
)
return _response.data
diff --git a/src/auth0/management/resource_servers/raw_client.py b/src/auth0/management/resource_servers/raw_client.py
index 8efc5715..c723cf2b 100644
--- a/src/auth0/management/resource_servers/raw_client.py
+++ b/src/auth0/management/resource_servers/raw_client.py
@@ -36,6 +36,7 @@
from ..types.resource_server_subject_type_authorization import ResourceServerSubjectTypeAuthorization
from ..types.resource_server_token_dialect_schema_enum import ResourceServerTokenDialectSchemaEnum
from ..types.resource_server_token_encryption import ResourceServerTokenEncryption
+from ..types.resource_server_type_enum import ResourceServerTypeEnum
from ..types.search_parser_enum import SearchParserEnum
from ..types.search_resource_servers_response_content import SearchResourceServersResponseContent
from ..types.signing_algorithm_enum import SigningAlgorithmEnum
@@ -199,6 +200,7 @@ def create(
proof_of_possession: typing.Optional[ResourceServerProofOfPossession] = OMIT,
subject_type_authorization: typing.Optional[ResourceServerSubjectTypeAuthorization] = OMIT,
authorization_policy: typing.Optional[ResourceServerAuthorizationPolicy] = OMIT,
+ type: typing.Optional[ResourceServerTypeEnum] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[CreateResourceServerResponseContent]:
"""
@@ -260,6 +262,8 @@ def create(
authorization_policy : typing.Optional[ResourceServerAuthorizationPolicy]
+ type : typing.Optional[ResourceServerTypeEnum]
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -313,6 +317,7 @@ def create(
annotation=typing.Optional[ResourceServerAuthorizationPolicy],
direction="write",
),
+ "type": type,
},
headers={
"content-type": "application/json",
@@ -775,6 +780,7 @@ def update(
proof_of_possession: typing.Optional[ResourceServerProofOfPossession] = OMIT,
subject_type_authorization: typing.Optional[ResourceServerSubjectTypeAuthorization] = OMIT,
authorization_policy: typing.Optional[ResourceServerAuthorizationPolicy] = OMIT,
+ type: typing.Optional[ResourceServerTypeEnum] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> HttpResponse[UpdateResourceServerResponseContent]:
"""
@@ -836,6 +842,8 @@ def update(
authorization_policy : typing.Optional[ResourceServerAuthorizationPolicy]
+ type : typing.Optional[ResourceServerTypeEnum]
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -888,6 +896,7 @@ def update(
annotation=typing.Optional[ResourceServerAuthorizationPolicy],
direction="write",
),
+ "type": type,
},
headers={
"content-type": "application/json",
@@ -1126,6 +1135,7 @@ async def create(
proof_of_possession: typing.Optional[ResourceServerProofOfPossession] = OMIT,
subject_type_authorization: typing.Optional[ResourceServerSubjectTypeAuthorization] = OMIT,
authorization_policy: typing.Optional[ResourceServerAuthorizationPolicy] = OMIT,
+ type: typing.Optional[ResourceServerTypeEnum] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[CreateResourceServerResponseContent]:
"""
@@ -1187,6 +1197,8 @@ async def create(
authorization_policy : typing.Optional[ResourceServerAuthorizationPolicy]
+ type : typing.Optional[ResourceServerTypeEnum]
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -1240,6 +1252,7 @@ async def create(
annotation=typing.Optional[ResourceServerAuthorizationPolicy],
direction="write",
),
+ "type": type,
},
headers={
"content-type": "application/json",
@@ -1707,6 +1720,7 @@ async def update(
proof_of_possession: typing.Optional[ResourceServerProofOfPossession] = OMIT,
subject_type_authorization: typing.Optional[ResourceServerSubjectTypeAuthorization] = OMIT,
authorization_policy: typing.Optional[ResourceServerAuthorizationPolicy] = OMIT,
+ type: typing.Optional[ResourceServerTypeEnum] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> AsyncHttpResponse[UpdateResourceServerResponseContent]:
"""
@@ -1768,6 +1782,8 @@ async def update(
authorization_policy : typing.Optional[ResourceServerAuthorizationPolicy]
+ type : typing.Optional[ResourceServerTypeEnum]
+
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -1820,6 +1836,7 @@ async def update(
annotation=typing.Optional[ResourceServerAuthorizationPolicy],
direction="write",
),
+ "type": type,
},
headers={
"content-type": "application/json",
diff --git a/src/auth0/management/types/__init__.py b/src/auth0/management/types/__init__.py
index b1f90043..63c048e1 100644
--- a/src/auth0/management/types/__init__.py
+++ b/src/auth0/management/types/__init__.py
@@ -80,10 +80,6 @@
AttackProtectionCaptchaFriendlyCaptchaResponseContent,
)
from .attack_protection_captcha_hcaptcha_response_content import AttackProtectionCaptchaHcaptchaResponseContent
- from .attack_protection_captcha_policy import AttackProtectionCaptchaPolicy
- from .attack_protection_captcha_policy_action import AttackProtectionCaptchaPolicyAction
- from .attack_protection_captcha_policy_action_input import AttackProtectionCaptchaPolicyActionInput
- from .attack_protection_captcha_policy_match import AttackProtectionCaptchaPolicyMatch
from .attack_protection_captcha_provider_id import AttackProtectionCaptchaProviderId
from .attack_protection_captcha_recaptcha_enterprise_response_content import (
AttackProtectionCaptchaRecaptchaEnterpriseResponseContent,
@@ -168,19 +164,6 @@
from .brute_force_protection_mode_enum import BruteForceProtectionModeEnum
from .brute_force_protection_shields_enum import BruteForceProtectionShieldsEnum
from .bulk_update_acul_response_content import BulkUpdateAculResponseContent
- from .captcha_active_provider_enum import CaptchaActiveProviderEnum
- from .captcha_policy_action_arkose import CaptchaPolicyActionArkose
- from .captcha_policy_action_arkose_input import CaptchaPolicyActionArkoseInput
- from .captcha_policy_action_auth_challenge import CaptchaPolicyActionAuthChallenge
- from .captcha_policy_action_friendly_captcha import CaptchaPolicyActionFriendlyCaptcha
- from .captcha_policy_action_friendly_captcha_input import CaptchaPolicyActionFriendlyCaptchaInput
- from .captcha_policy_action_hcaptcha import CaptchaPolicyActionHcaptcha
- from .captcha_policy_action_hcaptcha_input import CaptchaPolicyActionHcaptchaInput
- from .captcha_policy_action_recaptcha_enterprise import CaptchaPolicyActionRecaptchaEnterprise
- from .captcha_policy_action_recaptcha_enterprise_input import CaptchaPolicyActionRecaptchaEnterpriseInput
- from .captcha_policy_action_recaptcha_v_2 import CaptchaPolicyActionRecaptchaV2
- from .captcha_policy_action_recaptcha_v_2_input import CaptchaPolicyActionRecaptchaV2Input
- from .captcha_policy_action_simple_captcha import CaptchaPolicyActionSimpleCaptcha
from .certificate_subject_dn_credential import CertificateSubjectDnCredential
from .certificate_subject_dn_credential_type_enum import CertificateSubjectDnCredentialTypeEnum
from .change_password_ticket_identity import ChangePasswordTicketIdentity
@@ -303,6 +286,7 @@
from .client_oidc_backchannel_logout_initiators_mode_enum import ClientOidcBackchannelLogoutInitiatorsModeEnum
from .client_oidc_backchannel_logout_session_metadata import ClientOidcBackchannelLogoutSessionMetadata
from .client_oidc_backchannel_logout_settings import ClientOidcBackchannelLogoutSettings
+ from .client_oidc_support import ClientOidcSupport
from .client_oidc_support_allowed_scopes_enum import ClientOidcSupportAllowedScopesEnum
from .client_oidc_support_patch import ClientOidcSupportPatch
from .client_oidc_support_post import ClientOidcSupportPost
@@ -432,6 +416,7 @@
from .connection_client_id_oidc import ConnectionClientIdOidc
from .connection_client_id_paypal import ConnectionClientIdPaypal
from .connection_client_id_salesforce import ConnectionClientIdSalesforce
+ from .connection_client_id_samlxaa_requesting_app import ConnectionClientIdSamlxaaRequestingApp
from .connection_client_id_windows_live import ConnectionClientIdWindowsLive
from .connection_client_protocol_saml import ConnectionClientProtocolSaml
from .connection_client_secret import ConnectionClientSecret
@@ -449,6 +434,7 @@
from .connection_client_secret_oidc import ConnectionClientSecretOidc
from .connection_client_secret_paypal import ConnectionClientSecretPaypal
from .connection_client_secret_salesforce import ConnectionClientSecretSalesforce
+ from .connection_client_secret_samlxaa_requesting_app import ConnectionClientSecretSamlxaaRequestingApp
from .connection_client_secret_windows_live import ConnectionClientSecretWindowsLive
from .connection_common import ConnectionCommon
from .connection_community_base_url_salesforce import ConnectionCommunityBaseUrlSalesforce
@@ -643,6 +629,8 @@
from .connection_options_wordpress import ConnectionOptionsWordpress
from .connection_options_yahoo import ConnectionOptionsYahoo
from .connection_options_yandex import ConnectionOptionsYandex
+ from .connection_otp_channel_settings import ConnectionOtpChannelSettings
+ from .connection_otp_settings import ConnectionOtpSettings
from .connection_passkey_authentication_method import ConnectionPasskeyAuthenticationMethod
from .connection_passkey_challenge_ui_enum import ConnectionPasskeyChallengeUiEnum
from .connection_passkey_options import ConnectionPasskeyOptions
@@ -955,6 +943,7 @@
from .connections_discovery_url import ConnectionsDiscoveryUrl
from .connections_metadata import ConnectionsMetadata
from .connections_oidc_metadata import ConnectionsOidcMetadata
+ from .consent_signing_key import ConsentSigningKey
from .content_security_policy_config import ContentSecurityPolicyConfig
from .create_action_module_response_content import CreateActionModuleResponseContent
from .create_action_module_version_response_content import CreateActionModuleVersionResponseContent
@@ -3470,6 +3459,16 @@
from .event_stream_cloud_event_context_request import EventStreamCloudEventContextRequest
from .event_stream_cloud_event_context_request_geo import EventStreamCloudEventContextRequestGeo
from .event_stream_cloud_event_context_tenant import EventStreamCloudEventContextTenant
+ from .event_stream_cloud_event_context_transaction import EventStreamCloudEventContextTransaction
+ from .event_stream_cloud_event_context_transaction_protocol_enum import (
+ EventStreamCloudEventContextTransactionProtocolEnum,
+ )
+ from .event_stream_cloud_event_context_transaction_response_mode_enum import (
+ EventStreamCloudEventContextTransactionResponseModeEnum,
+ )
+ from .event_stream_cloud_event_context_transaction_response_type_item_enum import (
+ EventStreamCloudEventContextTransactionResponseTypeItemEnum,
+ )
from .event_stream_cloud_event_data import EventStreamCloudEventData
from .event_stream_cloud_event_error_code_enum import EventStreamCloudEventErrorCodeEnum
from .event_stream_cloud_event_error_detail import EventStreamCloudEventErrorDetail
@@ -5742,9 +5741,6 @@
from .list_aculs_offset_paginated_response_content import ListAculsOffsetPaginatedResponseContent
from .list_aculs_response_content_item import ListAculsResponseContentItem
from .list_agents_response_content import ListAgentsResponseContent
- from .list_attack_protection_captcha_policies_response_content import (
- ListAttackProtectionCaptchaPoliciesResponseContent,
- )
from .list_branding_phone_providers_response_content import ListBrandingPhoneProvidersResponseContent
from .list_client_connections_response_content import ListClientConnectionsResponseContent
from .list_client_grant_organizations_paginated_response_content import (
@@ -5837,6 +5833,7 @@
from .list_user_blocks_by_identifier_response_content import ListUserBlocksByIdentifierResponseContent
from .list_user_blocks_response_content import ListUserBlocksResponseContent
from .list_user_connected_accounts_response_content import ListUserConnectedAccountsResponseContent
+ from .list_user_consent_signing_keys_response_content import ListUserConsentSigningKeysResponseContent
from .list_user_effective_permission_role_sources_response_content import (
ListUserEffectivePermissionRoleSourcesResponseContent,
)
@@ -6085,6 +6082,7 @@
from .resource_server_token_encryption_algorithm_enum import ResourceServerTokenEncryptionAlgorithmEnum
from .resource_server_token_encryption_format_enum import ResourceServerTokenEncryptionFormatEnum
from .resource_server_token_encryption_key import ResourceServerTokenEncryptionKey
+ from .resource_server_type_enum import ResourceServerTypeEnum
from .resource_server_verification_key_pem_certificate import ResourceServerVerificationKeyPemCertificate
from .revoked_signing_keys_response_content import RevokedSigningKeysResponseContent
from .role import Role
@@ -6568,10 +6566,6 @@
"AttackProtectionCaptchaAuthChallengeResponseContent": ".attack_protection_captcha_auth_challenge_response_content",
"AttackProtectionCaptchaFriendlyCaptchaResponseContent": ".attack_protection_captcha_friendly_captcha_response_content",
"AttackProtectionCaptchaHcaptchaResponseContent": ".attack_protection_captcha_hcaptcha_response_content",
- "AttackProtectionCaptchaPolicy": ".attack_protection_captcha_policy",
- "AttackProtectionCaptchaPolicyAction": ".attack_protection_captcha_policy_action",
- "AttackProtectionCaptchaPolicyActionInput": ".attack_protection_captcha_policy_action_input",
- "AttackProtectionCaptchaPolicyMatch": ".attack_protection_captcha_policy_match",
"AttackProtectionCaptchaProviderId": ".attack_protection_captcha_provider_id",
"AttackProtectionCaptchaRecaptchaEnterpriseResponseContent": ".attack_protection_captcha_recaptcha_enterprise_response_content",
"AttackProtectionCaptchaRecaptchaV2ResponseContent": ".attack_protection_captcha_recaptcha_v_2_response_content",
@@ -6638,19 +6632,6 @@
"BruteForceProtectionModeEnum": ".brute_force_protection_mode_enum",
"BruteForceProtectionShieldsEnum": ".brute_force_protection_shields_enum",
"BulkUpdateAculResponseContent": ".bulk_update_acul_response_content",
- "CaptchaActiveProviderEnum": ".captcha_active_provider_enum",
- "CaptchaPolicyActionArkose": ".captcha_policy_action_arkose",
- "CaptchaPolicyActionArkoseInput": ".captcha_policy_action_arkose_input",
- "CaptchaPolicyActionAuthChallenge": ".captcha_policy_action_auth_challenge",
- "CaptchaPolicyActionFriendlyCaptcha": ".captcha_policy_action_friendly_captcha",
- "CaptchaPolicyActionFriendlyCaptchaInput": ".captcha_policy_action_friendly_captcha_input",
- "CaptchaPolicyActionHcaptcha": ".captcha_policy_action_hcaptcha",
- "CaptchaPolicyActionHcaptchaInput": ".captcha_policy_action_hcaptcha_input",
- "CaptchaPolicyActionRecaptchaEnterprise": ".captcha_policy_action_recaptcha_enterprise",
- "CaptchaPolicyActionRecaptchaEnterpriseInput": ".captcha_policy_action_recaptcha_enterprise_input",
- "CaptchaPolicyActionRecaptchaV2": ".captcha_policy_action_recaptcha_v_2",
- "CaptchaPolicyActionRecaptchaV2Input": ".captcha_policy_action_recaptcha_v_2_input",
- "CaptchaPolicyActionSimpleCaptcha": ".captcha_policy_action_simple_captcha",
"CertificateSubjectDnCredential": ".certificate_subject_dn_credential",
"CertificateSubjectDnCredentialTypeEnum": ".certificate_subject_dn_credential_type_enum",
"ChangePasswordTicketIdentity": ".change_password_ticket_identity",
@@ -6747,6 +6728,7 @@
"ClientOidcBackchannelLogoutInitiatorsModeEnum": ".client_oidc_backchannel_logout_initiators_mode_enum",
"ClientOidcBackchannelLogoutSessionMetadata": ".client_oidc_backchannel_logout_session_metadata",
"ClientOidcBackchannelLogoutSettings": ".client_oidc_backchannel_logout_settings",
+ "ClientOidcSupport": ".client_oidc_support",
"ClientOidcSupportAllowedScopesEnum": ".client_oidc_support_allowed_scopes_enum",
"ClientOidcSupportPatch": ".client_oidc_support_patch",
"ClientOidcSupportPost": ".client_oidc_support_post",
@@ -6852,6 +6834,7 @@
"ConnectionClientIdOidc": ".connection_client_id_oidc",
"ConnectionClientIdPaypal": ".connection_client_id_paypal",
"ConnectionClientIdSalesforce": ".connection_client_id_salesforce",
+ "ConnectionClientIdSamlxaaRequestingApp": ".connection_client_id_samlxaa_requesting_app",
"ConnectionClientIdWindowsLive": ".connection_client_id_windows_live",
"ConnectionClientProtocolSaml": ".connection_client_protocol_saml",
"ConnectionClientSecret": ".connection_client_secret",
@@ -6869,6 +6852,7 @@
"ConnectionClientSecretOidc": ".connection_client_secret_oidc",
"ConnectionClientSecretPaypal": ".connection_client_secret_paypal",
"ConnectionClientSecretSalesforce": ".connection_client_secret_salesforce",
+ "ConnectionClientSecretSamlxaaRequestingApp": ".connection_client_secret_samlxaa_requesting_app",
"ConnectionClientSecretWindowsLive": ".connection_client_secret_windows_live",
"ConnectionCommon": ".connection_common",
"ConnectionCommunityBaseUrlSalesforce": ".connection_community_base_url_salesforce",
@@ -7061,6 +7045,8 @@
"ConnectionOptionsWordpress": ".connection_options_wordpress",
"ConnectionOptionsYahoo": ".connection_options_yahoo",
"ConnectionOptionsYandex": ".connection_options_yandex",
+ "ConnectionOtpChannelSettings": ".connection_otp_channel_settings",
+ "ConnectionOtpSettings": ".connection_otp_settings",
"ConnectionPasskeyAuthenticationMethod": ".connection_passkey_authentication_method",
"ConnectionPasskeyChallengeUiEnum": ".connection_passkey_challenge_ui_enum",
"ConnectionPasskeyOptions": ".connection_passkey_options",
@@ -7341,6 +7327,7 @@
"ConnectionsDiscoveryUrl": ".connections_discovery_url",
"ConnectionsMetadata": ".connections_metadata",
"ConnectionsOidcMetadata": ".connections_oidc_metadata",
+ "ConsentSigningKey": ".consent_signing_key",
"ContentSecurityPolicyConfig": ".content_security_policy_config",
"CreateActionModuleResponseContent": ".create_action_module_response_content",
"CreateActionModuleVersionResponseContent": ".create_action_module_version_response_content",
@@ -8430,6 +8417,10 @@
"EventStreamCloudEventContextRequest": ".event_stream_cloud_event_context_request",
"EventStreamCloudEventContextRequestGeo": ".event_stream_cloud_event_context_request_geo",
"EventStreamCloudEventContextTenant": ".event_stream_cloud_event_context_tenant",
+ "EventStreamCloudEventContextTransaction": ".event_stream_cloud_event_context_transaction",
+ "EventStreamCloudEventContextTransactionProtocolEnum": ".event_stream_cloud_event_context_transaction_protocol_enum",
+ "EventStreamCloudEventContextTransactionResponseModeEnum": ".event_stream_cloud_event_context_transaction_response_mode_enum",
+ "EventStreamCloudEventContextTransactionResponseTypeItemEnum": ".event_stream_cloud_event_context_transaction_response_type_item_enum",
"EventStreamCloudEventData": ".event_stream_cloud_event_data",
"EventStreamCloudEventErrorCodeEnum": ".event_stream_cloud_event_error_code_enum",
"EventStreamCloudEventErrorDetail": ".event_stream_cloud_event_error_detail",
@@ -9782,7 +9773,6 @@
"ListAculsOffsetPaginatedResponseContent": ".list_aculs_offset_paginated_response_content",
"ListAculsResponseContentItem": ".list_aculs_response_content_item",
"ListAgentsResponseContent": ".list_agents_response_content",
- "ListAttackProtectionCaptchaPoliciesResponseContent": ".list_attack_protection_captcha_policies_response_content",
"ListBrandingPhoneProvidersResponseContent": ".list_branding_phone_providers_response_content",
"ListClientConnectionsResponseContent": ".list_client_connections_response_content",
"ListClientGrantOrganizationsPaginatedResponseContent": ".list_client_grant_organizations_paginated_response_content",
@@ -9847,6 +9837,7 @@
"ListUserBlocksByIdentifierResponseContent": ".list_user_blocks_by_identifier_response_content",
"ListUserBlocksResponseContent": ".list_user_blocks_response_content",
"ListUserConnectedAccountsResponseContent": ".list_user_connected_accounts_response_content",
+ "ListUserConsentSigningKeysResponseContent": ".list_user_consent_signing_keys_response_content",
"ListUserEffectivePermissionRoleSourcesResponseContent": ".list_user_effective_permission_role_sources_response_content",
"ListUserEffectivePermissionsResponseContent": ".list_user_effective_permissions_response_content",
"ListUserEffectiveRolesResponseContent": ".list_user_effective_roles_response_content",
@@ -10065,6 +10056,7 @@
"ResourceServerTokenEncryptionAlgorithmEnum": ".resource_server_token_encryption_algorithm_enum",
"ResourceServerTokenEncryptionFormatEnum": ".resource_server_token_encryption_format_enum",
"ResourceServerTokenEncryptionKey": ".resource_server_token_encryption_key",
+ "ResourceServerTypeEnum": ".resource_server_type_enum",
"ResourceServerVerificationKeyPemCertificate": ".resource_server_verification_key_pem_certificate",
"RevokedSigningKeysResponseContent": ".revoked_signing_keys_response_content",
"Role": ".role",
@@ -10518,10 +10510,6 @@ def __dir__():
"AttackProtectionCaptchaAuthChallengeResponseContent",
"AttackProtectionCaptchaFriendlyCaptchaResponseContent",
"AttackProtectionCaptchaHcaptchaResponseContent",
- "AttackProtectionCaptchaPolicy",
- "AttackProtectionCaptchaPolicyAction",
- "AttackProtectionCaptchaPolicyActionInput",
- "AttackProtectionCaptchaPolicyMatch",
"AttackProtectionCaptchaProviderId",
"AttackProtectionCaptchaRecaptchaEnterpriseResponseContent",
"AttackProtectionCaptchaRecaptchaV2ResponseContent",
@@ -10588,19 +10576,6 @@ def __dir__():
"BruteForceProtectionModeEnum",
"BruteForceProtectionShieldsEnum",
"BulkUpdateAculResponseContent",
- "CaptchaActiveProviderEnum",
- "CaptchaPolicyActionArkose",
- "CaptchaPolicyActionArkoseInput",
- "CaptchaPolicyActionAuthChallenge",
- "CaptchaPolicyActionFriendlyCaptcha",
- "CaptchaPolicyActionFriendlyCaptchaInput",
- "CaptchaPolicyActionHcaptcha",
- "CaptchaPolicyActionHcaptchaInput",
- "CaptchaPolicyActionRecaptchaEnterprise",
- "CaptchaPolicyActionRecaptchaEnterpriseInput",
- "CaptchaPolicyActionRecaptchaV2",
- "CaptchaPolicyActionRecaptchaV2Input",
- "CaptchaPolicyActionSimpleCaptcha",
"CertificateSubjectDnCredential",
"CertificateSubjectDnCredentialTypeEnum",
"ChangePasswordTicketIdentity",
@@ -10697,6 +10672,7 @@ def __dir__():
"ClientOidcBackchannelLogoutInitiatorsModeEnum",
"ClientOidcBackchannelLogoutSessionMetadata",
"ClientOidcBackchannelLogoutSettings",
+ "ClientOidcSupport",
"ClientOidcSupportAllowedScopesEnum",
"ClientOidcSupportPatch",
"ClientOidcSupportPost",
@@ -10802,6 +10778,7 @@ def __dir__():
"ConnectionClientIdOidc",
"ConnectionClientIdPaypal",
"ConnectionClientIdSalesforce",
+ "ConnectionClientIdSamlxaaRequestingApp",
"ConnectionClientIdWindowsLive",
"ConnectionClientProtocolSaml",
"ConnectionClientSecret",
@@ -10819,6 +10796,7 @@ def __dir__():
"ConnectionClientSecretOidc",
"ConnectionClientSecretPaypal",
"ConnectionClientSecretSalesforce",
+ "ConnectionClientSecretSamlxaaRequestingApp",
"ConnectionClientSecretWindowsLive",
"ConnectionCommon",
"ConnectionCommunityBaseUrlSalesforce",
@@ -11011,6 +10989,8 @@ def __dir__():
"ConnectionOptionsWordpress",
"ConnectionOptionsYahoo",
"ConnectionOptionsYandex",
+ "ConnectionOtpChannelSettings",
+ "ConnectionOtpSettings",
"ConnectionPasskeyAuthenticationMethod",
"ConnectionPasskeyChallengeUiEnum",
"ConnectionPasskeyOptions",
@@ -11291,6 +11271,7 @@ def __dir__():
"ConnectionsDiscoveryUrl",
"ConnectionsMetadata",
"ConnectionsOidcMetadata",
+ "ConsentSigningKey",
"ContentSecurityPolicyConfig",
"CreateActionModuleResponseContent",
"CreateActionModuleVersionResponseContent",
@@ -12380,6 +12361,10 @@ def __dir__():
"EventStreamCloudEventContextRequest",
"EventStreamCloudEventContextRequestGeo",
"EventStreamCloudEventContextTenant",
+ "EventStreamCloudEventContextTransaction",
+ "EventStreamCloudEventContextTransactionProtocolEnum",
+ "EventStreamCloudEventContextTransactionResponseModeEnum",
+ "EventStreamCloudEventContextTransactionResponseTypeItemEnum",
"EventStreamCloudEventData",
"EventStreamCloudEventErrorCodeEnum",
"EventStreamCloudEventErrorDetail",
@@ -13732,7 +13717,6 @@ def __dir__():
"ListAculsOffsetPaginatedResponseContent",
"ListAculsResponseContentItem",
"ListAgentsResponseContent",
- "ListAttackProtectionCaptchaPoliciesResponseContent",
"ListBrandingPhoneProvidersResponseContent",
"ListClientConnectionsResponseContent",
"ListClientGrantOrganizationsPaginatedResponseContent",
@@ -13797,6 +13781,7 @@ def __dir__():
"ListUserBlocksByIdentifierResponseContent",
"ListUserBlocksResponseContent",
"ListUserConnectedAccountsResponseContent",
+ "ListUserConsentSigningKeysResponseContent",
"ListUserEffectivePermissionRoleSourcesResponseContent",
"ListUserEffectivePermissionsResponseContent",
"ListUserEffectiveRolesResponseContent",
@@ -14015,6 +14000,7 @@ def __dir__():
"ResourceServerTokenEncryptionAlgorithmEnum",
"ResourceServerTokenEncryptionFormatEnum",
"ResourceServerTokenEncryptionKey",
+ "ResourceServerTypeEnum",
"ResourceServerVerificationKeyPemCertificate",
"RevokedSigningKeysResponseContent",
"Role",
diff --git a/src/auth0/management/types/attack_protection_captcha_policy.py b/src/auth0/management/types/attack_protection_captcha_policy.py
deleted file mode 100644
index 8b772eed..00000000
--- a/src/auth0/management/types/attack_protection_captcha_policy.py
+++ /dev/null
@@ -1,56 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .attack_protection_captcha_policy_action import AttackProtectionCaptchaPolicyAction
-from .attack_protection_captcha_policy_match import AttackProtectionCaptchaPolicyMatch
-
-
-class AttackProtectionCaptchaPolicy(UniversalBaseModel):
- """
- An attack protection policy override for CAPTCHA.
- """
-
- id: str = pydantic.Field()
- """
- System-generated identifier for the policy.
- """
-
- name: str = pydantic.Field()
- """
- Human-readable policy name.
- """
-
- description: typing.Optional[str] = pydantic.Field(default=None)
- """
- Description of the policy's purpose.
- """
-
- priority: int = pydantic.Field()
- """
- Conflict resolution order. Lower number takes higher precedence.
- """
-
- match: AttackProtectionCaptchaPolicyMatch
- action: AttackProtectionCaptchaPolicyAction
- created_at: dt.datetime = pydantic.Field()
- """
- ISO 8601 timestamp when the policy was created.
- """
-
- updated_at: dt.datetime = pydantic.Field()
- """
- ISO 8601 timestamp when the policy was last updated.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/auth0/management/types/attack_protection_captcha_policy_action.py b/src/auth0/management/types/attack_protection_captcha_policy_action.py
deleted file mode 100644
index 0a34effc..00000000
--- a/src/auth0/management/types/attack_protection_captcha_policy_action.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-import typing_extensions
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from ..core.serialization import FieldMetadata
-from .captcha_active_provider_enum import CaptchaActiveProviderEnum
-from .captcha_policy_action_arkose import CaptchaPolicyActionArkose
-from .captcha_policy_action_auth_challenge import CaptchaPolicyActionAuthChallenge
-from .captcha_policy_action_friendly_captcha import CaptchaPolicyActionFriendlyCaptcha
-from .captcha_policy_action_hcaptcha import CaptchaPolicyActionHcaptcha
-from .captcha_policy_action_recaptcha_enterprise import CaptchaPolicyActionRecaptchaEnterprise
-from .captcha_policy_action_recaptcha_v_2 import CaptchaPolicyActionRecaptchaV2
-from .captcha_policy_action_simple_captcha import CaptchaPolicyActionSimpleCaptcha
-
-
-class AttackProtectionCaptchaPolicyAction(UniversalBaseModel):
- """
- CAPTCHA configuration override stored for this policy.
- """
-
- active_provider_id: typing.Optional[CaptchaActiveProviderEnum] = None
- simple_captcha: typing.Optional[CaptchaPolicyActionSimpleCaptcha] = None
- auth_challenge: typing.Optional[CaptchaPolicyActionAuthChallenge] = None
- recaptcha_v_2: typing_extensions.Annotated[
- typing.Optional[CaptchaPolicyActionRecaptchaV2],
- FieldMetadata(alias="recaptcha_v2"),
- pydantic.Field(alias="recaptcha_v2"),
- ] = None
- recaptcha_enterprise: typing.Optional[CaptchaPolicyActionRecaptchaEnterprise] = None
- hcaptcha: typing.Optional[CaptchaPolicyActionHcaptcha] = None
- friendly_captcha: typing.Optional[CaptchaPolicyActionFriendlyCaptcha] = None
- arkose: typing.Optional[CaptchaPolicyActionArkose] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/auth0/management/types/attack_protection_captcha_policy_action_input.py b/src/auth0/management/types/attack_protection_captcha_policy_action_input.py
deleted file mode 100644
index 393f0d64..00000000
--- a/src/auth0/management/types/attack_protection_captcha_policy_action_input.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-import typing_extensions
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from ..core.serialization import FieldMetadata
-from .captcha_active_provider_enum import CaptchaActiveProviderEnum
-from .captcha_policy_action_arkose_input import CaptchaPolicyActionArkoseInput
-from .captcha_policy_action_auth_challenge import CaptchaPolicyActionAuthChallenge
-from .captcha_policy_action_friendly_captcha_input import CaptchaPolicyActionFriendlyCaptchaInput
-from .captcha_policy_action_hcaptcha_input import CaptchaPolicyActionHcaptchaInput
-from .captcha_policy_action_recaptcha_enterprise_input import CaptchaPolicyActionRecaptchaEnterpriseInput
-from .captcha_policy_action_recaptcha_v_2_input import CaptchaPolicyActionRecaptchaV2Input
-from .captcha_policy_action_simple_captcha import CaptchaPolicyActionSimpleCaptcha
-
-
-class AttackProtectionCaptchaPolicyActionInput(UniversalBaseModel):
- """
- CAPTCHA configuration override for this policy.
- """
-
- active_provider_id: typing.Optional[CaptchaActiveProviderEnum] = None
- simple_captcha: typing.Optional[CaptchaPolicyActionSimpleCaptcha] = None
- auth_challenge: typing.Optional[CaptchaPolicyActionAuthChallenge] = None
- recaptcha_v_2: typing_extensions.Annotated[
- typing.Optional[CaptchaPolicyActionRecaptchaV2Input],
- FieldMetadata(alias="recaptcha_v2"),
- pydantic.Field(alias="recaptcha_v2"),
- ] = None
- recaptcha_enterprise: typing.Optional[CaptchaPolicyActionRecaptchaEnterpriseInput] = None
- hcaptcha: typing.Optional[CaptchaPolicyActionHcaptchaInput] = None
- friendly_captcha: typing.Optional[CaptchaPolicyActionFriendlyCaptchaInput] = None
- arkose: typing.Optional[CaptchaPolicyActionArkoseInput] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/auth0/management/types/attack_protection_captcha_policy_match.py b/src/auth0/management/types/attack_protection_captcha_policy_match.py
deleted file mode 100644
index 06023e04..00000000
--- a/src/auth0/management/types/attack_protection_captcha_policy_match.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-import typing_extensions
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from ..core.serialization import FieldMetadata
-
-
-class AttackProtectionCaptchaPolicyMatch(UniversalBaseModel):
- """
- Traffic matching criteria for the policy. Exactly one of auth0_managed or geo_country_codes must be specified.
- """
-
- auth_0_managed: typing_extensions.Annotated[
- typing.Optional[typing.List[str]],
- FieldMetadata(alias="auth0_managed"),
- pydantic.Field(alias="auth0_managed", description="Match by Auth0-managed traffic identifiers."),
- ] = None
- """
- Match by Auth0-managed traffic identifiers.
- """
-
- geo_country_codes: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- Match by ISO 3166-1 alpha-2 country codes.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/auth0/management/types/captcha_active_provider_enum.py b/src/auth0/management/types/captcha_active_provider_enum.py
deleted file mode 100644
index 3d166297..00000000
--- a/src/auth0/management/types/captcha_active_provider_enum.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-CaptchaActiveProviderEnum = typing.Union[
- typing.Literal[
- "simple_captcha",
- "auth_challenge",
- "recaptcha_v2",
- "recaptcha_enterprise",
- "hcaptcha",
- "friendly_captcha",
- "arkose",
- ],
- typing.Any,
-]
diff --git a/src/auth0/management/types/captcha_policy_action_arkose.py b/src/auth0/management/types/captcha_policy_action_arkose.py
deleted file mode 100644
index 1953ae18..00000000
--- a/src/auth0/management/types/captcha_policy_action_arkose.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CaptchaPolicyActionArkose(UniversalBaseModel):
- """
- Arkose Labs provider configuration.
- """
-
- site_key: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Arkose Labs site key.
- """
-
- client_subdomain: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Arkose Labs client subdomain.
- """
-
- verify_subdomain: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Arkose Labs verify subdomain.
- """
-
- fail_open: typing.Optional[bool] = pydantic.Field(default=None)
- """
- Whether to allow access when Arkose Labs is unavailable.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/auth0/management/types/captcha_policy_action_arkose_input.py b/src/auth0/management/types/captcha_policy_action_arkose_input.py
deleted file mode 100644
index 13e18d5d..00000000
--- a/src/auth0/management/types/captcha_policy_action_arkose_input.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CaptchaPolicyActionArkoseInput(UniversalBaseModel):
- """
- Arkose Labs provider configuration.
- """
-
- site_key: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Arkose Labs site key.
- """
-
- secret: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Arkose Labs private key. Encrypted at rest.
- """
-
- client_subdomain: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Arkose Labs client subdomain.
- """
-
- verify_subdomain: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Arkose Labs verify subdomain.
- """
-
- fail_open: typing.Optional[bool] = pydantic.Field(default=None)
- """
- Whether to allow access when Arkose Labs is unavailable.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/auth0/management/types/captcha_policy_action_auth_challenge.py b/src/auth0/management/types/captcha_policy_action_auth_challenge.py
deleted file mode 100644
index a4b6c4e0..00000000
--- a/src/auth0/management/types/captcha_policy_action_auth_challenge.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CaptchaPolicyActionAuthChallenge(UniversalBaseModel):
- """
- Auth Challenge CAPTCHA provider configuration.
- """
-
- fail_open: typing.Optional[bool] = pydantic.Field(default=None)
- """
- Whether to allow access when the challenge provider is unavailable.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/auth0/management/types/captcha_policy_action_friendly_captcha.py b/src/auth0/management/types/captcha_policy_action_friendly_captcha.py
deleted file mode 100644
index 4181e538..00000000
--- a/src/auth0/management/types/captcha_policy_action_friendly_captcha.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CaptchaPolicyActionFriendlyCaptcha(UniversalBaseModel):
- """
- Friendly Captcha provider configuration.
- """
-
- site_key: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Friendly Captcha site key.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/auth0/management/types/captcha_policy_action_hcaptcha.py b/src/auth0/management/types/captcha_policy_action_hcaptcha.py
deleted file mode 100644
index 3b763446..00000000
--- a/src/auth0/management/types/captcha_policy_action_hcaptcha.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CaptchaPolicyActionHcaptcha(UniversalBaseModel):
- """
- hCaptcha provider configuration.
- """
-
- site_key: typing.Optional[str] = pydantic.Field(default=None)
- """
- The hCaptcha site key.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/auth0/management/types/captcha_policy_action_hcaptcha_input.py b/src/auth0/management/types/captcha_policy_action_hcaptcha_input.py
deleted file mode 100644
index 52666e5f..00000000
--- a/src/auth0/management/types/captcha_policy_action_hcaptcha_input.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CaptchaPolicyActionHcaptchaInput(UniversalBaseModel):
- """
- hCaptcha provider configuration.
- """
-
- site_key: typing.Optional[str] = pydantic.Field(default=None)
- """
- The hCaptcha site key.
- """
-
- secret: typing.Optional[str] = pydantic.Field(default=None)
- """
- The hCaptcha secret key. Encrypted at rest.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/auth0/management/types/captcha_policy_action_recaptcha_enterprise_input.py b/src/auth0/management/types/captcha_policy_action_recaptcha_enterprise_input.py
deleted file mode 100644
index 0cc9b210..00000000
--- a/src/auth0/management/types/captcha_policy_action_recaptcha_enterprise_input.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CaptchaPolicyActionRecaptchaEnterpriseInput(UniversalBaseModel):
- """
- reCAPTCHA Enterprise provider configuration.
- """
-
- site_key: typing.Optional[str] = pydantic.Field(default=None)
- """
- The reCAPTCHA Enterprise site key.
- """
-
- project_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Google Cloud project ID.
- """
-
- api_key: typing.Optional[str] = pydantic.Field(default=None)
- """
- The reCAPTCHA Enterprise API key. Encrypted at rest.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/auth0/management/types/captcha_policy_action_recaptcha_v_2_input.py b/src/auth0/management/types/captcha_policy_action_recaptcha_v_2_input.py
deleted file mode 100644
index 9d38bf32..00000000
--- a/src/auth0/management/types/captcha_policy_action_recaptcha_v_2_input.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CaptchaPolicyActionRecaptchaV2Input(UniversalBaseModel):
- """
- reCAPTCHA v2 provider configuration.
- """
-
- site_key: typing.Optional[str] = pydantic.Field(default=None)
- """
- The reCAPTCHA v2 site key.
- """
-
- secret: typing.Optional[str] = pydantic.Field(default=None)
- """
- The reCAPTCHA v2 secret key. Encrypted at rest.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/auth0/management/types/captcha_policy_action_simple_captcha.py b/src/auth0/management/types/captcha_policy_action_simple_captcha.py
deleted file mode 100644
index d730dc0d..00000000
--- a/src/auth0/management/types/captcha_policy_action_simple_captcha.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CaptchaPolicyActionSimpleCaptcha(UniversalBaseModel):
- """
- Simple CAPTCHA provider configuration.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/auth0/management/types/client.py b/src/auth0/management/types/client.py
index 1e420ddd..2415d1da 100644
--- a/src/auth0/management/types/client.py
+++ b/src/auth0/management/types/client.py
@@ -27,6 +27,7 @@
from .client_mobile import ClientMobile
from .client_my_organization_response_configuration import ClientMyOrganizationResponseConfiguration
from .client_oidc_backchannel_logout_settings import ClientOidcBackchannelLogoutSettings
+from .client_oidc_support import ClientOidcSupport
from .client_organization_discovery_enum import ClientOrganizationDiscoveryEnum
from .client_organization_require_behavior_enum import ClientOrganizationRequireBehaviorEnum
from .client_organization_usage_enum import ClientOrganizationUsageEnum
@@ -258,6 +259,7 @@ class Client(UniversalBaseModel):
None
)
third_party_security_mode: typing.Optional[ClientThirdPartySecurityModeEnum] = None
+ oidc_support: typing.Optional[ClientOidcSupport] = None
redirection_policy: typing.Optional[ClientRedirectionPolicyEnum] = None
resource_server_identifier: typing.Optional[str] = pydantic.Field(default=None)
"""
diff --git a/src/auth0/management/types/captcha_policy_action_friendly_captcha_input.py b/src/auth0/management/types/client_oidc_support.py
similarity index 56%
rename from src/auth0/management/types/captcha_policy_action_friendly_captcha_input.py
rename to src/auth0/management/types/client_oidc_support.py
index fbb19958..5a0009a4 100644
--- a/src/auth0/management/types/captcha_policy_action_friendly_captcha_input.py
+++ b/src/auth0/management/types/client_oidc_support.py
@@ -4,22 +4,17 @@
import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .client_oidc_support_allowed_scopes_enum import ClientOidcSupportAllowedScopesEnum
-class CaptchaPolicyActionFriendlyCaptchaInput(UniversalBaseModel):
+class ClientOidcSupport(UniversalBaseModel):
"""
- Friendly Captcha provider configuration.
+ OIDC support configuration for this client.
"""
- site_key: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Friendly Captcha site key.
- """
-
- secret: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Friendly Captcha secret key. Encrypted at rest.
- """
+ is_allowed: typing.Optional[bool] = None
+ allow_all_scopes: typing.Optional[bool] = None
+ allowed_scopes: typing.Optional[typing.List[ClientOidcSupportAllowedScopesEnum]] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/auth0/management/types/client_search_response.py b/src/auth0/management/types/client_search_response.py
index 892d794e..85955713 100644
--- a/src/auth0/management/types/client_search_response.py
+++ b/src/auth0/management/types/client_search_response.py
@@ -25,6 +25,7 @@
from .client_mobile import ClientMobile
from .client_my_organization_response_configuration import ClientMyOrganizationResponseConfiguration
from .client_oidc_backchannel_logout_settings import ClientOidcBackchannelLogoutSettings
+from .client_oidc_support import ClientOidcSupport
from .client_organization_discovery_enum import ClientOrganizationDiscoveryEnum
from .client_organization_require_behavior_enum import ClientOrganizationRequireBehaviorEnum
from .client_organization_usage_enum import ClientOrganizationUsageEnum
@@ -247,6 +248,7 @@ class ClientSearchResponse(UniversalBaseModel):
None
)
third_party_security_mode: typing.Optional[ClientThirdPartySecurityModeEnum] = None
+ oidc_support: typing.Optional[ClientOidcSupport] = None
redirection_policy: typing.Optional[ClientRedirectionPolicyEnum] = None
resource_server_identifier: typing.Optional[str] = pydantic.Field(default=None)
"""
diff --git a/src/auth0/management/types/connection_client_id_samlxaa_requesting_app.py b/src/auth0/management/types/connection_client_id_samlxaa_requesting_app.py
new file mode 100644
index 00000000..411b30bd
--- /dev/null
+++ b/src/auth0/management/types/connection_client_id_samlxaa_requesting_app.py
@@ -0,0 +1,8 @@
+# This file was auto-generated by Fern from our API Definition.
+
+from .connection_client_id_oidc import ConnectionClientIdOidc
+
+ConnectionClientIdSamlxaaRequestingApp = ConnectionClientIdOidc
+"""
+OIDC client identifier issued by the identity provider during application registration. Used to authenticate your Auth0 connection when exchanging SAML Assertions for Refresh Tokens.
+"""
diff --git a/src/auth0/management/types/connection_client_secret_samlxaa_requesting_app.py b/src/auth0/management/types/connection_client_secret_samlxaa_requesting_app.py
new file mode 100644
index 00000000..1009f144
--- /dev/null
+++ b/src/auth0/management/types/connection_client_secret_samlxaa_requesting_app.py
@@ -0,0 +1,6 @@
+# This file was auto-generated by Fern from our API Definition.
+
+ConnectionClientSecretSamlxaaRequestingApp = str
+"""
+OAuth 2.0 client secret issued by the identity provider during application registration. Used to authenticate your Auth0 connection when exchanging authorization codes for tokens. May be null for public clients.
+"""
diff --git a/src/auth0/management/types/connection_options_auth_0.py b/src/auth0/management/types/connection_options_auth_0.py
index 4f0c007d..8767ff42 100644
--- a/src/auth0/management/types/connection_options_auth_0.py
+++ b/src/auth0/management/types/connection_options_auth_0.py
@@ -19,6 +19,7 @@
from .connection_import_mode import ConnectionImportMode
from .connection_mfa import ConnectionMfa
from .connection_options_common import ConnectionOptionsCommon
+from .connection_otp_settings import ConnectionOtpSettings
from .connection_passkey_options import ConnectionPasskeyOptions
from .connection_password_complexity_options import ConnectionPasswordComplexityOptions
from .connection_password_dictionary_options import ConnectionPasswordDictionaryOptions
@@ -55,6 +56,7 @@ class ConnectionOptionsAuth0(ConnectionOptionsCommon):
] = None
import_mode: typing.Optional[ConnectionImportMode] = None
mfa: typing.Optional[ConnectionMfa] = None
+ otp_settings: typing.Optional[ConnectionOtpSettings] = None
passkey_options: typing.Optional[ConnectionPasskeyOptions] = None
password_policy: typing_extensions.Annotated[
typing.Optional[ConnectionPasswordPolicyEnum],
diff --git a/src/auth0/management/types/connection_options_saml.py b/src/auth0/management/types/connection_options_saml.py
index 983df2ef..c6d2c639 100644
--- a/src/auth0/management/types/connection_options_saml.py
+++ b/src/auth0/management/types/connection_options_saml.py
@@ -6,6 +6,8 @@
import typing_extensions
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.serialization import FieldMetadata
+from .connection_client_id_samlxaa_requesting_app import ConnectionClientIdSamlxaaRequestingApp
+from .connection_client_secret_samlxaa_requesting_app import ConnectionClientSecretSamlxaaRequestingApp
from .connection_debug_saml import ConnectionDebugSaml
from .connection_destination_url_saml import ConnectionDestinationUrlSaml
from .connection_discovery_url import ConnectionDiscoveryUrl
@@ -31,6 +33,8 @@ class ConnectionOptionsSaml(ConnectionOptionsCommonSaml, ConnectionOptionsCommon
Options for the 'samlp' connection
"""
+ client_id: typing.Optional[ConnectionClientIdSamlxaaRequestingApp] = None
+ client_secret: typing.Optional[ConnectionClientSecretSamlxaaRequestingApp] = None
debug: typing.Optional[ConnectionDebugSaml] = None
deflate: typing.Optional[ConnectionOptionsDeflateSaml] = None
destination_url: typing_extensions.Annotated[
diff --git a/src/auth0/management/types/captcha_policy_action_recaptcha_enterprise.py b/src/auth0/management/types/connection_otp_channel_settings.py
similarity index 60%
rename from src/auth0/management/types/captcha_policy_action_recaptcha_enterprise.py
rename to src/auth0/management/types/connection_otp_channel_settings.py
index 30e1748e..591f10de 100644
--- a/src/auth0/management/types/captcha_policy_action_recaptcha_enterprise.py
+++ b/src/auth0/management/types/connection_otp_channel_settings.py
@@ -6,19 +6,19 @@
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-class CaptchaPolicyActionRecaptchaEnterprise(UniversalBaseModel):
+class ConnectionOtpChannelSettings(UniversalBaseModel):
"""
- reCAPTCHA Enterprise provider configuration.
+ OTP settings for a delivery channel.
"""
- site_key: typing.Optional[str] = pydantic.Field(default=None)
+ otp_length: typing.Optional[int] = pydantic.Field(default=None)
"""
- The reCAPTCHA Enterprise site key.
+ Number of digits in the generated one-time password.
"""
- project_id: typing.Optional[str] = pydantic.Field(default=None)
+ otp_expiry: typing.Optional[int] = pydantic.Field(default=None)
"""
- The Google Cloud project ID.
+ Number of seconds before the one-time password expires.
"""
if IS_PYDANTIC_V2:
diff --git a/src/auth0/management/types/captcha_policy_action_recaptcha_v_2.py b/src/auth0/management/types/connection_otp_settings.py
similarity index 60%
rename from src/auth0/management/types/captcha_policy_action_recaptcha_v_2.py
rename to src/auth0/management/types/connection_otp_settings.py
index dc3d9d3d..613b8da5 100644
--- a/src/auth0/management/types/captcha_policy_action_recaptcha_v_2.py
+++ b/src/auth0/management/types/connection_otp_settings.py
@@ -4,17 +4,16 @@
import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .connection_otp_channel_settings import ConnectionOtpChannelSettings
-class CaptchaPolicyActionRecaptchaV2(UniversalBaseModel):
+class ConnectionOtpSettings(UniversalBaseModel):
"""
- reCAPTCHA v2 provider configuration.
+ One-time password settings, configurable per delivery channel.
"""
- site_key: typing.Optional[str] = pydantic.Field(default=None)
- """
- The reCAPTCHA v2 site key.
- """
+ email: typing.Optional[ConnectionOtpChannelSettings] = None
+ phone: typing.Optional[ConnectionOtpChannelSettings] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/auth0/management/types/connection_properties_options.py b/src/auth0/management/types/connection_properties_options.py
index 12bf209d..5af9a9bb 100644
--- a/src/auth0/management/types/connection_properties_options.py
+++ b/src/auth0/management/types/connection_properties_options.py
@@ -16,6 +16,7 @@
from .connection_id_token_session_expiry_supported import ConnectionIdTokenSessionExpirySupported
from .connection_id_token_signed_response_algs import ConnectionIdTokenSignedResponseAlgs
from .connection_identifier_precedence_enum import ConnectionIdentifierPrecedenceEnum
+from .connection_otp_settings import ConnectionOtpSettings
from .connection_passkey_options import ConnectionPasskeyOptions
from .connection_password_complexity_options import ConnectionPasswordComplexityOptions
from .connection_password_dictionary_options import ConnectionPasswordDictionaryOptions
@@ -83,6 +84,7 @@ class ConnectionPropertiesOptions(UniversalBaseModel):
FieldMetadata(alias="customScripts"),
pydantic.Field(alias="customScripts"),
] = None
+ otp_settings: typing.Optional[ConnectionOtpSettings] = None
authentication_methods: typing.Optional[ConnectionAuthenticationMethods] = None
passkey_options: typing.Optional[ConnectionPasskeyOptions] = None
password_policy: typing_extensions.Annotated[
diff --git a/src/auth0/management/types/connection_response_content_saml.py b/src/auth0/management/types/connection_response_content_saml.py
index 294a5a08..914fef66 100644
--- a/src/auth0/management/types/connection_response_content_saml.py
+++ b/src/auth0/management/types/connection_response_content_saml.py
@@ -11,6 +11,7 @@
from .connection_response_common import ConnectionResponseCommon
from .connection_response_content_saml_strategy import ConnectionResponseContentSamlStrategy
from .connection_show_as_button import ConnectionShowAsButton
+from .cross_app_access_requesting_app import CrossAppAccessRequestingApp
class ConnectionResponseContentSaml(ConnectionPurposes, ConnectionResponseCommon):
@@ -19,6 +20,7 @@ class ConnectionResponseContentSaml(ConnectionPurposes, ConnectionResponseCommon
"""
strategy: ConnectionResponseContentSamlStrategy
+ cross_app_access_requesting_app: typing.Optional[CrossAppAccessRequestingApp] = None
cross_app_access_resource_app: typing.Optional[ConnectionCrossAppAccessResourceApp] = None
options: typing.Optional[ConnectionOptionsSaml] = None
provisioning_ticket_url: typing.Optional[ConnectionProvisioningTicketUrl] = None
diff --git a/src/auth0/management/types/consent_signing_key.py b/src/auth0/management/types/consent_signing_key.py
new file mode 100644
index 00000000..0e83131d
--- /dev/null
+++ b/src/auth0/management/types/consent_signing_key.py
@@ -0,0 +1,38 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ConsentSigningKey(UniversalBaseModel):
+ kid: str = pydantic.Field()
+ """
+ The key identifier of the consent signing key.
+ """
+
+ device_identifier: str = pydantic.Field()
+ """
+ A human-readable label for the device holding the corresponding private key.
+ """
+
+ created_at: dt.datetime = pydantic.Field()
+ """
+ The ISO 8601 timestamp at which the key was registered.
+ """
+
+ expires_at: dt.datetime = pydantic.Field()
+ """
+ The ISO 8601 timestamp at which the key expires and can no longer be used to verify consent decisions.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/auth0/management/types/create_client_response_content.py b/src/auth0/management/types/create_client_response_content.py
index 15f8291d..e11d4eae 100644
--- a/src/auth0/management/types/create_client_response_content.py
+++ b/src/auth0/management/types/create_client_response_content.py
@@ -27,6 +27,7 @@
from .client_mobile import ClientMobile
from .client_my_organization_response_configuration import ClientMyOrganizationResponseConfiguration
from .client_oidc_backchannel_logout_settings import ClientOidcBackchannelLogoutSettings
+from .client_oidc_support import ClientOidcSupport
from .client_organization_discovery_enum import ClientOrganizationDiscoveryEnum
from .client_organization_require_behavior_enum import ClientOrganizationRequireBehaviorEnum
from .client_organization_usage_enum import ClientOrganizationUsageEnum
@@ -258,6 +259,7 @@ class CreateClientResponseContent(UniversalBaseModel):
None
)
third_party_security_mode: typing.Optional[ClientThirdPartySecurityModeEnum] = None
+ oidc_support: typing.Optional[ClientOidcSupport] = None
redirection_policy: typing.Optional[ClientRedirectionPolicyEnum] = None
resource_server_identifier: typing.Optional[str] = pydantic.Field(default=None)
"""
diff --git a/src/auth0/management/types/create_connection_request_content_saml.py b/src/auth0/management/types/create_connection_request_content_saml.py
index bf2c40ae..ff1e3958 100644
--- a/src/auth0/management/types/create_connection_request_content_saml.py
+++ b/src/auth0/management/types/create_connection_request_content_saml.py
@@ -9,6 +9,7 @@
from .connection_show_as_button import ConnectionShowAsButton
from .create_connection_common import CreateConnectionCommon
from .create_connection_request_content_saml_strategy import CreateConnectionRequestContentSamlStrategy
+from .cross_app_access_requesting_app import CrossAppAccessRequestingApp
class CreateConnectionRequestContentSaml(CreateConnectionCommon):
@@ -17,6 +18,7 @@ class CreateConnectionRequestContentSaml(CreateConnectionCommon):
"""
strategy: CreateConnectionRequestContentSamlStrategy
+ cross_app_access_requesting_app: typing.Optional[CrossAppAccessRequestingApp] = None
cross_app_access_resource_app: typing.Optional[ConnectionCrossAppAccessResourceApp] = None
options: typing.Optional[ConnectionOptionsSaml] = None
show_as_button: typing.Optional[ConnectionShowAsButton] = None
diff --git a/src/auth0/management/types/create_experiment_response_content.py b/src/auth0/management/types/create_experiment_response_content.py
index 200f2ee9..ef0de3f1 100644
--- a/src/auth0/management/types/create_experiment_response_content.py
+++ b/src/auth0/management/types/create_experiment_response_content.py
@@ -20,7 +20,11 @@ class CreateExperimentResponseContent(UniversalBaseModel):
authentication_flow: str
allocation_strategy: AllocationStrategyEnum
status: ExperimentStatusEnum
- is_valid: bool
+ is_valid: bool = pydantic.Field()
+ """
+ Whether the experiment is valid and ready to activate, as of its last update. It can lag changes made later to related entities. Call POST /experiments/{id}/validate for the current result.
+ """
+
default_config: typing.Optional[DefaultConfigEnum] = None
feature_flag_snapshot: typing.Optional[typing.Dict[str, typing.Any]] = None
allocations: typing.List[AllocationItem]
diff --git a/src/auth0/management/types/create_resource_server_response_content.py b/src/auth0/management/types/create_resource_server_response_content.py
index 447c41c3..62e636e2 100644
--- a/src/auth0/management/types/create_resource_server_response_content.py
+++ b/src/auth0/management/types/create_resource_server_response_content.py
@@ -12,6 +12,7 @@
from .resource_server_subject_type_authorization import ResourceServerSubjectTypeAuthorization
from .resource_server_token_dialect_response_enum import ResourceServerTokenDialectResponseEnum
from .resource_server_token_encryption import ResourceServerTokenEncryption
+from .resource_server_type_enum import ResourceServerTypeEnum
from .signing_algorithm_enum import SigningAlgorithmEnum
@@ -105,6 +106,8 @@ class CreateResourceServerResponseContent(UniversalBaseModel):
The client ID of the client that this resource server is linked to
"""
+ type: typing.Optional[ResourceServerTypeEnum] = None
+
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:
diff --git a/src/auth0/management/types/event_stream_cloud_event_context.py b/src/auth0/management/types/event_stream_cloud_event_context.py
index 532db5bd..3c065cfc 100644
--- a/src/auth0/management/types/event_stream_cloud_event_context.py
+++ b/src/auth0/management/types/event_stream_cloud_event_context.py
@@ -8,6 +8,7 @@
from .event_stream_cloud_event_context_connection import EventStreamCloudEventContextConnection
from .event_stream_cloud_event_context_request import EventStreamCloudEventContextRequest
from .event_stream_cloud_event_context_tenant import EventStreamCloudEventContextTenant
+from .event_stream_cloud_event_context_transaction import EventStreamCloudEventContextTransaction
class EventStreamCloudEventContext(UniversalBaseModel):
@@ -23,6 +24,7 @@ class EventStreamCloudEventContext(UniversalBaseModel):
connection: typing.Optional[EventStreamCloudEventContextConnection] = None
request: typing.Optional[EventStreamCloudEventContextRequest] = None
tenant: EventStreamCloudEventContextTenant
+ transaction: typing.Optional[EventStreamCloudEventContextTransaction] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/auth0/management/types/event_stream_cloud_event_context_transaction.py b/src/auth0/management/types/event_stream_cloud_event_context_transaction.py
new file mode 100644
index 00000000..57f5ba29
--- /dev/null
+++ b/src/auth0/management/types/event_stream_cloud_event_context_transaction.py
@@ -0,0 +1,79 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .event_stream_cloud_event_context_transaction_protocol_enum import (
+ EventStreamCloudEventContextTransactionProtocolEnum,
+)
+from .event_stream_cloud_event_context_transaction_response_mode_enum import (
+ EventStreamCloudEventContextTransactionResponseModeEnum,
+)
+from .event_stream_cloud_event_context_transaction_response_type_item_enum import (
+ EventStreamCloudEventContextTransactionResponseTypeItemEnum,
+)
+
+
+class EventStreamCloudEventContextTransaction(UniversalBaseModel):
+ """
+ An auth transaction.
+ """
+
+ acr_values: typing.List[str] = pydantic.Field()
+ """
+ acr_values in the request.
+ """
+
+ locale: str = pydantic.Field()
+ """
+ The locale used for this transaction.
+ """
+
+ login_hint: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Hint about the login identifier the user might use in this transaction.
+ """
+
+ prompt: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Instructions indicating whether the user may be prompted for re-authentication and consent.
+ """
+
+ protocol: typing.Optional[EventStreamCloudEventContextTransactionProtocolEnum] = None
+ redirect_uri: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The URL to which the client will be redirected when the transaction completes.
+ """
+
+ requested_scopes: typing.List[str] = pydantic.Field()
+ """
+ The scopes requested.
+ """
+
+ response_mode: typing.Optional[EventStreamCloudEventContextTransactionResponseModeEnum] = None
+ response_type: typing.Optional[typing.List[EventStreamCloudEventContextTransactionResponseTypeItemEnum]] = (
+ pydantic.Field(default=None)
+ )
+ """
+ The kind of credential issued by this transaction.
+ """
+
+ state: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The OAuth state parameter for this transaction.
+ """
+
+ ui_locales: typing.List[str] = pydantic.Field()
+ """
+ The ui_locales requested for this transaction.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/auth0/management/types/event_stream_cloud_event_context_transaction_protocol_enum.py b/src/auth0/management/types/event_stream_cloud_event_context_transaction_protocol_enum.py
new file mode 100644
index 00000000..009d6ed8
--- /dev/null
+++ b/src/auth0/management/types/event_stream_cloud_event_context_transaction_protocol_enum.py
@@ -0,0 +1,23 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+EventStreamCloudEventContextTransactionProtocolEnum = typing.Union[
+ typing.Literal[
+ "oidc-basic-profile",
+ "oidc-implicit-profile",
+ "oauth2-device-code",
+ "oauth2-resource-owner",
+ "oauth2-resource-owner-jwt-bearer",
+ "oauth2-password",
+ "oauth2-webauthn",
+ "oauth2-access-token",
+ "oauth2-refresh-token",
+ "oauth2-token-exchange",
+ "oidc-hybrid-profile",
+ "samlp",
+ "wsfed",
+ "wstrust-usernamemixed",
+ ],
+ typing.Any,
+]
diff --git a/src/auth0/management/types/event_stream_cloud_event_context_transaction_response_mode_enum.py b/src/auth0/management/types/event_stream_cloud_event_context_transaction_response_mode_enum.py
new file mode 100644
index 00000000..2999557a
--- /dev/null
+++ b/src/auth0/management/types/event_stream_cloud_event_context_transaction_response_mode_enum.py
@@ -0,0 +1,7 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+EventStreamCloudEventContextTransactionResponseModeEnum = typing.Union[
+ typing.Literal["query", "fragment", "form_post", "web_message"], typing.Any
+]
diff --git a/src/auth0/management/types/event_stream_cloud_event_context_transaction_response_type_item_enum.py b/src/auth0/management/types/event_stream_cloud_event_context_transaction_response_type_item_enum.py
new file mode 100644
index 00000000..a2fb4260
--- /dev/null
+++ b/src/auth0/management/types/event_stream_cloud_event_context_transaction_response_type_item_enum.py
@@ -0,0 +1,7 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+EventStreamCloudEventContextTransactionResponseTypeItemEnum = typing.Union[
+ typing.Literal["code", "token", "id_token"], typing.Any
+]
diff --git a/src/auth0/management/types/experiment_list_item.py b/src/auth0/management/types/experiment_list_item.py
index 1c4ba5fe..d77a6d5e 100644
--- a/src/auth0/management/types/experiment_list_item.py
+++ b/src/auth0/management/types/experiment_list_item.py
@@ -20,7 +20,11 @@ class ExperimentListItem(UniversalBaseModel):
authentication_flow: str
allocation_strategy: AllocationStrategyEnum
status: ExperimentStatusEnum
- is_valid: bool
+ is_valid: bool = pydantic.Field()
+ """
+ Whether the experiment is valid and ready to activate, as of its last update. It can lag changes made later to related entities. Call POST /experiments/{id}/validate for the current result.
+ """
+
default_config: typing.Optional[DefaultConfigEnum] = None
feature_flag_snapshot: typing.Optional[typing.Dict[str, typing.Any]] = None
allocations: typing.List[AllocationItem]
diff --git a/src/auth0/management/types/get_brute_force_settings_response_content.py b/src/auth0/management/types/get_brute_force_settings_response_content.py
index 2799d068..52f650a7 100644
--- a/src/auth0/management/types/get_brute_force_settings_response_content.py
+++ b/src/auth0/management/types/get_brute_force_settings_response_content.py
@@ -27,13 +27,12 @@ class GetBruteForceSettingsResponseContent(UniversalBaseModel):
"""
mode: typing.Optional[BruteForceProtectionModeEnum] = None
+ form_submission_mode: typing.Optional[BruteForceProtectionFormSubmissionModeEnum] = None
max_attempts: typing.Optional[int] = pydantic.Field(default=None)
"""
Maximum number of unsuccessful attempts.
"""
- form_submission_mode: typing.Optional[BruteForceProtectionFormSubmissionModeEnum] = None
-
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:
diff --git a/src/auth0/management/types/get_client_response_content.py b/src/auth0/management/types/get_client_response_content.py
index 41399951..12e7db35 100644
--- a/src/auth0/management/types/get_client_response_content.py
+++ b/src/auth0/management/types/get_client_response_content.py
@@ -27,6 +27,7 @@
from .client_mobile import ClientMobile
from .client_my_organization_response_configuration import ClientMyOrganizationResponseConfiguration
from .client_oidc_backchannel_logout_settings import ClientOidcBackchannelLogoutSettings
+from .client_oidc_support import ClientOidcSupport
from .client_organization_discovery_enum import ClientOrganizationDiscoveryEnum
from .client_organization_require_behavior_enum import ClientOrganizationRequireBehaviorEnum
from .client_organization_usage_enum import ClientOrganizationUsageEnum
@@ -258,6 +259,7 @@ class GetClientResponseContent(UniversalBaseModel):
None
)
third_party_security_mode: typing.Optional[ClientThirdPartySecurityModeEnum] = None
+ oidc_support: typing.Optional[ClientOidcSupport] = None
redirection_policy: typing.Optional[ClientRedirectionPolicyEnum] = None
resource_server_identifier: typing.Optional[str] = pydantic.Field(default=None)
"""
diff --git a/src/auth0/management/types/get_experiment_response_content.py b/src/auth0/management/types/get_experiment_response_content.py
index 5ea178c1..5411931d 100644
--- a/src/auth0/management/types/get_experiment_response_content.py
+++ b/src/auth0/management/types/get_experiment_response_content.py
@@ -20,7 +20,11 @@ class GetExperimentResponseContent(UniversalBaseModel):
authentication_flow: str
allocation_strategy: AllocationStrategyEnum
status: ExperimentStatusEnum
- is_valid: bool
+ is_valid: bool = pydantic.Field()
+ """
+ Whether the experiment is valid and ready to activate, as of its last update. It can lag changes made later to related entities. Call POST /experiments/{id}/validate for the current result.
+ """
+
default_config: typing.Optional[DefaultConfigEnum] = None
feature_flag_snapshot: typing.Optional[typing.Dict[str, typing.Any]] = None
allocations: typing.List[AllocationItem]
diff --git a/src/auth0/management/types/get_resource_server_response_content.py b/src/auth0/management/types/get_resource_server_response_content.py
index 0b60b730..515de4e7 100644
--- a/src/auth0/management/types/get_resource_server_response_content.py
+++ b/src/auth0/management/types/get_resource_server_response_content.py
@@ -12,6 +12,7 @@
from .resource_server_subject_type_authorization import ResourceServerSubjectTypeAuthorization
from .resource_server_token_dialect_response_enum import ResourceServerTokenDialectResponseEnum
from .resource_server_token_encryption import ResourceServerTokenEncryption
+from .resource_server_type_enum import ResourceServerTypeEnum
from .signing_algorithm_enum import SigningAlgorithmEnum
@@ -105,6 +106,8 @@ class GetResourceServerResponseContent(UniversalBaseModel):
The client ID of the client that this resource server is linked to
"""
+ type: typing.Optional[ResourceServerTypeEnum] = None
+
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:
diff --git a/src/auth0/management/types/list_attack_protection_captcha_policies_response_content.py b/src/auth0/management/types/list_attack_protection_captcha_policies_response_content.py
deleted file mode 100644
index 17c79979..00000000
--- a/src/auth0/management/types/list_attack_protection_captcha_policies_response_content.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .attack_protection_captcha_policy import AttackProtectionCaptchaPolicy
-
-ListAttackProtectionCaptchaPoliciesResponseContent = typing.List[AttackProtectionCaptchaPolicy]
-"""
-List of CAPTCHA attack protection policies for the tenant, sorted by priority ascending.
-"""
diff --git a/src/auth0/management/types/list_user_consent_signing_keys_response_content.py b/src/auth0/management/types/list_user_consent_signing_keys_response_content.py
new file mode 100644
index 00000000..76368180
--- /dev/null
+++ b/src/auth0/management/types/list_user_consent_signing_keys_response_content.py
@@ -0,0 +1,7 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+from .consent_signing_key import ConsentSigningKey
+
+ListUserConsentSigningKeysResponseContent = typing.List[ConsentSigningKey]
diff --git a/src/auth0/management/types/resource_server.py b/src/auth0/management/types/resource_server.py
index b2b161aa..94ba5362 100644
--- a/src/auth0/management/types/resource_server.py
+++ b/src/auth0/management/types/resource_server.py
@@ -12,6 +12,7 @@
from .resource_server_subject_type_authorization import ResourceServerSubjectTypeAuthorization
from .resource_server_token_dialect_response_enum import ResourceServerTokenDialectResponseEnum
from .resource_server_token_encryption import ResourceServerTokenEncryption
+from .resource_server_type_enum import ResourceServerTypeEnum
from .signing_algorithm_enum import SigningAlgorithmEnum
@@ -105,6 +106,8 @@ class ResourceServer(UniversalBaseModel):
The client ID of the client that this resource server is linked to
"""
+ type: typing.Optional[ResourceServerTypeEnum] = None
+
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:
diff --git a/src/auth0/management/types/resource_server_search_response.py b/src/auth0/management/types/resource_server_search_response.py
index 2c9438fb..8f92215f 100644
--- a/src/auth0/management/types/resource_server_search_response.py
+++ b/src/auth0/management/types/resource_server_search_response.py
@@ -12,6 +12,7 @@
from .resource_server_subject_type_authorization import ResourceServerSubjectTypeAuthorization
from .resource_server_token_dialect_response_enum import ResourceServerTokenDialectResponseEnum
from .resource_server_token_encryption import ResourceServerTokenEncryption
+from .resource_server_type_enum import ResourceServerTypeEnum
from .signing_algorithm_enum import SigningAlgorithmEnum
@@ -100,6 +101,8 @@ class ResourceServerSearchResponse(UniversalBaseModel):
The client ID of the client that this resource server is linked to
"""
+ type: typing.Optional[ResourceServerTypeEnum] = None
+
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:
diff --git a/src/auth0/management/types/resource_server_type_enum.py b/src/auth0/management/types/resource_server_type_enum.py
new file mode 100644
index 00000000..6230602e
--- /dev/null
+++ b/src/auth0/management/types/resource_server_type_enum.py
@@ -0,0 +1,5 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+ResourceServerTypeEnum = typing.Union[typing.Literal["universal_commerce_protocol_server"], typing.Any]
diff --git a/src/auth0/management/types/rotate_client_secret_response_content.py b/src/auth0/management/types/rotate_client_secret_response_content.py
index dc45bad3..abe4c86a 100644
--- a/src/auth0/management/types/rotate_client_secret_response_content.py
+++ b/src/auth0/management/types/rotate_client_secret_response_content.py
@@ -27,6 +27,7 @@
from .client_mobile import ClientMobile
from .client_my_organization_response_configuration import ClientMyOrganizationResponseConfiguration
from .client_oidc_backchannel_logout_settings import ClientOidcBackchannelLogoutSettings
+from .client_oidc_support import ClientOidcSupport
from .client_organization_discovery_enum import ClientOrganizationDiscoveryEnum
from .client_organization_require_behavior_enum import ClientOrganizationRequireBehaviorEnum
from .client_organization_usage_enum import ClientOrganizationUsageEnum
@@ -258,6 +259,7 @@ class RotateClientSecretResponseContent(UniversalBaseModel):
None
)
third_party_security_mode: typing.Optional[ClientThirdPartySecurityModeEnum] = None
+ oidc_support: typing.Optional[ClientOidcSupport] = None
redirection_policy: typing.Optional[ClientRedirectionPolicyEnum] = None
resource_server_identifier: typing.Optional[str] = pydantic.Field(default=None)
"""
diff --git a/src/auth0/management/types/tenant_settings_flags.py b/src/auth0/management/types/tenant_settings_flags.py
index 12d77eac..1d31ea2c 100644
--- a/src/auth0/management/types/tenant_settings_flags.py
+++ b/src/auth0/management/types/tenant_settings_flags.py
@@ -131,7 +131,7 @@ class TenantSettingsFlags(UniversalBaseModel):
dashboard_insights_view: typing.Optional[bool] = pydantic.Field(default=None)
"""
- Enables new insights activity page view
+ Deprecated. This flag has no effect and is retained only for backward compatibility
"""
disable_fields_map_fix: typing.Optional[bool] = pydantic.Field(default=None)
diff --git a/src/auth0/management/types/update_brute_force_settings_response_content.py b/src/auth0/management/types/update_brute_force_settings_response_content.py
index e3f673f1..e01750f1 100644
--- a/src/auth0/management/types/update_brute_force_settings_response_content.py
+++ b/src/auth0/management/types/update_brute_force_settings_response_content.py
@@ -27,13 +27,12 @@ class UpdateBruteForceSettingsResponseContent(UniversalBaseModel):
"""
mode: typing.Optional[BruteForceProtectionModeEnum] = None
+ form_submission_mode: typing.Optional[BruteForceProtectionFormSubmissionModeEnum] = None
max_attempts: typing.Optional[int] = pydantic.Field(default=None)
"""
Maximum number of unsuccessful attempts.
"""
- form_submission_mode: typing.Optional[BruteForceProtectionFormSubmissionModeEnum] = None
-
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:
diff --git a/src/auth0/management/types/update_client_response_content.py b/src/auth0/management/types/update_client_response_content.py
index 304fd3aa..a2f4e48c 100644
--- a/src/auth0/management/types/update_client_response_content.py
+++ b/src/auth0/management/types/update_client_response_content.py
@@ -27,6 +27,7 @@
from .client_mobile import ClientMobile
from .client_my_organization_response_configuration import ClientMyOrganizationResponseConfiguration
from .client_oidc_backchannel_logout_settings import ClientOidcBackchannelLogoutSettings
+from .client_oidc_support import ClientOidcSupport
from .client_organization_discovery_enum import ClientOrganizationDiscoveryEnum
from .client_organization_require_behavior_enum import ClientOrganizationRequireBehaviorEnum
from .client_organization_usage_enum import ClientOrganizationUsageEnum
@@ -258,6 +259,7 @@ class UpdateClientResponseContent(UniversalBaseModel):
None
)
third_party_security_mode: typing.Optional[ClientThirdPartySecurityModeEnum] = None
+ oidc_support: typing.Optional[ClientOidcSupport] = None
redirection_policy: typing.Optional[ClientRedirectionPolicyEnum] = None
resource_server_identifier: typing.Optional[str] = pydantic.Field(default=None)
"""
diff --git a/src/auth0/management/types/update_connection_options.py b/src/auth0/management/types/update_connection_options.py
index e5c4af5c..e725752c 100644
--- a/src/auth0/management/types/update_connection_options.py
+++ b/src/auth0/management/types/update_connection_options.py
@@ -16,6 +16,7 @@
from .connection_id_token_session_expiry_supported import ConnectionIdTokenSessionExpirySupported
from .connection_id_token_signed_response_algs import ConnectionIdTokenSignedResponseAlgs
from .connection_identifier_precedence_enum import ConnectionIdentifierPrecedenceEnum
+from .connection_otp_settings import ConnectionOtpSettings
from .connection_passkey_options import ConnectionPasskeyOptions
from .connection_password_complexity_options import ConnectionPasswordComplexityOptions
from .connection_password_dictionary_options import ConnectionPasswordDictionaryOptions
@@ -83,6 +84,7 @@ class UpdateConnectionOptions(UniversalBaseModel):
FieldMetadata(alias="customScripts"),
pydantic.Field(alias="customScripts"),
] = None
+ otp_settings: typing.Optional[ConnectionOtpSettings] = None
authentication_methods: typing.Optional[ConnectionAuthenticationMethods] = None
passkey_options: typing.Optional[ConnectionPasskeyOptions] = None
password_policy: typing_extensions.Annotated[
diff --git a/src/auth0/management/types/update_connection_request_content_saml.py b/src/auth0/management/types/update_connection_request_content_saml.py
index 38b29532..8718562c 100644
--- a/src/auth0/management/types/update_connection_request_content_saml.py
+++ b/src/auth0/management/types/update_connection_request_content_saml.py
@@ -8,6 +8,7 @@
from .connection_cross_app_access_resource_app import ConnectionCrossAppAccessResourceApp
from .connection_options_saml import ConnectionOptionsSaml
from .connection_show_as_button import ConnectionShowAsButton
+from .cross_app_access_requesting_app import CrossAppAccessRequestingApp
class UpdateConnectionRequestContentSaml(ConnectionCommon):
@@ -16,6 +17,7 @@ class UpdateConnectionRequestContentSaml(ConnectionCommon):
"""
options: typing.Optional[ConnectionOptionsSaml] = None
+ cross_app_access_requesting_app: typing.Optional[CrossAppAccessRequestingApp] = None
cross_app_access_resource_app: typing.Optional[ConnectionCrossAppAccessResourceApp] = None
show_as_button: typing.Optional[ConnectionShowAsButton] = None
diff --git a/src/auth0/management/types/update_experiment_response_content.py b/src/auth0/management/types/update_experiment_response_content.py
index 367e0fdf..2f25ab9c 100644
--- a/src/auth0/management/types/update_experiment_response_content.py
+++ b/src/auth0/management/types/update_experiment_response_content.py
@@ -20,7 +20,11 @@ class UpdateExperimentResponseContent(UniversalBaseModel):
authentication_flow: str
allocation_strategy: AllocationStrategyEnum
status: ExperimentStatusEnum
- is_valid: bool
+ is_valid: bool = pydantic.Field()
+ """
+ Whether the experiment is valid and ready to activate, as of its last update. It can lag changes made later to related entities. Call POST /experiments/{id}/validate for the current result.
+ """
+
default_config: typing.Optional[DefaultConfigEnum] = None
feature_flag_snapshot: typing.Optional[typing.Dict[str, typing.Any]] = None
allocations: typing.List[AllocationItem]
diff --git a/src/auth0/management/types/update_resource_server_response_content.py b/src/auth0/management/types/update_resource_server_response_content.py
index e60f14d0..9764b4a3 100644
--- a/src/auth0/management/types/update_resource_server_response_content.py
+++ b/src/auth0/management/types/update_resource_server_response_content.py
@@ -12,6 +12,7 @@
from .resource_server_subject_type_authorization import ResourceServerSubjectTypeAuthorization
from .resource_server_token_dialect_response_enum import ResourceServerTokenDialectResponseEnum
from .resource_server_token_encryption import ResourceServerTokenEncryption
+from .resource_server_type_enum import ResourceServerTypeEnum
from .signing_algorithm_enum import SigningAlgorithmEnum
@@ -105,6 +106,8 @@ class UpdateResourceServerResponseContent(UniversalBaseModel):
The client ID of the client that this resource server is linked to
"""
+ type: typing.Optional[ResourceServerTypeEnum] = None
+
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:
diff --git a/src/auth0/management/types/update_variation_overrides_map.py b/src/auth0/management/types/update_variation_overrides_map.py
index d895e780..0e202ae3 100644
--- a/src/auth0/management/types/update_variation_overrides_map.py
+++ b/src/auth0/management/types/update_variation_overrides_map.py
@@ -2,7 +2,7 @@
import typing
-UpdateVariationOverridesMap = typing.Dict[str, typing.Any]
+UpdateVariationOverridesMap = typing.Optional[typing.Dict[str, typing.Any]]
"""
-Configuration overrides for this variation; keys must exist in the parent flag parameters. Empty {} is the baseline (control) variation that overrides nothing.
+Top-level keys merge into the stored overrides. Set a key to `null` to remove it. Set `overrides` to `null` or `{}` to clear all. Keys must exist in the parent flag parameters.
"""
diff --git a/src/auth0/management/users/client.py b/src/auth0/management/users/client.py
index 04a8a141..ea1a060f 100644
--- a/src/auth0/management/users/client.py
+++ b/src/auth0/management/users/client.py
@@ -8,8 +8,10 @@
from ..core.pagination import AsyncPager, SyncPager
from ..core.request_options import RequestOptions
from ..types.app_metadata import AppMetadata
+from ..types.consent_signing_key import ConsentSigningKey
from ..types.create_user_response_content import CreateUserResponseContent
from ..types.get_user_response_content import GetUserResponseContent
+from ..types.list_user_consent_signing_keys_response_content import ListUserConsentSigningKeysResponseContent
from ..types.list_users_offset_paginated_response_content import ListUsersOffsetPaginatedResponseContent
from ..types.regenerate_users_recovery_code_response_content import RegenerateUsersRecoveryCodeResponseContent
from ..types.search_engine_versions_enum import SearchEngineVersionsEnum
@@ -651,6 +653,112 @@ def update(
)
return _response.data
+ def list_consent_signing_keys(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> ListUserConsentSigningKeysResponseContent:
+ """
+ Retrieve all consent signing keys registered for a user. Returns an empty array when the user has no keys registered.
+
+ Parameters
+ ----------
+ id : str
+ The ID of the user.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ListUserConsentSigningKeysResponseContent
+ The user's consent signing keys were returned.
+
+ Examples
+ --------
+ from auth0 import Auth0
+
+ client = Auth0(
+ token="YOUR_TOKEN",
+ )
+ client.users.list_consent_signing_keys(
+ id="id",
+ )
+ """
+ _response = self._raw_client.list_consent_signing_keys(id, request_options=request_options)
+ return _response.data
+
+ def get_consent_signing_key(
+ self, id: str, kid: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> ConsentSigningKey:
+ """
+ Retrieve a single consent signing key for a user by its key identifier (kid). Returns 404 if the key does not exist.
+
+ Parameters
+ ----------
+ id : str
+ The ID of the user.
+
+ kid : str
+ The key identifier of the consent signing key.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ConsentSigningKey
+ The consent signing key was returned.
+
+ Examples
+ --------
+ from auth0 import Auth0
+
+ client = Auth0(
+ token="YOUR_TOKEN",
+ )
+ client.users.get_consent_signing_key(
+ id="id",
+ kid="kid",
+ )
+ """
+ _response = self._raw_client.get_consent_signing_key(id, kid, request_options=request_options)
+ return _response.data
+
+ def delete_consent_signing_key(
+ self, id: str, kid: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> None:
+ """
+ Remove a single consent signing key for a user by its key identifier (kid). The operation is idempotent and returns 204 whether or not the key existed.
+
+ Parameters
+ ----------
+ id : str
+ The ID of the user.
+
+ kid : str
+ The key identifier of the consent signing key.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ from auth0 import Auth0
+
+ client = Auth0(
+ token="YOUR_TOKEN",
+ )
+ client.users.delete_consent_signing_key(
+ id="id",
+ kid="kid",
+ )
+ """
+ _response = self._raw_client.delete_consent_signing_key(id, kid, request_options=request_options)
+ return _response.data
+
def regenerate_recovery_code(
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
) -> RegenerateUsersRecoveryCodeResponseContent:
@@ -1519,6 +1627,136 @@ async def main() -> None:
)
return _response.data
+ async def list_consent_signing_keys(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> ListUserConsentSigningKeysResponseContent:
+ """
+ Retrieve all consent signing keys registered for a user. Returns an empty array when the user has no keys registered.
+
+ Parameters
+ ----------
+ id : str
+ The ID of the user.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ListUserConsentSigningKeysResponseContent
+ The user's consent signing keys were returned.
+
+ Examples
+ --------
+ import asyncio
+
+ from auth0 import AsyncAuth0
+
+ client = AsyncAuth0(
+ token="YOUR_TOKEN",
+ )
+
+
+ async def main() -> None:
+ await client.users.list_consent_signing_keys(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list_consent_signing_keys(id, request_options=request_options)
+ return _response.data
+
+ async def get_consent_signing_key(
+ self, id: str, kid: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> ConsentSigningKey:
+ """
+ Retrieve a single consent signing key for a user by its key identifier (kid). Returns 404 if the key does not exist.
+
+ Parameters
+ ----------
+ id : str
+ The ID of the user.
+
+ kid : str
+ The key identifier of the consent signing key.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ConsentSigningKey
+ The consent signing key was returned.
+
+ Examples
+ --------
+ import asyncio
+
+ from auth0 import AsyncAuth0
+
+ client = AsyncAuth0(
+ token="YOUR_TOKEN",
+ )
+
+
+ async def main() -> None:
+ await client.users.get_consent_signing_key(
+ id="id",
+ kid="kid",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.get_consent_signing_key(id, kid, request_options=request_options)
+ return _response.data
+
+ async def delete_consent_signing_key(
+ self, id: str, kid: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> None:
+ """
+ Remove a single consent signing key for a user by its key identifier (kid). The operation is idempotent and returns 204 whether or not the key existed.
+
+ Parameters
+ ----------
+ id : str
+ The ID of the user.
+
+ kid : str
+ The key identifier of the consent signing key.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ import asyncio
+
+ from auth0 import AsyncAuth0
+
+ client = AsyncAuth0(
+ token="YOUR_TOKEN",
+ )
+
+
+ async def main() -> None:
+ await client.users.delete_consent_signing_key(
+ id="id",
+ kid="kid",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.delete_consent_signing_key(id, kid, request_options=request_options)
+ return _response.data
+
async def regenerate_recovery_code(
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
) -> RegenerateUsersRecoveryCodeResponseContent:
diff --git a/src/auth0/management/users/raw_client.py b/src/auth0/management/users/raw_client.py
index 972ef29f..cc2f6797 100644
--- a/src/auth0/management/users/raw_client.py
+++ b/src/auth0/management/users/raw_client.py
@@ -19,8 +19,10 @@
from ..errors.too_many_requests_error import TooManyRequestsError
from ..errors.unauthorized_error import UnauthorizedError
from ..types.app_metadata import AppMetadata
+from ..types.consent_signing_key import ConsentSigningKey
from ..types.create_user_response_content import CreateUserResponseContent
from ..types.get_user_response_content import GetUserResponseContent
+from ..types.list_user_consent_signing_keys_response_content import ListUserConsentSigningKeysResponseContent
from ..types.list_users_offset_paginated_response_content import ListUsersOffsetPaginatedResponseContent
from ..types.regenerate_users_recovery_code_response_content import RegenerateUsersRecoveryCodeResponseContent
from ..types.search_engine_versions_enum import SearchEngineVersionsEnum
@@ -990,6 +992,276 @@ def update(
)
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+ def list_consent_signing_keys(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[ListUserConsentSigningKeysResponseContent]:
+ """
+ Retrieve all consent signing keys registered for a user. Returns an empty array when the user has no keys registered.
+
+ Parameters
+ ----------
+ id : str
+ The ID of the user.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[ListUserConsentSigningKeysResponseContent]
+ The user's consent signing keys were returned.
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"users/{quote_path_param(id)}/consent-signing-keys",
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ListUserConsentSigningKeysResponseContent,
+ parse_obj_as(
+ type_=ListUserConsentSigningKeysResponseContent, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 429:
+ raise TooManyRequestsError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def get_consent_signing_key(
+ self, id: str, kid: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[ConsentSigningKey]:
+ """
+ Retrieve a single consent signing key for a user by its key identifier (kid). Returns 404 if the key does not exist.
+
+ Parameters
+ ----------
+ id : str
+ The ID of the user.
+
+ kid : str
+ The key identifier of the consent signing key.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[ConsentSigningKey]
+ The consent signing key was returned.
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"users/{quote_path_param(id)}/consent-signing-keys/{quote_path_param(kid)}",
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ConsentSigningKey,
+ parse_obj_as(
+ type_=ConsentSigningKey, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 429:
+ raise TooManyRequestsError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def delete_consent_signing_key(
+ self, id: str, kid: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[None]:
+ """
+ Remove a single consent signing key for a user by its key identifier (kid). The operation is idempotent and returns 204 whether or not the key existed.
+
+ Parameters
+ ----------
+ id : str
+ The ID of the user.
+
+ kid : str
+ The key identifier of the consent signing key.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[None]
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"users/{quote_path_param(id)}/consent-signing-keys/{quote_path_param(kid)}",
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return HttpResponse(response=_response, data=None)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 429:
+ raise TooManyRequestsError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
def regenerate_recovery_code(
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
) -> HttpResponse[RegenerateUsersRecoveryCodeResponseContent]:
@@ -2138,6 +2410,276 @@ async def update(
)
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+ async def list_consent_signing_keys(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[ListUserConsentSigningKeysResponseContent]:
+ """
+ Retrieve all consent signing keys registered for a user. Returns an empty array when the user has no keys registered.
+
+ Parameters
+ ----------
+ id : str
+ The ID of the user.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[ListUserConsentSigningKeysResponseContent]
+ The user's consent signing keys were returned.
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"users/{quote_path_param(id)}/consent-signing-keys",
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ListUserConsentSigningKeysResponseContent,
+ parse_obj_as(
+ type_=ListUserConsentSigningKeysResponseContent, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 429:
+ raise TooManyRequestsError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def get_consent_signing_key(
+ self, id: str, kid: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[ConsentSigningKey]:
+ """
+ Retrieve a single consent signing key for a user by its key identifier (kid). Returns 404 if the key does not exist.
+
+ Parameters
+ ----------
+ id : str
+ The ID of the user.
+
+ kid : str
+ The key identifier of the consent signing key.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[ConsentSigningKey]
+ The consent signing key was returned.
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"users/{quote_path_param(id)}/consent-signing-keys/{quote_path_param(kid)}",
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ConsentSigningKey,
+ parse_obj_as(
+ type_=ConsentSigningKey, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 429:
+ raise TooManyRequestsError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def delete_consent_signing_key(
+ self, id: str, kid: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[None]:
+ """
+ Remove a single consent signing key for a user by its key identifier (kid). The operation is idempotent and returns 204 whether or not the key existed.
+
+ Parameters
+ ----------
+ id : str
+ The ID of the user.
+
+ kid : str
+ The key identifier of the consent signing key.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[None]
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"users/{quote_path_param(id)}/consent-signing-keys/{quote_path_param(kid)}",
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return AsyncHttpResponse(response=_response, data=None)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 429:
+ raise TooManyRequestsError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Any,
+ parse_obj_as(
+ type_=typing.Any, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
async def regenerate_recovery_code(
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
) -> AsyncHttpResponse[RegenerateUsersRecoveryCodeResponseContent]:
diff --git a/tests/wire/test_attackProtection_captchaPolicies.py b/tests/wire/test_attackProtection_captchaPolicies.py
deleted file mode 100644
index 5b5544b5..00000000
--- a/tests/wire/test_attackProtection_captchaPolicies.py
+++ /dev/null
@@ -1,54 +0,0 @@
-from .conftest import get_client, verify_request_count
-
-from auth0.management import AttackProtectionCaptchaPolicyActionInput, AttackProtectionCaptchaPolicyMatch
-
-
-def test_attackProtection_captchaPolicies_list_() -> None:
- """Test list endpoint with WireMock"""
- test_id = "attack_protection.captcha_policies.list_.0"
- client = get_client(test_id)
- client.attack_protection.captcha_policies.list()
- verify_request_count(test_id, "GET", "/attack-protection/captcha/policies", None, 1)
-
-
-def test_attackProtection_captchaPolicies_create() -> None:
- """Test create endpoint with WireMock"""
- test_id = "attack_protection.captcha_policies.create.0"
- client = get_client(test_id)
- client.attack_protection.captcha_policies.create(
- name="name",
- priority=1,
- match=AttackProtectionCaptchaPolicyMatch(),
- action=AttackProtectionCaptchaPolicyActionInput(),
- )
- verify_request_count(test_id, "POST", "/attack-protection/captcha/policies", None, 1)
-
-
-def test_attackProtection_captchaPolicies_get() -> None:
- """Test get endpoint with WireMock"""
- test_id = "attack_protection.captcha_policies.get.0"
- client = get_client(test_id)
- client.attack_protection.captcha_policies.get(
- id="id",
- )
- verify_request_count(test_id, "GET", "/attack-protection/captcha/policies/id", None, 1)
-
-
-def test_attackProtection_captchaPolicies_delete() -> None:
- """Test delete endpoint with WireMock"""
- test_id = "attack_protection.captcha_policies.delete.0"
- client = get_client(test_id)
- client.attack_protection.captcha_policies.delete(
- id="id",
- )
- verify_request_count(test_id, "DELETE", "/attack-protection/captcha/policies/id", None, 1)
-
-
-def test_attackProtection_captchaPolicies_update() -> None:
- """Test update endpoint with WireMock"""
- test_id = "attack_protection.captcha_policies.update.0"
- client = get_client(test_id)
- client.attack_protection.captcha_policies.update(
- id="id",
- )
- verify_request_count(test_id, "PATCH", "/attack-protection/captcha/policies/id", None, 1)
diff --git a/tests/wire/test_experimentation_experiments.py b/tests/wire/test_experimentation_experiments.py
index 2e422c96..9fb9a7c7 100644
--- a/tests/wire/test_experimentation_experiments.py
+++ b/tests/wire/test_experimentation_experiments.py
@@ -35,6 +35,7 @@ def test_experimentation_experiments_create() -> None:
name="name",
feature_flag_id="feature_flag_id",
authentication_flow="authentication",
+ allocation_strategy="percentage",
)
verify_request_count(test_id, "POST", "/experimentation/experiments", None, 1)
diff --git a/tests/wire/test_experimentation_segments.py b/tests/wire/test_experimentation_segments.py
index 4fbbdb65..62d15bc3 100644
--- a/tests/wire/test_experimentation_segments.py
+++ b/tests/wire/test_experimentation_segments.py
@@ -11,8 +11,15 @@ def test_experimentation_segments_list_() -> None:
from_="from",
take=1,
type="auth0",
+ status="active",
+ )
+ verify_request_count(
+ test_id,
+ "GET",
+ "/experimentation/segments",
+ {"from": "from", "take": "1", "type": "auth0", "status": "active"},
+ 1,
)
- verify_request_count(test_id, "GET", "/experimentation/segments", {"from": "from", "take": "1", "type": "auth0"}, 1)
def test_experimentation_segments_create() -> None:
diff --git a/tests/wire/test_users.py b/tests/wire/test_users.py
index 1c42f3e7..433188e6 100644
--- a/tests/wire/test_users.py
+++ b/tests/wire/test_users.py
@@ -93,6 +93,38 @@ def test_users_update() -> None:
verify_request_count(test_id, "PATCH", "/users/id", None, 1)
+def test_users_list_consent_signing_keys() -> None:
+ """Test listConsentSigningKeys endpoint with WireMock"""
+ test_id = "users.list_consent_signing_keys.0"
+ client = get_client(test_id)
+ client.users.list_consent_signing_keys(
+ id="id",
+ )
+ verify_request_count(test_id, "GET", "/users/id/consent-signing-keys", None, 1)
+
+
+def test_users_get_consent_signing_key() -> None:
+ """Test getConsentSigningKey endpoint with WireMock"""
+ test_id = "users.get_consent_signing_key.0"
+ client = get_client(test_id)
+ client.users.get_consent_signing_key(
+ id="id",
+ kid="kid",
+ )
+ verify_request_count(test_id, "GET", "/users/id/consent-signing-keys/kid", None, 1)
+
+
+def test_users_delete_consent_signing_key() -> None:
+ """Test deleteConsentSigningKey endpoint with WireMock"""
+ test_id = "users.delete_consent_signing_key.0"
+ client = get_client(test_id)
+ client.users.delete_consent_signing_key(
+ id="id",
+ kid="kid",
+ )
+ verify_request_count(test_id, "DELETE", "/users/id/consent-signing-keys/kid", None, 1)
+
+
def test_users_regenerate_recovery_code() -> None:
"""Test regenerateRecoveryCode endpoint with WireMock"""
test_id = "users.regenerate_recovery_code.0"
diff --git a/wiremock/wiremock-mappings.json b/wiremock/wiremock-mappings.json
index bfc9967f..baf5e66f 100644
--- a/wiremock/wiremock-mappings.json
+++ b/wiremock/wiremock-mappings.json
@@ -1019,7 +1019,7 @@
},
"response": {
"status": 201,
- "body": "{\n \"client_id\": \"client_id\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"tenant\": \"tenant\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"global\": true,\n \"client_secret\": \"client_secret\",\n \"app_type\": \"native\",\n \"logo_uri\": \"logo_uri\",\n \"is_first_party\": true,\n \"oidc_conformant\": true,\n \"callbacks\": [\n \"callbacks\"\n ],\n \"allowed_origins\": [\n \"allowed_origins\"\n ],\n \"web_origins\": [\n \"web_origins\"\n ],\n \"client_aliases\": [\n \"client_aliases\"\n ],\n \"allowed_clients\": [\n \"allowed_clients\"\n ],\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_transfer\": {\n \"can_create_session_transfer_token\": true,\n \"enforce_cascade_revocation\": true,\n \"allowed_authentication_methods\": [\n \"cookie\"\n ],\n \"enforce_device_binding\": \"ip\",\n \"allow_refresh_token\": true,\n \"enforce_online_refresh_tokens\": true,\n \"delegation\": {\n \"allow_delegated_access\": true,\n \"enforce_device_binding\": \"ip\"\n }\n },\n \"oidc_logout\": {\n \"backchannel_logout_urls\": [\n \"backchannel_logout_urls\"\n ],\n \"backchannel_logout_initiators\": {\n \"mode\": \"custom\",\n \"selected_initiators\": [\n \"rp-logout\"\n ]\n },\n \"backchannel_logout_session_metadata\": {\n \"include\": true\n }\n },\n \"grant_types\": [\n \"grant_types\"\n ],\n \"jwt_configuration\": {\n \"lifetime_in_seconds\": 1,\n \"secret_encoded\": true,\n \"scopes\": {\n \"key\": \"value\"\n },\n \"alg\": \"HS256\"\n },\n \"signing_keys\": [\n {\n \"pkcs7\": \"pkcs7\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n }\n ],\n \"encryption_key\": {\n \"pub\": \"pub\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n },\n \"sso\": true,\n \"sso_disabled\": true,\n \"cross_origin_authentication\": true,\n \"cross_origin_loc\": \"cross_origin_loc\",\n \"custom_login_page_on\": true,\n \"custom_login_page\": \"custom_login_page\",\n \"custom_login_page_preview\": \"custom_login_page_preview\",\n \"form_template\": \"form_template\",\n \"addons\": {\n \"aws\": {\n \"principal\": \"principal\",\n \"role\": \"role\",\n \"lifetime_in_seconds\": 1\n },\n \"azure_blob\": {\n \"accountName\": \"accountName\",\n \"storageAccessKey\": \"storageAccessKey\",\n \"containerName\": \"containerName\",\n \"blobName\": \"blobName\",\n \"expiration\": 1,\n \"signedIdentifier\": \"signedIdentifier\",\n \"blob_read\": true,\n \"blob_write\": true,\n \"blob_delete\": true,\n \"container_read\": true,\n \"container_write\": true,\n \"container_delete\": true,\n \"container_list\": true\n },\n \"azure_sb\": {\n \"namespace\": \"namespace\",\n \"sasKeyName\": \"sasKeyName\",\n \"sasKey\": \"sasKey\",\n \"entityPath\": \"entityPath\",\n \"expiration\": 1\n },\n \"rms\": {\n \"url\": \"url\"\n },\n \"mscrm\": {\n \"url\": \"url\"\n },\n \"slack\": {\n \"team\": \"team\"\n },\n \"sentry\": {\n \"org_slug\": \"org_slug\",\n \"base_url\": \"base_url\"\n },\n \"box\": {\n \"key\": \"value\"\n },\n \"cloudbees\": {\n \"key\": \"value\"\n },\n \"concur\": {\n \"key\": \"value\"\n },\n \"dropbox\": {\n \"key\": \"value\"\n },\n \"echosign\": {\n \"domain\": \"domain\"\n },\n \"egnyte\": {\n \"domain\": \"domain\"\n },\n \"firebase\": {\n \"secret\": \"secret\",\n \"private_key_id\": \"private_key_id\",\n \"private_key\": \"private_key\",\n \"client_email\": \"client_email\",\n \"lifetime_in_seconds\": 1\n },\n \"newrelic\": {\n \"account\": \"account\"\n },\n \"office365\": {\n \"domain\": \"domain\",\n \"connection\": \"connection\"\n },\n \"salesforce\": {\n \"entity_id\": \"entity_id\"\n },\n \"salesforce_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"salesforce_sandbox_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"samlp\": {\n \"mappings\": {\n \"key\": \"value\"\n },\n \"audience\": \"audience\",\n \"recipient\": \"recipient\",\n \"createUpnClaim\": true,\n \"mapUnknownClaimsAsIs\": true,\n \"passthroughClaimsWithNoMapping\": true,\n \"mapIdentities\": true,\n \"signatureAlgorithm\": \"signatureAlgorithm\",\n \"digestAlgorithm\": \"digestAlgorithm\",\n \"issuer\": \"issuer\",\n \"destination\": \"destination\",\n \"lifetimeInSeconds\": 1,\n \"signResponse\": true,\n \"nameIdentifierFormat\": \"nameIdentifierFormat\",\n \"nameIdentifierProbes\": [\n \"nameIdentifierProbes\"\n ],\n \"authnContextClassRef\": \"authnContextClassRef\"\n },\n \"layer\": {\n \"providerId\": \"providerId\",\n \"keyId\": \"keyId\",\n \"privateKey\": \"privateKey\",\n \"principal\": \"principal\",\n \"expiration\": 1\n },\n \"sap_api\": {\n \"clientid\": \"clientid\",\n \"usernameAttribute\": \"usernameAttribute\",\n \"tokenEndpointUrl\": \"tokenEndpointUrl\",\n \"scope\": \"scope\",\n \"servicePassword\": \"servicePassword\",\n \"nameIdentifierFormat\": \"nameIdentifierFormat\"\n },\n \"sharepoint\": {\n \"url\": \"url\",\n \"external_url\": [\n \"external_url\"\n ]\n },\n \"springcm\": {\n \"acsurl\": \"acsurl\"\n },\n \"wams\": {\n \"masterkey\": \"masterkey\"\n },\n \"wsfed\": {\n \"key\": \"value\"\n },\n \"zendesk\": {\n \"accountName\": \"accountName\"\n },\n \"zoom\": {\n \"account\": \"account\"\n },\n \"sso_integration\": {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n },\n \"token_endpoint_auth_method\": \"none\",\n \"is_token_endpoint_ip_header_trusted\": true,\n \"client_metadata\": {\n \"key\": \"value\"\n },\n \"mobile\": {\n \"android\": {\n \"app_package_name\": \"app_package_name\",\n \"sha256_cert_fingerprints\": [\n \"sha256_cert_fingerprints\"\n ]\n },\n \"ios\": {\n \"team_id\": \"team_id\",\n \"app_bundle_identifier\": \"app_bundle_identifier\"\n }\n },\n \"initiate_login_uri\": \"initiate_login_uri\",\n \"native_social_login\": {\n \"apple\": {\n \"enabled\": true\n },\n \"facebook\": {\n \"enabled\": true\n },\n \"google\": {\n \"enabled\": true\n }\n },\n \"fedcm_login\": {\n \"google\": {\n \"is_enabled\": true\n }\n },\n \"refresh_token\": {\n \"rotation_type\": \"rotating\",\n \"expiration_type\": \"expiring\",\n \"leeway\": 1,\n \"token_lifetime\": 1,\n \"infinite_token_lifetime\": true,\n \"idle_token_lifetime\": 1,\n \"infinite_idle_token_lifetime\": true,\n \"policies\": [\n {\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ]\n }\n ]\n },\n \"default_organization\": {\n \"organization_id\": \"organization_id\",\n \"flows\": [\n \"client_credentials\"\n ]\n },\n \"organization_usage\": \"deny\",\n \"organization_require_behavior\": \"no_prompt\",\n \"organization_discovery_methods\": [\n \"email\"\n ],\n \"client_authentication_methods\": {\n \"private_key_jwt\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"self_signed_tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n }\n },\n \"require_pushed_authorization_requests\": true,\n \"require_proof_of_possession\": true,\n \"signed_request_object\": {\n \"required\": true,\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"token_vault_privileged_access\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ],\n \"ip_allowlist\": [\n \"ip_allowlist\"\n ],\n \"grants\": [\n {\n \"connection\": \"connection\",\n \"scopes\": [\n \"scopes\"\n ]\n }\n ]\n },\n \"compliance_level\": \"none\",\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"token_exchange\": {\n \"allow_any_profile_of_type\": [\n \"custom_authentication\"\n ]\n },\n \"par_request_expiry\": 1,\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"express_configuration\": {\n \"initiate_login_uri_template\": \"initiate_login_uri_template\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"connection_profile_id\": \"connection_profile_id\",\n \"enable_client\": true,\n \"enable_organization\": true,\n \"linked_clients\": [\n {\n \"client_id\": \"client_id\"\n }\n ],\n \"okta_oin_client_id\": \"okta_oin_client_id\",\n \"admin_login_domain\": \"admin_login_domain\",\n \"oin_submission_id\": \"oin_submission_id\"\n },\n \"b2b_integration_configuration\": {\n \"sso_profiles\": [\n \"sso_profiles\"\n ],\n \"integration_type\": \"custom_auth_server\"\n },\n \"my_organization_configuration\": {\n \"connection_profile_id\": \"connection_profile_id\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"allowed_strategies\": [\n \"pingfederate\"\n ],\n \"third_party_client_access\": {\n \"default_value\": \"block\",\n \"allowed_values\": [\n \"allow\"\n ]\n },\n \"connection_deletion_behavior\": \"allow\",\n \"invitation_landing_client_id\": \"invitation_landing_client_id\",\n \"enforce_permission_ceiling\": true,\n \"enforce_self_assignment_restriction\": true\n },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"anonymous_sessions\": {\n \"active\": true\n },\n \"enforce_anon_session_transfer_network_binding\": \"ip\",\n \"third_party_security_mode\": \"strict\",\n \"redirection_policy\": \"allow_always\",\n \"resource_server_identifier\": \"resource_server_identifier\",\n \"async_approval_notification_channels\": [\n \"guardian-push\"\n ],\n \"external_metadata_type\": \"cimd\",\n \"external_metadata_created_by\": \"admin\",\n \"external_metadata_status\": \"available\",\n \"external_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n}",
+ "body": "{\n \"client_id\": \"client_id\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"tenant\": \"tenant\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"global\": true,\n \"client_secret\": \"client_secret\",\n \"app_type\": \"native\",\n \"logo_uri\": \"logo_uri\",\n \"is_first_party\": true,\n \"oidc_conformant\": true,\n \"callbacks\": [\n \"callbacks\"\n ],\n \"allowed_origins\": [\n \"allowed_origins\"\n ],\n \"web_origins\": [\n \"web_origins\"\n ],\n \"client_aliases\": [\n \"client_aliases\"\n ],\n \"allowed_clients\": [\n \"allowed_clients\"\n ],\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_transfer\": {\n \"can_create_session_transfer_token\": true,\n \"enforce_cascade_revocation\": true,\n \"allowed_authentication_methods\": [\n \"cookie\"\n ],\n \"enforce_device_binding\": \"ip\",\n \"allow_refresh_token\": true,\n \"enforce_online_refresh_tokens\": true,\n \"delegation\": {\n \"allow_delegated_access\": true,\n \"enforce_device_binding\": \"ip\"\n }\n },\n \"oidc_logout\": {\n \"backchannel_logout_urls\": [\n \"backchannel_logout_urls\"\n ],\n \"backchannel_logout_initiators\": {\n \"mode\": \"custom\",\n \"selected_initiators\": [\n \"rp-logout\"\n ]\n },\n \"backchannel_logout_session_metadata\": {\n \"include\": true\n }\n },\n \"grant_types\": [\n \"grant_types\"\n ],\n \"jwt_configuration\": {\n \"lifetime_in_seconds\": 1,\n \"secret_encoded\": true,\n \"scopes\": {\n \"key\": \"value\"\n },\n \"alg\": \"HS256\"\n },\n \"signing_keys\": [\n {\n \"pkcs7\": \"pkcs7\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n }\n ],\n \"encryption_key\": {\n \"pub\": \"pub\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n },\n \"sso\": true,\n \"sso_disabled\": true,\n \"cross_origin_authentication\": true,\n \"cross_origin_loc\": \"cross_origin_loc\",\n \"custom_login_page_on\": true,\n \"custom_login_page\": \"custom_login_page\",\n \"custom_login_page_preview\": \"custom_login_page_preview\",\n \"form_template\": \"form_template\",\n \"addons\": {\n \"aws\": {\n \"principal\": \"principal\",\n \"role\": \"role\",\n \"lifetime_in_seconds\": 1\n },\n \"azure_blob\": {\n \"accountName\": \"accountName\",\n \"storageAccessKey\": \"storageAccessKey\",\n \"containerName\": \"containerName\",\n \"blobName\": \"blobName\",\n \"expiration\": 1,\n \"signedIdentifier\": \"signedIdentifier\",\n \"blob_read\": true,\n \"blob_write\": true,\n \"blob_delete\": true,\n \"container_read\": true,\n \"container_write\": true,\n \"container_delete\": true,\n \"container_list\": true\n },\n \"azure_sb\": {\n \"namespace\": \"namespace\",\n \"sasKeyName\": \"sasKeyName\",\n \"sasKey\": \"sasKey\",\n \"entityPath\": \"entityPath\",\n \"expiration\": 1\n },\n \"rms\": {\n \"url\": \"url\"\n },\n \"mscrm\": {\n \"url\": \"url\"\n },\n \"slack\": {\n \"team\": \"team\"\n },\n \"sentry\": {\n \"org_slug\": \"org_slug\",\n \"base_url\": \"base_url\"\n },\n \"box\": {\n \"key\": \"value\"\n },\n \"cloudbees\": {\n \"key\": \"value\"\n },\n \"concur\": {\n \"key\": \"value\"\n },\n \"dropbox\": {\n \"key\": \"value\"\n },\n \"echosign\": {\n \"domain\": \"domain\"\n },\n \"egnyte\": {\n \"domain\": \"domain\"\n },\n \"firebase\": {\n \"secret\": \"secret\",\n \"private_key_id\": \"private_key_id\",\n \"private_key\": \"private_key\",\n \"client_email\": \"client_email\",\n \"lifetime_in_seconds\": 1\n },\n \"newrelic\": {\n \"account\": \"account\"\n },\n \"office365\": {\n \"domain\": \"domain\",\n \"connection\": \"connection\"\n },\n \"salesforce\": {\n \"entity_id\": \"entity_id\"\n },\n \"salesforce_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"salesforce_sandbox_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"samlp\": {\n \"mappings\": {\n \"key\": \"value\"\n },\n \"audience\": \"audience\",\n \"recipient\": \"recipient\",\n \"createUpnClaim\": true,\n \"mapUnknownClaimsAsIs\": true,\n \"passthroughClaimsWithNoMapping\": true,\n \"mapIdentities\": true,\n \"signatureAlgorithm\": \"signatureAlgorithm\",\n \"digestAlgorithm\": \"digestAlgorithm\",\n \"issuer\": \"issuer\",\n \"destination\": \"destination\",\n \"lifetimeInSeconds\": 1,\n \"signResponse\": true,\n \"nameIdentifierFormat\": \"nameIdentifierFormat\",\n \"nameIdentifierProbes\": [\n \"nameIdentifierProbes\"\n ],\n \"authnContextClassRef\": \"authnContextClassRef\"\n },\n \"layer\": {\n \"providerId\": \"providerId\",\n \"keyId\": \"keyId\",\n \"privateKey\": \"privateKey\",\n \"principal\": \"principal\",\n \"expiration\": 1\n },\n \"sap_api\": {\n \"clientid\": \"clientid\",\n \"usernameAttribute\": \"usernameAttribute\",\n \"tokenEndpointUrl\": \"tokenEndpointUrl\",\n \"scope\": \"scope\",\n \"servicePassword\": \"servicePassword\",\n \"nameIdentifierFormat\": \"nameIdentifierFormat\"\n },\n \"sharepoint\": {\n \"url\": \"url\",\n \"external_url\": [\n \"external_url\"\n ]\n },\n \"springcm\": {\n \"acsurl\": \"acsurl\"\n },\n \"wams\": {\n \"masterkey\": \"masterkey\"\n },\n \"wsfed\": {\n \"key\": \"value\"\n },\n \"zendesk\": {\n \"accountName\": \"accountName\"\n },\n \"zoom\": {\n \"account\": \"account\"\n },\n \"sso_integration\": {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n },\n \"token_endpoint_auth_method\": \"none\",\n \"is_token_endpoint_ip_header_trusted\": true,\n \"client_metadata\": {\n \"key\": \"value\"\n },\n \"mobile\": {\n \"android\": {\n \"app_package_name\": \"app_package_name\",\n \"sha256_cert_fingerprints\": [\n \"sha256_cert_fingerprints\"\n ]\n },\n \"ios\": {\n \"team_id\": \"team_id\",\n \"app_bundle_identifier\": \"app_bundle_identifier\"\n }\n },\n \"initiate_login_uri\": \"initiate_login_uri\",\n \"native_social_login\": {\n \"apple\": {\n \"enabled\": true\n },\n \"facebook\": {\n \"enabled\": true\n },\n \"google\": {\n \"enabled\": true\n }\n },\n \"fedcm_login\": {\n \"google\": {\n \"is_enabled\": true\n }\n },\n \"refresh_token\": {\n \"rotation_type\": \"rotating\",\n \"expiration_type\": \"expiring\",\n \"leeway\": 1,\n \"token_lifetime\": 1,\n \"infinite_token_lifetime\": true,\n \"idle_token_lifetime\": 1,\n \"infinite_idle_token_lifetime\": true,\n \"policies\": [\n {\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ]\n }\n ]\n },\n \"default_organization\": {\n \"organization_id\": \"organization_id\",\n \"flows\": [\n \"client_credentials\"\n ]\n },\n \"organization_usage\": \"deny\",\n \"organization_require_behavior\": \"no_prompt\",\n \"organization_discovery_methods\": [\n \"email\"\n ],\n \"client_authentication_methods\": {\n \"private_key_jwt\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"self_signed_tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n }\n },\n \"require_pushed_authorization_requests\": true,\n \"require_proof_of_possession\": true,\n \"signed_request_object\": {\n \"required\": true,\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"token_vault_privileged_access\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ],\n \"ip_allowlist\": [\n \"ip_allowlist\"\n ],\n \"grants\": [\n {\n \"connection\": \"connection\",\n \"scopes\": [\n \"scopes\"\n ]\n }\n ]\n },\n \"compliance_level\": \"none\",\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"token_exchange\": {\n \"allow_any_profile_of_type\": [\n \"custom_authentication\"\n ]\n },\n \"par_request_expiry\": 1,\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"express_configuration\": {\n \"initiate_login_uri_template\": \"initiate_login_uri_template\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"connection_profile_id\": \"connection_profile_id\",\n \"enable_client\": true,\n \"enable_organization\": true,\n \"linked_clients\": [\n {\n \"client_id\": \"client_id\"\n }\n ],\n \"okta_oin_client_id\": \"okta_oin_client_id\",\n \"admin_login_domain\": \"admin_login_domain\",\n \"oin_submission_id\": \"oin_submission_id\"\n },\n \"b2b_integration_configuration\": {\n \"sso_profiles\": [\n \"sso_profiles\"\n ],\n \"integration_type\": \"custom_auth_server\"\n },\n \"my_organization_configuration\": {\n \"connection_profile_id\": \"connection_profile_id\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"allowed_strategies\": [\n \"pingfederate\"\n ],\n \"third_party_client_access\": {\n \"default_value\": \"block\",\n \"allowed_values\": [\n \"allow\"\n ]\n },\n \"connection_deletion_behavior\": \"allow\",\n \"invitation_landing_client_id\": \"invitation_landing_client_id\",\n \"enforce_permission_ceiling\": true,\n \"enforce_self_assignment_restriction\": true\n },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"anonymous_sessions\": {\n \"active\": true\n },\n \"enforce_anon_session_transfer_network_binding\": \"ip\",\n \"third_party_security_mode\": \"strict\",\n \"oidc_support\": {\n \"is_allowed\": true,\n \"allow_all_scopes\": true,\n \"allowed_scopes\": [\n \"profile\"\n ]\n },\n \"redirection_policy\": \"allow_always\",\n \"resource_server_identifier\": \"resource_server_identifier\",\n \"async_approval_notification_channels\": [\n \"guardian-push\"\n ],\n \"external_metadata_type\": \"cimd\",\n \"external_metadata_created_by\": \"admin\",\n \"external_metadata_status\": \"available\",\n \"external_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n}",
"headers": {
"Content-Type": "application/json"
}
@@ -1180,7 +1180,7 @@
},
"response": {
"status": 200,
- "body": "{\n \"client_id\": \"client_id\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"tenant\": \"tenant\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"global\": true,\n \"client_secret\": \"client_secret\",\n \"app_type\": \"native\",\n \"logo_uri\": \"logo_uri\",\n \"is_first_party\": true,\n \"oidc_conformant\": true,\n \"callbacks\": [\n \"callbacks\"\n ],\n \"allowed_origins\": [\n \"allowed_origins\"\n ],\n \"web_origins\": [\n \"web_origins\"\n ],\n \"client_aliases\": [\n \"client_aliases\"\n ],\n \"allowed_clients\": [\n \"allowed_clients\"\n ],\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_transfer\": {\n \"can_create_session_transfer_token\": true,\n \"enforce_cascade_revocation\": true,\n \"allowed_authentication_methods\": [\n \"cookie\"\n ],\n \"enforce_device_binding\": \"ip\",\n \"allow_refresh_token\": true,\n \"enforce_online_refresh_tokens\": true,\n \"delegation\": {\n \"allow_delegated_access\": true,\n \"enforce_device_binding\": \"ip\"\n }\n },\n \"oidc_logout\": {\n \"backchannel_logout_urls\": [\n \"backchannel_logout_urls\"\n ],\n \"backchannel_logout_initiators\": {\n \"mode\": \"custom\",\n \"selected_initiators\": [\n \"rp-logout\"\n ]\n },\n \"backchannel_logout_session_metadata\": {\n \"include\": true\n }\n },\n \"grant_types\": [\n \"grant_types\"\n ],\n \"jwt_configuration\": {\n \"lifetime_in_seconds\": 1,\n \"secret_encoded\": true,\n \"scopes\": {\n \"key\": \"value\"\n },\n \"alg\": \"HS256\"\n },\n \"signing_keys\": [\n {\n \"pkcs7\": \"pkcs7\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n }\n ],\n \"encryption_key\": {\n \"pub\": \"pub\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n },\n \"sso\": true,\n \"sso_disabled\": true,\n \"cross_origin_authentication\": true,\n \"cross_origin_loc\": \"cross_origin_loc\",\n \"custom_login_page_on\": true,\n \"custom_login_page\": \"custom_login_page\",\n \"custom_login_page_preview\": \"custom_login_page_preview\",\n \"form_template\": \"form_template\",\n \"addons\": {\n \"aws\": {\n \"principal\": \"principal\",\n \"role\": \"role\",\n \"lifetime_in_seconds\": 1\n },\n \"azure_blob\": {\n \"accountName\": \"accountName\",\n \"storageAccessKey\": \"storageAccessKey\",\n \"containerName\": \"containerName\",\n \"blobName\": \"blobName\",\n \"expiration\": 1,\n \"signedIdentifier\": \"signedIdentifier\",\n \"blob_read\": true,\n \"blob_write\": true,\n \"blob_delete\": true,\n \"container_read\": true,\n \"container_write\": true,\n \"container_delete\": true,\n \"container_list\": true\n },\n \"azure_sb\": {\n \"namespace\": \"namespace\",\n \"sasKeyName\": \"sasKeyName\",\n \"sasKey\": \"sasKey\",\n \"entityPath\": \"entityPath\",\n \"expiration\": 1\n },\n \"rms\": {\n \"url\": \"url\"\n },\n \"mscrm\": {\n \"url\": \"url\"\n },\n \"slack\": {\n \"team\": \"team\"\n },\n \"sentry\": {\n \"org_slug\": \"org_slug\",\n \"base_url\": \"base_url\"\n },\n \"box\": {\n \"key\": \"value\"\n },\n \"cloudbees\": {\n \"key\": \"value\"\n },\n \"concur\": {\n \"key\": \"value\"\n },\n \"dropbox\": {\n \"key\": \"value\"\n },\n \"echosign\": {\n \"domain\": \"domain\"\n },\n \"egnyte\": {\n \"domain\": \"domain\"\n },\n \"firebase\": {\n \"secret\": \"secret\",\n \"private_key_id\": \"private_key_id\",\n \"private_key\": \"private_key\",\n \"client_email\": \"client_email\",\n \"lifetime_in_seconds\": 1\n },\n \"newrelic\": {\n \"account\": \"account\"\n },\n \"office365\": {\n \"domain\": \"domain\",\n \"connection\": \"connection\"\n },\n \"salesforce\": {\n \"entity_id\": \"entity_id\"\n },\n \"salesforce_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"salesforce_sandbox_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"samlp\": {\n \"mappings\": {\n \"key\": \"value\"\n },\n \"audience\": \"audience\",\n \"recipient\": \"recipient\",\n \"createUpnClaim\": true,\n \"mapUnknownClaimsAsIs\": true,\n \"passthroughClaimsWithNoMapping\": true,\n \"mapIdentities\": true,\n \"signatureAlgorithm\": \"signatureAlgorithm\",\n \"digestAlgorithm\": \"digestAlgorithm\",\n \"issuer\": \"issuer\",\n \"destination\": \"destination\",\n \"lifetimeInSeconds\": 1,\n \"signResponse\": true,\n \"nameIdentifierFormat\": \"nameIdentifierFormat\",\n \"nameIdentifierProbes\": [\n \"nameIdentifierProbes\"\n ],\n \"authnContextClassRef\": \"authnContextClassRef\"\n },\n \"layer\": {\n \"providerId\": \"providerId\",\n \"keyId\": \"keyId\",\n \"privateKey\": \"privateKey\",\n \"principal\": \"principal\",\n \"expiration\": 1\n },\n \"sap_api\": {\n \"clientid\": \"clientid\",\n \"usernameAttribute\": \"usernameAttribute\",\n \"tokenEndpointUrl\": \"tokenEndpointUrl\",\n \"scope\": \"scope\",\n \"servicePassword\": \"servicePassword\",\n \"nameIdentifierFormat\": \"nameIdentifierFormat\"\n },\n \"sharepoint\": {\n \"url\": \"url\",\n \"external_url\": [\n \"external_url\"\n ]\n },\n \"springcm\": {\n \"acsurl\": \"acsurl\"\n },\n \"wams\": {\n \"masterkey\": \"masterkey\"\n },\n \"wsfed\": {\n \"key\": \"value\"\n },\n \"zendesk\": {\n \"accountName\": \"accountName\"\n },\n \"zoom\": {\n \"account\": \"account\"\n },\n \"sso_integration\": {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n },\n \"token_endpoint_auth_method\": \"none\",\n \"is_token_endpoint_ip_header_trusted\": true,\n \"client_metadata\": {\n \"key\": \"value\"\n },\n \"mobile\": {\n \"android\": {\n \"app_package_name\": \"app_package_name\",\n \"sha256_cert_fingerprints\": [\n \"sha256_cert_fingerprints\"\n ]\n },\n \"ios\": {\n \"team_id\": \"team_id\",\n \"app_bundle_identifier\": \"app_bundle_identifier\"\n }\n },\n \"initiate_login_uri\": \"initiate_login_uri\",\n \"native_social_login\": {\n \"apple\": {\n \"enabled\": true\n },\n \"facebook\": {\n \"enabled\": true\n },\n \"google\": {\n \"enabled\": true\n }\n },\n \"fedcm_login\": {\n \"google\": {\n \"is_enabled\": true\n }\n },\n \"refresh_token\": {\n \"rotation_type\": \"rotating\",\n \"expiration_type\": \"expiring\",\n \"leeway\": 1,\n \"token_lifetime\": 1,\n \"infinite_token_lifetime\": true,\n \"idle_token_lifetime\": 1,\n \"infinite_idle_token_lifetime\": true,\n \"policies\": [\n {\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ]\n }\n ]\n },\n \"default_organization\": {\n \"organization_id\": \"organization_id\",\n \"flows\": [\n \"client_credentials\"\n ]\n },\n \"organization_usage\": \"deny\",\n \"organization_require_behavior\": \"no_prompt\",\n \"organization_discovery_methods\": [\n \"email\"\n ],\n \"client_authentication_methods\": {\n \"private_key_jwt\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"self_signed_tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n }\n },\n \"require_pushed_authorization_requests\": true,\n \"require_proof_of_possession\": true,\n \"signed_request_object\": {\n \"required\": true,\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"token_vault_privileged_access\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ],\n \"ip_allowlist\": [\n \"ip_allowlist\"\n ],\n \"grants\": [\n {\n \"connection\": \"connection\",\n \"scopes\": [\n \"scopes\"\n ]\n }\n ]\n },\n \"compliance_level\": \"none\",\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"token_exchange\": {\n \"allow_any_profile_of_type\": [\n \"custom_authentication\"\n ]\n },\n \"par_request_expiry\": 1,\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"express_configuration\": {\n \"initiate_login_uri_template\": \"initiate_login_uri_template\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"connection_profile_id\": \"connection_profile_id\",\n \"enable_client\": true,\n \"enable_organization\": true,\n \"linked_clients\": [\n {\n \"client_id\": \"client_id\"\n }\n ],\n \"okta_oin_client_id\": \"okta_oin_client_id\",\n \"admin_login_domain\": \"admin_login_domain\",\n \"oin_submission_id\": \"oin_submission_id\"\n },\n \"b2b_integration_configuration\": {\n \"sso_profiles\": [\n \"sso_profiles\"\n ],\n \"integration_type\": \"custom_auth_server\"\n },\n \"my_organization_configuration\": {\n \"connection_profile_id\": \"connection_profile_id\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"allowed_strategies\": [\n \"pingfederate\"\n ],\n \"third_party_client_access\": {\n \"default_value\": \"block\",\n \"allowed_values\": [\n \"allow\"\n ]\n },\n \"connection_deletion_behavior\": \"allow\",\n \"invitation_landing_client_id\": \"invitation_landing_client_id\",\n \"enforce_permission_ceiling\": true,\n \"enforce_self_assignment_restriction\": true\n },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"anonymous_sessions\": {\n \"active\": true\n },\n \"enforce_anon_session_transfer_network_binding\": \"ip\",\n \"third_party_security_mode\": \"strict\",\n \"redirection_policy\": \"allow_always\",\n \"resource_server_identifier\": \"resource_server_identifier\",\n \"async_approval_notification_channels\": [\n \"guardian-push\"\n ],\n \"external_metadata_type\": \"cimd\",\n \"external_metadata_created_by\": \"admin\",\n \"external_metadata_status\": \"available\",\n \"external_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n}",
+ "body": "{\n \"client_id\": \"client_id\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"tenant\": \"tenant\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"global\": true,\n \"client_secret\": \"client_secret\",\n \"app_type\": \"native\",\n \"logo_uri\": \"logo_uri\",\n \"is_first_party\": true,\n \"oidc_conformant\": true,\n \"callbacks\": [\n \"callbacks\"\n ],\n \"allowed_origins\": [\n \"allowed_origins\"\n ],\n \"web_origins\": [\n \"web_origins\"\n ],\n \"client_aliases\": [\n \"client_aliases\"\n ],\n \"allowed_clients\": [\n \"allowed_clients\"\n ],\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_transfer\": {\n \"can_create_session_transfer_token\": true,\n \"enforce_cascade_revocation\": true,\n \"allowed_authentication_methods\": [\n \"cookie\"\n ],\n \"enforce_device_binding\": \"ip\",\n \"allow_refresh_token\": true,\n \"enforce_online_refresh_tokens\": true,\n \"delegation\": {\n \"allow_delegated_access\": true,\n \"enforce_device_binding\": \"ip\"\n }\n },\n \"oidc_logout\": {\n \"backchannel_logout_urls\": [\n \"backchannel_logout_urls\"\n ],\n \"backchannel_logout_initiators\": {\n \"mode\": \"custom\",\n \"selected_initiators\": [\n \"rp-logout\"\n ]\n },\n \"backchannel_logout_session_metadata\": {\n \"include\": true\n }\n },\n \"grant_types\": [\n \"grant_types\"\n ],\n \"jwt_configuration\": {\n \"lifetime_in_seconds\": 1,\n \"secret_encoded\": true,\n \"scopes\": {\n \"key\": \"value\"\n },\n \"alg\": \"HS256\"\n },\n \"signing_keys\": [\n {\n \"pkcs7\": \"pkcs7\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n }\n ],\n \"encryption_key\": {\n \"pub\": \"pub\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n },\n \"sso\": true,\n \"sso_disabled\": true,\n \"cross_origin_authentication\": true,\n \"cross_origin_loc\": \"cross_origin_loc\",\n \"custom_login_page_on\": true,\n \"custom_login_page\": \"custom_login_page\",\n \"custom_login_page_preview\": \"custom_login_page_preview\",\n \"form_template\": \"form_template\",\n \"addons\": {\n \"aws\": {\n \"principal\": \"principal\",\n \"role\": \"role\",\n \"lifetime_in_seconds\": 1\n },\n \"azure_blob\": {\n \"accountName\": \"accountName\",\n \"storageAccessKey\": \"storageAccessKey\",\n \"containerName\": \"containerName\",\n \"blobName\": \"blobName\",\n \"expiration\": 1,\n \"signedIdentifier\": \"signedIdentifier\",\n \"blob_read\": true,\n \"blob_write\": true,\n \"blob_delete\": true,\n \"container_read\": true,\n \"container_write\": true,\n \"container_delete\": true,\n \"container_list\": true\n },\n \"azure_sb\": {\n \"namespace\": \"namespace\",\n \"sasKeyName\": \"sasKeyName\",\n \"sasKey\": \"sasKey\",\n \"entityPath\": \"entityPath\",\n \"expiration\": 1\n },\n \"rms\": {\n \"url\": \"url\"\n },\n \"mscrm\": {\n \"url\": \"url\"\n },\n \"slack\": {\n \"team\": \"team\"\n },\n \"sentry\": {\n \"org_slug\": \"org_slug\",\n \"base_url\": \"base_url\"\n },\n \"box\": {\n \"key\": \"value\"\n },\n \"cloudbees\": {\n \"key\": \"value\"\n },\n \"concur\": {\n \"key\": \"value\"\n },\n \"dropbox\": {\n \"key\": \"value\"\n },\n \"echosign\": {\n \"domain\": \"domain\"\n },\n \"egnyte\": {\n \"domain\": \"domain\"\n },\n \"firebase\": {\n \"secret\": \"secret\",\n \"private_key_id\": \"private_key_id\",\n \"private_key\": \"private_key\",\n \"client_email\": \"client_email\",\n \"lifetime_in_seconds\": 1\n },\n \"newrelic\": {\n \"account\": \"account\"\n },\n \"office365\": {\n \"domain\": \"domain\",\n \"connection\": \"connection\"\n },\n \"salesforce\": {\n \"entity_id\": \"entity_id\"\n },\n \"salesforce_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"salesforce_sandbox_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"samlp\": {\n \"mappings\": {\n \"key\": \"value\"\n },\n \"audience\": \"audience\",\n \"recipient\": \"recipient\",\n \"createUpnClaim\": true,\n \"mapUnknownClaimsAsIs\": true,\n \"passthroughClaimsWithNoMapping\": true,\n \"mapIdentities\": true,\n \"signatureAlgorithm\": \"signatureAlgorithm\",\n \"digestAlgorithm\": \"digestAlgorithm\",\n \"issuer\": \"issuer\",\n \"destination\": \"destination\",\n \"lifetimeInSeconds\": 1,\n \"signResponse\": true,\n \"nameIdentifierFormat\": \"nameIdentifierFormat\",\n \"nameIdentifierProbes\": [\n \"nameIdentifierProbes\"\n ],\n \"authnContextClassRef\": \"authnContextClassRef\"\n },\n \"layer\": {\n \"providerId\": \"providerId\",\n \"keyId\": \"keyId\",\n \"privateKey\": \"privateKey\",\n \"principal\": \"principal\",\n \"expiration\": 1\n },\n \"sap_api\": {\n \"clientid\": \"clientid\",\n \"usernameAttribute\": \"usernameAttribute\",\n \"tokenEndpointUrl\": \"tokenEndpointUrl\",\n \"scope\": \"scope\",\n \"servicePassword\": \"servicePassword\",\n \"nameIdentifierFormat\": \"nameIdentifierFormat\"\n },\n \"sharepoint\": {\n \"url\": \"url\",\n \"external_url\": [\n \"external_url\"\n ]\n },\n \"springcm\": {\n \"acsurl\": \"acsurl\"\n },\n \"wams\": {\n \"masterkey\": \"masterkey\"\n },\n \"wsfed\": {\n \"key\": \"value\"\n },\n \"zendesk\": {\n \"accountName\": \"accountName\"\n },\n \"zoom\": {\n \"account\": \"account\"\n },\n \"sso_integration\": {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n },\n \"token_endpoint_auth_method\": \"none\",\n \"is_token_endpoint_ip_header_trusted\": true,\n \"client_metadata\": {\n \"key\": \"value\"\n },\n \"mobile\": {\n \"android\": {\n \"app_package_name\": \"app_package_name\",\n \"sha256_cert_fingerprints\": [\n \"sha256_cert_fingerprints\"\n ]\n },\n \"ios\": {\n \"team_id\": \"team_id\",\n \"app_bundle_identifier\": \"app_bundle_identifier\"\n }\n },\n \"initiate_login_uri\": \"initiate_login_uri\",\n \"native_social_login\": {\n \"apple\": {\n \"enabled\": true\n },\n \"facebook\": {\n \"enabled\": true\n },\n \"google\": {\n \"enabled\": true\n }\n },\n \"fedcm_login\": {\n \"google\": {\n \"is_enabled\": true\n }\n },\n \"refresh_token\": {\n \"rotation_type\": \"rotating\",\n \"expiration_type\": \"expiring\",\n \"leeway\": 1,\n \"token_lifetime\": 1,\n \"infinite_token_lifetime\": true,\n \"idle_token_lifetime\": 1,\n \"infinite_idle_token_lifetime\": true,\n \"policies\": [\n {\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ]\n }\n ]\n },\n \"default_organization\": {\n \"organization_id\": \"organization_id\",\n \"flows\": [\n \"client_credentials\"\n ]\n },\n \"organization_usage\": \"deny\",\n \"organization_require_behavior\": \"no_prompt\",\n \"organization_discovery_methods\": [\n \"email\"\n ],\n \"client_authentication_methods\": {\n \"private_key_jwt\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"self_signed_tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n }\n },\n \"require_pushed_authorization_requests\": true,\n \"require_proof_of_possession\": true,\n \"signed_request_object\": {\n \"required\": true,\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"token_vault_privileged_access\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ],\n \"ip_allowlist\": [\n \"ip_allowlist\"\n ],\n \"grants\": [\n {\n \"connection\": \"connection\",\n \"scopes\": [\n \"scopes\"\n ]\n }\n ]\n },\n \"compliance_level\": \"none\",\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"token_exchange\": {\n \"allow_any_profile_of_type\": [\n \"custom_authentication\"\n ]\n },\n \"par_request_expiry\": 1,\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"express_configuration\": {\n \"initiate_login_uri_template\": \"initiate_login_uri_template\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"connection_profile_id\": \"connection_profile_id\",\n \"enable_client\": true,\n \"enable_organization\": true,\n \"linked_clients\": [\n {\n \"client_id\": \"client_id\"\n }\n ],\n \"okta_oin_client_id\": \"okta_oin_client_id\",\n \"admin_login_domain\": \"admin_login_domain\",\n \"oin_submission_id\": \"oin_submission_id\"\n },\n \"b2b_integration_configuration\": {\n \"sso_profiles\": [\n \"sso_profiles\"\n ],\n \"integration_type\": \"custom_auth_server\"\n },\n \"my_organization_configuration\": {\n \"connection_profile_id\": \"connection_profile_id\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"allowed_strategies\": [\n \"pingfederate\"\n ],\n \"third_party_client_access\": {\n \"default_value\": \"block\",\n \"allowed_values\": [\n \"allow\"\n ]\n },\n \"connection_deletion_behavior\": \"allow\",\n \"invitation_landing_client_id\": \"invitation_landing_client_id\",\n \"enforce_permission_ceiling\": true,\n \"enforce_self_assignment_restriction\": true\n },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"anonymous_sessions\": {\n \"active\": true\n },\n \"enforce_anon_session_transfer_network_binding\": \"ip\",\n \"third_party_security_mode\": \"strict\",\n \"oidc_support\": {\n \"is_allowed\": true,\n \"allow_all_scopes\": true,\n \"allowed_scopes\": [\n \"profile\"\n ]\n },\n \"redirection_policy\": \"allow_always\",\n \"resource_server_identifier\": \"resource_server_identifier\",\n \"async_approval_notification_channels\": [\n \"guardian-push\"\n ],\n \"external_metadata_type\": \"cimd\",\n \"external_metadata_created_by\": \"admin\",\n \"external_metadata_status\": \"available\",\n \"external_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n}",
"headers": {
"Content-Type": "application/json"
}
@@ -1252,7 +1252,7 @@
},
"response": {
"status": 200,
- "body": "{\n \"client_id\": \"client_id\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"tenant\": \"tenant\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"global\": true,\n \"client_secret\": \"client_secret\",\n \"app_type\": \"native\",\n \"logo_uri\": \"logo_uri\",\n \"is_first_party\": true,\n \"oidc_conformant\": true,\n \"callbacks\": [\n \"callbacks\"\n ],\n \"allowed_origins\": [\n \"allowed_origins\"\n ],\n \"web_origins\": [\n \"web_origins\"\n ],\n \"client_aliases\": [\n \"client_aliases\"\n ],\n \"allowed_clients\": [\n \"allowed_clients\"\n ],\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_transfer\": {\n \"can_create_session_transfer_token\": true,\n \"enforce_cascade_revocation\": true,\n \"allowed_authentication_methods\": [\n \"cookie\"\n ],\n \"enforce_device_binding\": \"ip\",\n \"allow_refresh_token\": true,\n \"enforce_online_refresh_tokens\": true,\n \"delegation\": {\n \"allow_delegated_access\": true,\n \"enforce_device_binding\": \"ip\"\n }\n },\n \"oidc_logout\": {\n \"backchannel_logout_urls\": [\n \"backchannel_logout_urls\"\n ],\n \"backchannel_logout_initiators\": {\n \"mode\": \"custom\",\n \"selected_initiators\": [\n \"rp-logout\"\n ]\n },\n \"backchannel_logout_session_metadata\": {\n \"include\": true\n }\n },\n \"grant_types\": [\n \"grant_types\"\n ],\n \"jwt_configuration\": {\n \"lifetime_in_seconds\": 1,\n \"secret_encoded\": true,\n \"scopes\": {\n \"key\": \"value\"\n },\n \"alg\": \"HS256\"\n },\n \"signing_keys\": [\n {\n \"pkcs7\": \"pkcs7\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n }\n ],\n \"encryption_key\": {\n \"pub\": \"pub\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n },\n \"sso\": true,\n \"sso_disabled\": true,\n \"cross_origin_authentication\": true,\n \"cross_origin_loc\": \"cross_origin_loc\",\n \"custom_login_page_on\": true,\n \"custom_login_page\": \"custom_login_page\",\n \"custom_login_page_preview\": \"custom_login_page_preview\",\n \"form_template\": \"form_template\",\n \"addons\": {\n \"aws\": {\n \"principal\": \"principal\",\n \"role\": \"role\",\n \"lifetime_in_seconds\": 1\n },\n \"azure_blob\": {\n \"accountName\": \"accountName\",\n \"storageAccessKey\": \"storageAccessKey\",\n \"containerName\": \"containerName\",\n \"blobName\": \"blobName\",\n \"expiration\": 1,\n \"signedIdentifier\": \"signedIdentifier\",\n \"blob_read\": true,\n \"blob_write\": true,\n \"blob_delete\": true,\n \"container_read\": true,\n \"container_write\": true,\n \"container_delete\": true,\n \"container_list\": true\n },\n \"azure_sb\": {\n \"namespace\": \"namespace\",\n \"sasKeyName\": \"sasKeyName\",\n \"sasKey\": \"sasKey\",\n \"entityPath\": \"entityPath\",\n \"expiration\": 1\n },\n \"rms\": {\n \"url\": \"url\"\n },\n \"mscrm\": {\n \"url\": \"url\"\n },\n \"slack\": {\n \"team\": \"team\"\n },\n \"sentry\": {\n \"org_slug\": \"org_slug\",\n \"base_url\": \"base_url\"\n },\n \"box\": {\n \"key\": \"value\"\n },\n \"cloudbees\": {\n \"key\": \"value\"\n },\n \"concur\": {\n \"key\": \"value\"\n },\n \"dropbox\": {\n \"key\": \"value\"\n },\n \"echosign\": {\n \"domain\": \"domain\"\n },\n \"egnyte\": {\n \"domain\": \"domain\"\n },\n \"firebase\": {\n \"secret\": \"secret\",\n \"private_key_id\": \"private_key_id\",\n \"private_key\": \"private_key\",\n \"client_email\": \"client_email\",\n \"lifetime_in_seconds\": 1\n },\n \"newrelic\": {\n \"account\": \"account\"\n },\n \"office365\": {\n \"domain\": \"domain\",\n \"connection\": \"connection\"\n },\n \"salesforce\": {\n \"entity_id\": \"entity_id\"\n },\n \"salesforce_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"salesforce_sandbox_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"samlp\": {\n \"mappings\": {\n \"key\": \"value\"\n },\n \"audience\": \"audience\",\n \"recipient\": \"recipient\",\n \"createUpnClaim\": true,\n \"mapUnknownClaimsAsIs\": true,\n \"passthroughClaimsWithNoMapping\": true,\n \"mapIdentities\": true,\n \"signatureAlgorithm\": \"signatureAlgorithm\",\n \"digestAlgorithm\": \"digestAlgorithm\",\n \"issuer\": \"issuer\",\n \"destination\": \"destination\",\n \"lifetimeInSeconds\": 1,\n \"signResponse\": true,\n \"nameIdentifierFormat\": \"nameIdentifierFormat\",\n \"nameIdentifierProbes\": [\n \"nameIdentifierProbes\"\n ],\n \"authnContextClassRef\": \"authnContextClassRef\"\n },\n \"layer\": {\n \"providerId\": \"providerId\",\n \"keyId\": \"keyId\",\n \"privateKey\": \"privateKey\",\n \"principal\": \"principal\",\n \"expiration\": 1\n },\n \"sap_api\": {\n \"clientid\": \"clientid\",\n \"usernameAttribute\": \"usernameAttribute\",\n \"tokenEndpointUrl\": \"tokenEndpointUrl\",\n \"scope\": \"scope\",\n \"servicePassword\": \"servicePassword\",\n \"nameIdentifierFormat\": \"nameIdentifierFormat\"\n },\n \"sharepoint\": {\n \"url\": \"url\",\n \"external_url\": [\n \"external_url\"\n ]\n },\n \"springcm\": {\n \"acsurl\": \"acsurl\"\n },\n \"wams\": {\n \"masterkey\": \"masterkey\"\n },\n \"wsfed\": {\n \"key\": \"value\"\n },\n \"zendesk\": {\n \"accountName\": \"accountName\"\n },\n \"zoom\": {\n \"account\": \"account\"\n },\n \"sso_integration\": {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n },\n \"token_endpoint_auth_method\": \"none\",\n \"is_token_endpoint_ip_header_trusted\": true,\n \"client_metadata\": {\n \"key\": \"value\"\n },\n \"mobile\": {\n \"android\": {\n \"app_package_name\": \"app_package_name\",\n \"sha256_cert_fingerprints\": [\n \"sha256_cert_fingerprints\"\n ]\n },\n \"ios\": {\n \"team_id\": \"team_id\",\n \"app_bundle_identifier\": \"app_bundle_identifier\"\n }\n },\n \"initiate_login_uri\": \"initiate_login_uri\",\n \"native_social_login\": {\n \"apple\": {\n \"enabled\": true\n },\n \"facebook\": {\n \"enabled\": true\n },\n \"google\": {\n \"enabled\": true\n }\n },\n \"fedcm_login\": {\n \"google\": {\n \"is_enabled\": true\n }\n },\n \"refresh_token\": {\n \"rotation_type\": \"rotating\",\n \"expiration_type\": \"expiring\",\n \"leeway\": 1,\n \"token_lifetime\": 1,\n \"infinite_token_lifetime\": true,\n \"idle_token_lifetime\": 1,\n \"infinite_idle_token_lifetime\": true,\n \"policies\": [\n {\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ]\n }\n ]\n },\n \"default_organization\": {\n \"organization_id\": \"organization_id\",\n \"flows\": [\n \"client_credentials\"\n ]\n },\n \"organization_usage\": \"deny\",\n \"organization_require_behavior\": \"no_prompt\",\n \"organization_discovery_methods\": [\n \"email\"\n ],\n \"client_authentication_methods\": {\n \"private_key_jwt\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"self_signed_tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n }\n },\n \"require_pushed_authorization_requests\": true,\n \"require_proof_of_possession\": true,\n \"signed_request_object\": {\n \"required\": true,\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"token_vault_privileged_access\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ],\n \"ip_allowlist\": [\n \"ip_allowlist\"\n ],\n \"grants\": [\n {\n \"connection\": \"connection\",\n \"scopes\": [\n \"scopes\"\n ]\n }\n ]\n },\n \"compliance_level\": \"none\",\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"token_exchange\": {\n \"allow_any_profile_of_type\": [\n \"custom_authentication\"\n ]\n },\n \"par_request_expiry\": 1,\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"express_configuration\": {\n \"initiate_login_uri_template\": \"initiate_login_uri_template\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"connection_profile_id\": \"connection_profile_id\",\n \"enable_client\": true,\n \"enable_organization\": true,\n \"linked_clients\": [\n {\n \"client_id\": \"client_id\"\n }\n ],\n \"okta_oin_client_id\": \"okta_oin_client_id\",\n \"admin_login_domain\": \"admin_login_domain\",\n \"oin_submission_id\": \"oin_submission_id\"\n },\n \"b2b_integration_configuration\": {\n \"sso_profiles\": [\n \"sso_profiles\"\n ],\n \"integration_type\": \"custom_auth_server\"\n },\n \"my_organization_configuration\": {\n \"connection_profile_id\": \"connection_profile_id\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"allowed_strategies\": [\n \"pingfederate\"\n ],\n \"third_party_client_access\": {\n \"default_value\": \"block\",\n \"allowed_values\": [\n \"allow\"\n ]\n },\n \"connection_deletion_behavior\": \"allow\",\n \"invitation_landing_client_id\": \"invitation_landing_client_id\",\n \"enforce_permission_ceiling\": true,\n \"enforce_self_assignment_restriction\": true\n },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"anonymous_sessions\": {\n \"active\": true\n },\n \"enforce_anon_session_transfer_network_binding\": \"ip\",\n \"third_party_security_mode\": \"strict\",\n \"redirection_policy\": \"allow_always\",\n \"resource_server_identifier\": \"resource_server_identifier\",\n \"async_approval_notification_channels\": [\n \"guardian-push\"\n ],\n \"external_metadata_type\": \"cimd\",\n \"external_metadata_created_by\": \"admin\",\n \"external_metadata_status\": \"available\",\n \"external_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n}",
+ "body": "{\n \"client_id\": \"client_id\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"tenant\": \"tenant\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"global\": true,\n \"client_secret\": \"client_secret\",\n \"app_type\": \"native\",\n \"logo_uri\": \"logo_uri\",\n \"is_first_party\": true,\n \"oidc_conformant\": true,\n \"callbacks\": [\n \"callbacks\"\n ],\n \"allowed_origins\": [\n \"allowed_origins\"\n ],\n \"web_origins\": [\n \"web_origins\"\n ],\n \"client_aliases\": [\n \"client_aliases\"\n ],\n \"allowed_clients\": [\n \"allowed_clients\"\n ],\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_transfer\": {\n \"can_create_session_transfer_token\": true,\n \"enforce_cascade_revocation\": true,\n \"allowed_authentication_methods\": [\n \"cookie\"\n ],\n \"enforce_device_binding\": \"ip\",\n \"allow_refresh_token\": true,\n \"enforce_online_refresh_tokens\": true,\n \"delegation\": {\n \"allow_delegated_access\": true,\n \"enforce_device_binding\": \"ip\"\n }\n },\n \"oidc_logout\": {\n \"backchannel_logout_urls\": [\n \"backchannel_logout_urls\"\n ],\n \"backchannel_logout_initiators\": {\n \"mode\": \"custom\",\n \"selected_initiators\": [\n \"rp-logout\"\n ]\n },\n \"backchannel_logout_session_metadata\": {\n \"include\": true\n }\n },\n \"grant_types\": [\n \"grant_types\"\n ],\n \"jwt_configuration\": {\n \"lifetime_in_seconds\": 1,\n \"secret_encoded\": true,\n \"scopes\": {\n \"key\": \"value\"\n },\n \"alg\": \"HS256\"\n },\n \"signing_keys\": [\n {\n \"pkcs7\": \"pkcs7\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n }\n ],\n \"encryption_key\": {\n \"pub\": \"pub\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n },\n \"sso\": true,\n \"sso_disabled\": true,\n \"cross_origin_authentication\": true,\n \"cross_origin_loc\": \"cross_origin_loc\",\n \"custom_login_page_on\": true,\n \"custom_login_page\": \"custom_login_page\",\n \"custom_login_page_preview\": \"custom_login_page_preview\",\n \"form_template\": \"form_template\",\n \"addons\": {\n \"aws\": {\n \"principal\": \"principal\",\n \"role\": \"role\",\n \"lifetime_in_seconds\": 1\n },\n \"azure_blob\": {\n \"accountName\": \"accountName\",\n \"storageAccessKey\": \"storageAccessKey\",\n \"containerName\": \"containerName\",\n \"blobName\": \"blobName\",\n \"expiration\": 1,\n \"signedIdentifier\": \"signedIdentifier\",\n \"blob_read\": true,\n \"blob_write\": true,\n \"blob_delete\": true,\n \"container_read\": true,\n \"container_write\": true,\n \"container_delete\": true,\n \"container_list\": true\n },\n \"azure_sb\": {\n \"namespace\": \"namespace\",\n \"sasKeyName\": \"sasKeyName\",\n \"sasKey\": \"sasKey\",\n \"entityPath\": \"entityPath\",\n \"expiration\": 1\n },\n \"rms\": {\n \"url\": \"url\"\n },\n \"mscrm\": {\n \"url\": \"url\"\n },\n \"slack\": {\n \"team\": \"team\"\n },\n \"sentry\": {\n \"org_slug\": \"org_slug\",\n \"base_url\": \"base_url\"\n },\n \"box\": {\n \"key\": \"value\"\n },\n \"cloudbees\": {\n \"key\": \"value\"\n },\n \"concur\": {\n \"key\": \"value\"\n },\n \"dropbox\": {\n \"key\": \"value\"\n },\n \"echosign\": {\n \"domain\": \"domain\"\n },\n \"egnyte\": {\n \"domain\": \"domain\"\n },\n \"firebase\": {\n \"secret\": \"secret\",\n \"private_key_id\": \"private_key_id\",\n \"private_key\": \"private_key\",\n \"client_email\": \"client_email\",\n \"lifetime_in_seconds\": 1\n },\n \"newrelic\": {\n \"account\": \"account\"\n },\n \"office365\": {\n \"domain\": \"domain\",\n \"connection\": \"connection\"\n },\n \"salesforce\": {\n \"entity_id\": \"entity_id\"\n },\n \"salesforce_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"salesforce_sandbox_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"samlp\": {\n \"mappings\": {\n \"key\": \"value\"\n },\n \"audience\": \"audience\",\n \"recipient\": \"recipient\",\n \"createUpnClaim\": true,\n \"mapUnknownClaimsAsIs\": true,\n \"passthroughClaimsWithNoMapping\": true,\n \"mapIdentities\": true,\n \"signatureAlgorithm\": \"signatureAlgorithm\",\n \"digestAlgorithm\": \"digestAlgorithm\",\n \"issuer\": \"issuer\",\n \"destination\": \"destination\",\n \"lifetimeInSeconds\": 1,\n \"signResponse\": true,\n \"nameIdentifierFormat\": \"nameIdentifierFormat\",\n \"nameIdentifierProbes\": [\n \"nameIdentifierProbes\"\n ],\n \"authnContextClassRef\": \"authnContextClassRef\"\n },\n \"layer\": {\n \"providerId\": \"providerId\",\n \"keyId\": \"keyId\",\n \"privateKey\": \"privateKey\",\n \"principal\": \"principal\",\n \"expiration\": 1\n },\n \"sap_api\": {\n \"clientid\": \"clientid\",\n \"usernameAttribute\": \"usernameAttribute\",\n \"tokenEndpointUrl\": \"tokenEndpointUrl\",\n \"scope\": \"scope\",\n \"servicePassword\": \"servicePassword\",\n \"nameIdentifierFormat\": \"nameIdentifierFormat\"\n },\n \"sharepoint\": {\n \"url\": \"url\",\n \"external_url\": [\n \"external_url\"\n ]\n },\n \"springcm\": {\n \"acsurl\": \"acsurl\"\n },\n \"wams\": {\n \"masterkey\": \"masterkey\"\n },\n \"wsfed\": {\n \"key\": \"value\"\n },\n \"zendesk\": {\n \"accountName\": \"accountName\"\n },\n \"zoom\": {\n \"account\": \"account\"\n },\n \"sso_integration\": {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n },\n \"token_endpoint_auth_method\": \"none\",\n \"is_token_endpoint_ip_header_trusted\": true,\n \"client_metadata\": {\n \"key\": \"value\"\n },\n \"mobile\": {\n \"android\": {\n \"app_package_name\": \"app_package_name\",\n \"sha256_cert_fingerprints\": [\n \"sha256_cert_fingerprints\"\n ]\n },\n \"ios\": {\n \"team_id\": \"team_id\",\n \"app_bundle_identifier\": \"app_bundle_identifier\"\n }\n },\n \"initiate_login_uri\": \"initiate_login_uri\",\n \"native_social_login\": {\n \"apple\": {\n \"enabled\": true\n },\n \"facebook\": {\n \"enabled\": true\n },\n \"google\": {\n \"enabled\": true\n }\n },\n \"fedcm_login\": {\n \"google\": {\n \"is_enabled\": true\n }\n },\n \"refresh_token\": {\n \"rotation_type\": \"rotating\",\n \"expiration_type\": \"expiring\",\n \"leeway\": 1,\n \"token_lifetime\": 1,\n \"infinite_token_lifetime\": true,\n \"idle_token_lifetime\": 1,\n \"infinite_idle_token_lifetime\": true,\n \"policies\": [\n {\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ]\n }\n ]\n },\n \"default_organization\": {\n \"organization_id\": \"organization_id\",\n \"flows\": [\n \"client_credentials\"\n ]\n },\n \"organization_usage\": \"deny\",\n \"organization_require_behavior\": \"no_prompt\",\n \"organization_discovery_methods\": [\n \"email\"\n ],\n \"client_authentication_methods\": {\n \"private_key_jwt\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"self_signed_tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n }\n },\n \"require_pushed_authorization_requests\": true,\n \"require_proof_of_possession\": true,\n \"signed_request_object\": {\n \"required\": true,\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"token_vault_privileged_access\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ],\n \"ip_allowlist\": [\n \"ip_allowlist\"\n ],\n \"grants\": [\n {\n \"connection\": \"connection\",\n \"scopes\": [\n \"scopes\"\n ]\n }\n ]\n },\n \"compliance_level\": \"none\",\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"token_exchange\": {\n \"allow_any_profile_of_type\": [\n \"custom_authentication\"\n ]\n },\n \"par_request_expiry\": 1,\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"express_configuration\": {\n \"initiate_login_uri_template\": \"initiate_login_uri_template\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"connection_profile_id\": \"connection_profile_id\",\n \"enable_client\": true,\n \"enable_organization\": true,\n \"linked_clients\": [\n {\n \"client_id\": \"client_id\"\n }\n ],\n \"okta_oin_client_id\": \"okta_oin_client_id\",\n \"admin_login_domain\": \"admin_login_domain\",\n \"oin_submission_id\": \"oin_submission_id\"\n },\n \"b2b_integration_configuration\": {\n \"sso_profiles\": [\n \"sso_profiles\"\n ],\n \"integration_type\": \"custom_auth_server\"\n },\n \"my_organization_configuration\": {\n \"connection_profile_id\": \"connection_profile_id\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"allowed_strategies\": [\n \"pingfederate\"\n ],\n \"third_party_client_access\": {\n \"default_value\": \"block\",\n \"allowed_values\": [\n \"allow\"\n ]\n },\n \"connection_deletion_behavior\": \"allow\",\n \"invitation_landing_client_id\": \"invitation_landing_client_id\",\n \"enforce_permission_ceiling\": true,\n \"enforce_self_assignment_restriction\": true\n },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"anonymous_sessions\": {\n \"active\": true\n },\n \"enforce_anon_session_transfer_network_binding\": \"ip\",\n \"third_party_security_mode\": \"strict\",\n \"oidc_support\": {\n \"is_allowed\": true,\n \"allow_all_scopes\": true,\n \"allowed_scopes\": [\n \"profile\"\n ]\n },\n \"redirection_policy\": \"allow_always\",\n \"resource_server_identifier\": \"resource_server_identifier\",\n \"async_approval_notification_channels\": [\n \"guardian-push\"\n ],\n \"external_metadata_type\": \"cimd\",\n \"external_metadata_created_by\": \"admin\",\n \"external_metadata_status\": \"available\",\n \"external_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n}",
"headers": {
"Content-Type": "application/json"
}
@@ -1288,7 +1288,7 @@
},
"response": {
"status": 200,
- "body": "{\n \"client_id\": \"client_id\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"tenant\": \"tenant\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"global\": true,\n \"client_secret\": \"client_secret\",\n \"app_type\": \"native\",\n \"logo_uri\": \"logo_uri\",\n \"is_first_party\": true,\n \"oidc_conformant\": true,\n \"callbacks\": [\n \"callbacks\"\n ],\n \"allowed_origins\": [\n \"allowed_origins\"\n ],\n \"web_origins\": [\n \"web_origins\"\n ],\n \"client_aliases\": [\n \"client_aliases\"\n ],\n \"allowed_clients\": [\n \"allowed_clients\"\n ],\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_transfer\": {\n \"can_create_session_transfer_token\": true,\n \"enforce_cascade_revocation\": true,\n \"allowed_authentication_methods\": [\n \"cookie\"\n ],\n \"enforce_device_binding\": \"ip\",\n \"allow_refresh_token\": true,\n \"enforce_online_refresh_tokens\": true,\n \"delegation\": {\n \"allow_delegated_access\": true,\n \"enforce_device_binding\": \"ip\"\n }\n },\n \"oidc_logout\": {\n \"backchannel_logout_urls\": [\n \"backchannel_logout_urls\"\n ],\n \"backchannel_logout_initiators\": {\n \"mode\": \"custom\",\n \"selected_initiators\": [\n \"rp-logout\"\n ]\n },\n \"backchannel_logout_session_metadata\": {\n \"include\": true\n }\n },\n \"grant_types\": [\n \"grant_types\"\n ],\n \"jwt_configuration\": {\n \"lifetime_in_seconds\": 1,\n \"secret_encoded\": true,\n \"scopes\": {\n \"key\": \"value\"\n },\n \"alg\": \"HS256\"\n },\n \"signing_keys\": [\n {\n \"pkcs7\": \"pkcs7\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n }\n ],\n \"encryption_key\": {\n \"pub\": \"pub\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n },\n \"sso\": true,\n \"sso_disabled\": true,\n \"cross_origin_authentication\": true,\n \"cross_origin_loc\": \"cross_origin_loc\",\n \"custom_login_page_on\": true,\n \"custom_login_page\": \"custom_login_page\",\n \"custom_login_page_preview\": \"custom_login_page_preview\",\n \"form_template\": \"form_template\",\n \"addons\": {\n \"aws\": {\n \"principal\": \"principal\",\n \"role\": \"role\",\n \"lifetime_in_seconds\": 1\n },\n \"azure_blob\": {\n \"accountName\": \"accountName\",\n \"storageAccessKey\": \"storageAccessKey\",\n \"containerName\": \"containerName\",\n \"blobName\": \"blobName\",\n \"expiration\": 1,\n \"signedIdentifier\": \"signedIdentifier\",\n \"blob_read\": true,\n \"blob_write\": true,\n \"blob_delete\": true,\n \"container_read\": true,\n \"container_write\": true,\n \"container_delete\": true,\n \"container_list\": true\n },\n \"azure_sb\": {\n \"namespace\": \"namespace\",\n \"sasKeyName\": \"sasKeyName\",\n \"sasKey\": \"sasKey\",\n \"entityPath\": \"entityPath\",\n \"expiration\": 1\n },\n \"rms\": {\n \"url\": \"url\"\n },\n \"mscrm\": {\n \"url\": \"url\"\n },\n \"slack\": {\n \"team\": \"team\"\n },\n \"sentry\": {\n \"org_slug\": \"org_slug\",\n \"base_url\": \"base_url\"\n },\n \"box\": {\n \"key\": \"value\"\n },\n \"cloudbees\": {\n \"key\": \"value\"\n },\n \"concur\": {\n \"key\": \"value\"\n },\n \"dropbox\": {\n \"key\": \"value\"\n },\n \"echosign\": {\n \"domain\": \"domain\"\n },\n \"egnyte\": {\n \"domain\": \"domain\"\n },\n \"firebase\": {\n \"secret\": \"secret\",\n \"private_key_id\": \"private_key_id\",\n \"private_key\": \"private_key\",\n \"client_email\": \"client_email\",\n \"lifetime_in_seconds\": 1\n },\n \"newrelic\": {\n \"account\": \"account\"\n },\n \"office365\": {\n \"domain\": \"domain\",\n \"connection\": \"connection\"\n },\n \"salesforce\": {\n \"entity_id\": \"entity_id\"\n },\n \"salesforce_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"salesforce_sandbox_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"samlp\": {\n \"mappings\": {\n \"key\": \"value\"\n },\n \"audience\": \"audience\",\n \"recipient\": \"recipient\",\n \"createUpnClaim\": true,\n \"mapUnknownClaimsAsIs\": true,\n \"passthroughClaimsWithNoMapping\": true,\n \"mapIdentities\": true,\n \"signatureAlgorithm\": \"signatureAlgorithm\",\n \"digestAlgorithm\": \"digestAlgorithm\",\n \"issuer\": \"issuer\",\n \"destination\": \"destination\",\n \"lifetimeInSeconds\": 1,\n \"signResponse\": true,\n \"nameIdentifierFormat\": \"nameIdentifierFormat\",\n \"nameIdentifierProbes\": [\n \"nameIdentifierProbes\"\n ],\n \"authnContextClassRef\": \"authnContextClassRef\"\n },\n \"layer\": {\n \"providerId\": \"providerId\",\n \"keyId\": \"keyId\",\n \"privateKey\": \"privateKey\",\n \"principal\": \"principal\",\n \"expiration\": 1\n },\n \"sap_api\": {\n \"clientid\": \"clientid\",\n \"usernameAttribute\": \"usernameAttribute\",\n \"tokenEndpointUrl\": \"tokenEndpointUrl\",\n \"scope\": \"scope\",\n \"servicePassword\": \"servicePassword\",\n \"nameIdentifierFormat\": \"nameIdentifierFormat\"\n },\n \"sharepoint\": {\n \"url\": \"url\",\n \"external_url\": [\n \"external_url\"\n ]\n },\n \"springcm\": {\n \"acsurl\": \"acsurl\"\n },\n \"wams\": {\n \"masterkey\": \"masterkey\"\n },\n \"wsfed\": {\n \"key\": \"value\"\n },\n \"zendesk\": {\n \"accountName\": \"accountName\"\n },\n \"zoom\": {\n \"account\": \"account\"\n },\n \"sso_integration\": {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n },\n \"token_endpoint_auth_method\": \"none\",\n \"is_token_endpoint_ip_header_trusted\": true,\n \"client_metadata\": {\n \"key\": \"value\"\n },\n \"mobile\": {\n \"android\": {\n \"app_package_name\": \"app_package_name\",\n \"sha256_cert_fingerprints\": [\n \"sha256_cert_fingerprints\"\n ]\n },\n \"ios\": {\n \"team_id\": \"team_id\",\n \"app_bundle_identifier\": \"app_bundle_identifier\"\n }\n },\n \"initiate_login_uri\": \"initiate_login_uri\",\n \"native_social_login\": {\n \"apple\": {\n \"enabled\": true\n },\n \"facebook\": {\n \"enabled\": true\n },\n \"google\": {\n \"enabled\": true\n }\n },\n \"fedcm_login\": {\n \"google\": {\n \"is_enabled\": true\n }\n },\n \"refresh_token\": {\n \"rotation_type\": \"rotating\",\n \"expiration_type\": \"expiring\",\n \"leeway\": 1,\n \"token_lifetime\": 1,\n \"infinite_token_lifetime\": true,\n \"idle_token_lifetime\": 1,\n \"infinite_idle_token_lifetime\": true,\n \"policies\": [\n {\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ]\n }\n ]\n },\n \"default_organization\": {\n \"organization_id\": \"organization_id\",\n \"flows\": [\n \"client_credentials\"\n ]\n },\n \"organization_usage\": \"deny\",\n \"organization_require_behavior\": \"no_prompt\",\n \"organization_discovery_methods\": [\n \"email\"\n ],\n \"client_authentication_methods\": {\n \"private_key_jwt\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"self_signed_tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n }\n },\n \"require_pushed_authorization_requests\": true,\n \"require_proof_of_possession\": true,\n \"signed_request_object\": {\n \"required\": true,\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"token_vault_privileged_access\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ],\n \"ip_allowlist\": [\n \"ip_allowlist\"\n ],\n \"grants\": [\n {\n \"connection\": \"connection\",\n \"scopes\": [\n \"scopes\"\n ]\n }\n ]\n },\n \"compliance_level\": \"none\",\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"token_exchange\": {\n \"allow_any_profile_of_type\": [\n \"custom_authentication\"\n ]\n },\n \"par_request_expiry\": 1,\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"express_configuration\": {\n \"initiate_login_uri_template\": \"initiate_login_uri_template\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"connection_profile_id\": \"connection_profile_id\",\n \"enable_client\": true,\n \"enable_organization\": true,\n \"linked_clients\": [\n {\n \"client_id\": \"client_id\"\n }\n ],\n \"okta_oin_client_id\": \"okta_oin_client_id\",\n \"admin_login_domain\": \"admin_login_domain\",\n \"oin_submission_id\": \"oin_submission_id\"\n },\n \"b2b_integration_configuration\": {\n \"sso_profiles\": [\n \"sso_profiles\"\n ],\n \"integration_type\": \"custom_auth_server\"\n },\n \"my_organization_configuration\": {\n \"connection_profile_id\": \"connection_profile_id\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"allowed_strategies\": [\n \"pingfederate\"\n ],\n \"third_party_client_access\": {\n \"default_value\": \"block\",\n \"allowed_values\": [\n \"allow\"\n ]\n },\n \"connection_deletion_behavior\": \"allow\",\n \"invitation_landing_client_id\": \"invitation_landing_client_id\",\n \"enforce_permission_ceiling\": true,\n \"enforce_self_assignment_restriction\": true\n },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"anonymous_sessions\": {\n \"active\": true\n },\n \"enforce_anon_session_transfer_network_binding\": \"ip\",\n \"third_party_security_mode\": \"strict\",\n \"redirection_policy\": \"allow_always\",\n \"resource_server_identifier\": \"resource_server_identifier\",\n \"async_approval_notification_channels\": [\n \"guardian-push\"\n ],\n \"external_metadata_type\": \"cimd\",\n \"external_metadata_created_by\": \"admin\",\n \"external_metadata_status\": \"available\",\n \"external_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n}",
+ "body": "{\n \"client_id\": \"client_id\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"tenant\": \"tenant\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"global\": true,\n \"client_secret\": \"client_secret\",\n \"app_type\": \"native\",\n \"logo_uri\": \"logo_uri\",\n \"is_first_party\": true,\n \"oidc_conformant\": true,\n \"callbacks\": [\n \"callbacks\"\n ],\n \"allowed_origins\": [\n \"allowed_origins\"\n ],\n \"web_origins\": [\n \"web_origins\"\n ],\n \"client_aliases\": [\n \"client_aliases\"\n ],\n \"allowed_clients\": [\n \"allowed_clients\"\n ],\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_transfer\": {\n \"can_create_session_transfer_token\": true,\n \"enforce_cascade_revocation\": true,\n \"allowed_authentication_methods\": [\n \"cookie\"\n ],\n \"enforce_device_binding\": \"ip\",\n \"allow_refresh_token\": true,\n \"enforce_online_refresh_tokens\": true,\n \"delegation\": {\n \"allow_delegated_access\": true,\n \"enforce_device_binding\": \"ip\"\n }\n },\n \"oidc_logout\": {\n \"backchannel_logout_urls\": [\n \"backchannel_logout_urls\"\n ],\n \"backchannel_logout_initiators\": {\n \"mode\": \"custom\",\n \"selected_initiators\": [\n \"rp-logout\"\n ]\n },\n \"backchannel_logout_session_metadata\": {\n \"include\": true\n }\n },\n \"grant_types\": [\n \"grant_types\"\n ],\n \"jwt_configuration\": {\n \"lifetime_in_seconds\": 1,\n \"secret_encoded\": true,\n \"scopes\": {\n \"key\": \"value\"\n },\n \"alg\": \"HS256\"\n },\n \"signing_keys\": [\n {\n \"pkcs7\": \"pkcs7\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n }\n ],\n \"encryption_key\": {\n \"pub\": \"pub\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n },\n \"sso\": true,\n \"sso_disabled\": true,\n \"cross_origin_authentication\": true,\n \"cross_origin_loc\": \"cross_origin_loc\",\n \"custom_login_page_on\": true,\n \"custom_login_page\": \"custom_login_page\",\n \"custom_login_page_preview\": \"custom_login_page_preview\",\n \"form_template\": \"form_template\",\n \"addons\": {\n \"aws\": {\n \"principal\": \"principal\",\n \"role\": \"role\",\n \"lifetime_in_seconds\": 1\n },\n \"azure_blob\": {\n \"accountName\": \"accountName\",\n \"storageAccessKey\": \"storageAccessKey\",\n \"containerName\": \"containerName\",\n \"blobName\": \"blobName\",\n \"expiration\": 1,\n \"signedIdentifier\": \"signedIdentifier\",\n \"blob_read\": true,\n \"blob_write\": true,\n \"blob_delete\": true,\n \"container_read\": true,\n \"container_write\": true,\n \"container_delete\": true,\n \"container_list\": true\n },\n \"azure_sb\": {\n \"namespace\": \"namespace\",\n \"sasKeyName\": \"sasKeyName\",\n \"sasKey\": \"sasKey\",\n \"entityPath\": \"entityPath\",\n \"expiration\": 1\n },\n \"rms\": {\n \"url\": \"url\"\n },\n \"mscrm\": {\n \"url\": \"url\"\n },\n \"slack\": {\n \"team\": \"team\"\n },\n \"sentry\": {\n \"org_slug\": \"org_slug\",\n \"base_url\": \"base_url\"\n },\n \"box\": {\n \"key\": \"value\"\n },\n \"cloudbees\": {\n \"key\": \"value\"\n },\n \"concur\": {\n \"key\": \"value\"\n },\n \"dropbox\": {\n \"key\": \"value\"\n },\n \"echosign\": {\n \"domain\": \"domain\"\n },\n \"egnyte\": {\n \"domain\": \"domain\"\n },\n \"firebase\": {\n \"secret\": \"secret\",\n \"private_key_id\": \"private_key_id\",\n \"private_key\": \"private_key\",\n \"client_email\": \"client_email\",\n \"lifetime_in_seconds\": 1\n },\n \"newrelic\": {\n \"account\": \"account\"\n },\n \"office365\": {\n \"domain\": \"domain\",\n \"connection\": \"connection\"\n },\n \"salesforce\": {\n \"entity_id\": \"entity_id\"\n },\n \"salesforce_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"salesforce_sandbox_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"samlp\": {\n \"mappings\": {\n \"key\": \"value\"\n },\n \"audience\": \"audience\",\n \"recipient\": \"recipient\",\n \"createUpnClaim\": true,\n \"mapUnknownClaimsAsIs\": true,\n \"passthroughClaimsWithNoMapping\": true,\n \"mapIdentities\": true,\n \"signatureAlgorithm\": \"signatureAlgorithm\",\n \"digestAlgorithm\": \"digestAlgorithm\",\n \"issuer\": \"issuer\",\n \"destination\": \"destination\",\n \"lifetimeInSeconds\": 1,\n \"signResponse\": true,\n \"nameIdentifierFormat\": \"nameIdentifierFormat\",\n \"nameIdentifierProbes\": [\n \"nameIdentifierProbes\"\n ],\n \"authnContextClassRef\": \"authnContextClassRef\"\n },\n \"layer\": {\n \"providerId\": \"providerId\",\n \"keyId\": \"keyId\",\n \"privateKey\": \"privateKey\",\n \"principal\": \"principal\",\n \"expiration\": 1\n },\n \"sap_api\": {\n \"clientid\": \"clientid\",\n \"usernameAttribute\": \"usernameAttribute\",\n \"tokenEndpointUrl\": \"tokenEndpointUrl\",\n \"scope\": \"scope\",\n \"servicePassword\": \"servicePassword\",\n \"nameIdentifierFormat\": \"nameIdentifierFormat\"\n },\n \"sharepoint\": {\n \"url\": \"url\",\n \"external_url\": [\n \"external_url\"\n ]\n },\n \"springcm\": {\n \"acsurl\": \"acsurl\"\n },\n \"wams\": {\n \"masterkey\": \"masterkey\"\n },\n \"wsfed\": {\n \"key\": \"value\"\n },\n \"zendesk\": {\n \"accountName\": \"accountName\"\n },\n \"zoom\": {\n \"account\": \"account\"\n },\n \"sso_integration\": {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n },\n \"token_endpoint_auth_method\": \"none\",\n \"is_token_endpoint_ip_header_trusted\": true,\n \"client_metadata\": {\n \"key\": \"value\"\n },\n \"mobile\": {\n \"android\": {\n \"app_package_name\": \"app_package_name\",\n \"sha256_cert_fingerprints\": [\n \"sha256_cert_fingerprints\"\n ]\n },\n \"ios\": {\n \"team_id\": \"team_id\",\n \"app_bundle_identifier\": \"app_bundle_identifier\"\n }\n },\n \"initiate_login_uri\": \"initiate_login_uri\",\n \"native_social_login\": {\n \"apple\": {\n \"enabled\": true\n },\n \"facebook\": {\n \"enabled\": true\n },\n \"google\": {\n \"enabled\": true\n }\n },\n \"fedcm_login\": {\n \"google\": {\n \"is_enabled\": true\n }\n },\n \"refresh_token\": {\n \"rotation_type\": \"rotating\",\n \"expiration_type\": \"expiring\",\n \"leeway\": 1,\n \"token_lifetime\": 1,\n \"infinite_token_lifetime\": true,\n \"idle_token_lifetime\": 1,\n \"infinite_idle_token_lifetime\": true,\n \"policies\": [\n {\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ]\n }\n ]\n },\n \"default_organization\": {\n \"organization_id\": \"organization_id\",\n \"flows\": [\n \"client_credentials\"\n ]\n },\n \"organization_usage\": \"deny\",\n \"organization_require_behavior\": \"no_prompt\",\n \"organization_discovery_methods\": [\n \"email\"\n ],\n \"client_authentication_methods\": {\n \"private_key_jwt\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"self_signed_tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n }\n },\n \"require_pushed_authorization_requests\": true,\n \"require_proof_of_possession\": true,\n \"signed_request_object\": {\n \"required\": true,\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"token_vault_privileged_access\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ],\n \"ip_allowlist\": [\n \"ip_allowlist\"\n ],\n \"grants\": [\n {\n \"connection\": \"connection\",\n \"scopes\": [\n \"scopes\"\n ]\n }\n ]\n },\n \"compliance_level\": \"none\",\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"token_exchange\": {\n \"allow_any_profile_of_type\": [\n \"custom_authentication\"\n ]\n },\n \"par_request_expiry\": 1,\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"express_configuration\": {\n \"initiate_login_uri_template\": \"initiate_login_uri_template\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"connection_profile_id\": \"connection_profile_id\",\n \"enable_client\": true,\n \"enable_organization\": true,\n \"linked_clients\": [\n {\n \"client_id\": \"client_id\"\n }\n ],\n \"okta_oin_client_id\": \"okta_oin_client_id\",\n \"admin_login_domain\": \"admin_login_domain\",\n \"oin_submission_id\": \"oin_submission_id\"\n },\n \"b2b_integration_configuration\": {\n \"sso_profiles\": [\n \"sso_profiles\"\n ],\n \"integration_type\": \"custom_auth_server\"\n },\n \"my_organization_configuration\": {\n \"connection_profile_id\": \"connection_profile_id\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"allowed_strategies\": [\n \"pingfederate\"\n ],\n \"third_party_client_access\": {\n \"default_value\": \"block\",\n \"allowed_values\": [\n \"allow\"\n ]\n },\n \"connection_deletion_behavior\": \"allow\",\n \"invitation_landing_client_id\": \"invitation_landing_client_id\",\n \"enforce_permission_ceiling\": true,\n \"enforce_self_assignment_restriction\": true\n },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"anonymous_sessions\": {\n \"active\": true\n },\n \"enforce_anon_session_transfer_network_binding\": \"ip\",\n \"third_party_security_mode\": \"strict\",\n \"oidc_support\": {\n \"is_allowed\": true,\n \"allow_all_scopes\": true,\n \"allowed_scopes\": [\n \"profile\"\n ]\n },\n \"redirection_policy\": \"allow_always\",\n \"resource_server_identifier\": \"resource_server_identifier\",\n \"async_approval_notification_channels\": [\n \"guardian-push\"\n ],\n \"external_metadata_type\": \"cimd\",\n \"external_metadata_created_by\": \"admin\",\n \"external_metadata_status\": \"available\",\n \"external_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n}",
"headers": {
"Content-Type": "application/json"
}
@@ -4821,7 +4821,7 @@
},
"response": {
"status": 200,
- "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"resource_servers\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_system\": true,\n \"identifier\": \"identifier\",\n \"scopes\": [\n {\n \"value\": \"value\"\n }\n ],\n \"signing_alg\": \"HS256\",\n \"signing_secret\": \"signing_secret\",\n \"allow_offline_access\": true,\n \"allow_online_access\": true,\n \"allow_online_access_with_ephemeral_sessions\": true,\n \"skip_consent_for_verifiable_first_party_clients\": true,\n \"token_lifetime\": 1,\n \"token_lifetime_for_web\": 1,\n \"enforce_policies\": true,\n \"token_lifetime_for_anonymous_access_tokens\": 1,\n \"token_dialect\": \"access_token\",\n \"token_encryption\": {\n \"format\": \"compact-nested-jwe\",\n \"encryption_key\": {\n \"alg\": \"RSA-OAEP-256\",\n \"pem\": \"pem\"\n }\n },\n \"consent_policy\": \"transactional-authorization-with-mfa\",\n \"require_consent_non_repudiation\": true,\n \"proof_of_possession\": {\n \"mechanism\": \"mtls\",\n \"required\": true\n },\n \"authorization_policy\": {\n \"policy_id\": \"policy_id\"\n },\n \"client_id\": \"client_id\"\n }\n ]\n}",
+ "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"resource_servers\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_system\": true,\n \"identifier\": \"identifier\",\n \"scopes\": [\n {\n \"value\": \"value\"\n }\n ],\n \"signing_alg\": \"HS256\",\n \"signing_secret\": \"signing_secret\",\n \"allow_offline_access\": true,\n \"allow_online_access\": true,\n \"allow_online_access_with_ephemeral_sessions\": true,\n \"skip_consent_for_verifiable_first_party_clients\": true,\n \"token_lifetime\": 1,\n \"token_lifetime_for_web\": 1,\n \"enforce_policies\": true,\n \"token_lifetime_for_anonymous_access_tokens\": 1,\n \"token_dialect\": \"access_token\",\n \"token_encryption\": {\n \"format\": \"compact-nested-jwe\",\n \"encryption_key\": {\n \"alg\": \"RSA-OAEP-256\",\n \"pem\": \"pem\"\n }\n },\n \"consent_policy\": \"transactional-authorization-with-mfa\",\n \"require_consent_non_repudiation\": true,\n \"proof_of_possession\": {\n \"mechanism\": \"mtls\",\n \"required\": true\n },\n \"authorization_policy\": {\n \"policy_id\": \"policy_id\"\n },\n \"client_id\": \"client_id\",\n \"type\": \"universal_commerce_protocol_server\"\n }\n ]\n}",
"headers": {
"Content-Type": "application/json"
}
@@ -4853,7 +4853,7 @@
},
"response": {
"status": 201,
- "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_system\": true,\n \"identifier\": \"identifier\",\n \"scopes\": [\n {\n \"value\": \"value\",\n \"description\": \"description\"\n }\n ],\n \"signing_alg\": \"HS256\",\n \"signing_secret\": \"signing_secret\",\n \"allow_offline_access\": true,\n \"allow_online_access\": true,\n \"allow_online_access_with_ephemeral_sessions\": true,\n \"skip_consent_for_verifiable_first_party_clients\": true,\n \"token_lifetime\": 1,\n \"token_lifetime_for_web\": 1,\n \"enforce_policies\": true,\n \"token_lifetime_for_anonymous_access_tokens\": 1,\n \"token_dialect\": \"access_token\",\n \"access_token\": {\n \"claims_mapping\": {\n \"custom_claims\": [\n {\n \"name\": \"name\",\n \"expression\": \"expression\"\n }\n ]\n }\n },\n \"token_encryption\": {\n \"format\": \"compact-nested-jwe\",\n \"encryption_key\": {\n \"name\": \"name\",\n \"alg\": \"RSA-OAEP-256\",\n \"kid\": \"kid\",\n \"pem\": \"pem\"\n }\n },\n \"consent_policy\": \"transactional-authorization-with-mfa\",\n \"require_consent_non_repudiation\": true,\n \"authorization_details\": [\n {\n \"key\": \"value\"\n }\n ],\n \"proof_of_possession\": {\n \"mechanism\": \"mtls\",\n \"required\": true,\n \"required_for\": \"public_clients\"\n },\n \"subject_type_authorization\": {\n \"user\": {\n \"policy\": \"allow_all\"\n },\n \"client\": {\n \"policy\": \"deny_all\"\n },\n \"anonymous_user\": {\n \"policy\": \"deny_all\"\n }\n },\n \"authorization_policy\": {\n \"policy_id\": \"policy_id\"\n },\n \"client_id\": \"client_id\"\n}",
+ "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_system\": true,\n \"identifier\": \"identifier\",\n \"scopes\": [\n {\n \"value\": \"value\",\n \"description\": \"description\"\n }\n ],\n \"signing_alg\": \"HS256\",\n \"signing_secret\": \"signing_secret\",\n \"allow_offline_access\": true,\n \"allow_online_access\": true,\n \"allow_online_access_with_ephemeral_sessions\": true,\n \"skip_consent_for_verifiable_first_party_clients\": true,\n \"token_lifetime\": 1,\n \"token_lifetime_for_web\": 1,\n \"enforce_policies\": true,\n \"token_lifetime_for_anonymous_access_tokens\": 1,\n \"token_dialect\": \"access_token\",\n \"access_token\": {\n \"claims_mapping\": {\n \"custom_claims\": [\n {\n \"name\": \"name\",\n \"expression\": \"expression\"\n }\n ]\n }\n },\n \"token_encryption\": {\n \"format\": \"compact-nested-jwe\",\n \"encryption_key\": {\n \"name\": \"name\",\n \"alg\": \"RSA-OAEP-256\",\n \"kid\": \"kid\",\n \"pem\": \"pem\"\n }\n },\n \"consent_policy\": \"transactional-authorization-with-mfa\",\n \"require_consent_non_repudiation\": true,\n \"authorization_details\": [\n {\n \"key\": \"value\"\n }\n ],\n \"proof_of_possession\": {\n \"mechanism\": \"mtls\",\n \"required\": true,\n \"required_for\": \"public_clients\"\n },\n \"subject_type_authorization\": {\n \"user\": {\n \"policy\": \"allow_all\"\n },\n \"client\": {\n \"policy\": \"deny_all\"\n },\n \"anonymous_user\": {\n \"policy\": \"deny_all\"\n }\n },\n \"authorization_policy\": {\n \"policy_id\": \"policy_id\"\n },\n \"client_id\": \"client_id\",\n \"type\": \"universal_commerce_protocol_server\"\n}",
"headers": {
"Content-Type": "application/json"
}
@@ -4907,7 +4907,7 @@
},
"response": {
"status": 200,
- "body": "{\n \"resource_servers\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_system\": true,\n \"identifier\": \"identifier\",\n \"scopes\": [\n {\n \"value\": \"value\"\n }\n ],\n \"signing_alg\": \"HS256\",\n \"allow_offline_access\": true,\n \"allow_online_access\": true,\n \"allow_online_access_with_ephemeral_sessions\": true,\n \"skip_consent_for_verifiable_first_party_clients\": true,\n \"token_lifetime\": 1,\n \"token_lifetime_for_web\": 1,\n \"enforce_policies\": true,\n \"token_lifetime_for_anonymous_access_tokens\": 1,\n \"token_dialect\": \"access_token\",\n \"token_encryption\": {\n \"format\": \"compact-nested-jwe\",\n \"encryption_key\": {\n \"alg\": \"RSA-OAEP-256\",\n \"pem\": \"pem\"\n }\n },\n \"consent_policy\": \"transactional-authorization-with-mfa\",\n \"require_consent_non_repudiation\": true,\n \"proof_of_possession\": {\n \"mechanism\": \"mtls\",\n \"required\": true\n },\n \"authorization_policy\": {\n \"policy_id\": \"policy_id\"\n },\n \"client_id\": \"client_id\"\n }\n ],\n \"next\": \"next\"\n}",
+ "body": "{\n \"resource_servers\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_system\": true,\n \"identifier\": \"identifier\",\n \"scopes\": [\n {\n \"value\": \"value\"\n }\n ],\n \"signing_alg\": \"HS256\",\n \"allow_offline_access\": true,\n \"allow_online_access\": true,\n \"allow_online_access_with_ephemeral_sessions\": true,\n \"skip_consent_for_verifiable_first_party_clients\": true,\n \"token_lifetime\": 1,\n \"token_lifetime_for_web\": 1,\n \"enforce_policies\": true,\n \"token_lifetime_for_anonymous_access_tokens\": 1,\n \"token_dialect\": \"access_token\",\n \"token_encryption\": {\n \"format\": \"compact-nested-jwe\",\n \"encryption_key\": {\n \"alg\": \"RSA-OAEP-256\",\n \"pem\": \"pem\"\n }\n },\n \"consent_policy\": \"transactional-authorization-with-mfa\",\n \"require_consent_non_repudiation\": true,\n \"proof_of_possession\": {\n \"mechanism\": \"mtls\",\n \"required\": true\n },\n \"authorization_policy\": {\n \"policy_id\": \"policy_id\"\n },\n \"client_id\": \"client_id\",\n \"type\": \"universal_commerce_protocol_server\"\n }\n ],\n \"next\": \"next\"\n}",
"headers": {
"Content-Type": "application/json"
}
@@ -4949,7 +4949,7 @@
},
"response": {
"status": 200,
- "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_system\": true,\n \"identifier\": \"identifier\",\n \"scopes\": [\n {\n \"value\": \"value\",\n \"description\": \"description\"\n }\n ],\n \"signing_alg\": \"HS256\",\n \"signing_secret\": \"signing_secret\",\n \"allow_offline_access\": true,\n \"allow_online_access\": true,\n \"allow_online_access_with_ephemeral_sessions\": true,\n \"skip_consent_for_verifiable_first_party_clients\": true,\n \"token_lifetime\": 1,\n \"token_lifetime_for_web\": 1,\n \"enforce_policies\": true,\n \"token_lifetime_for_anonymous_access_tokens\": 1,\n \"token_dialect\": \"access_token\",\n \"access_token\": {\n \"claims_mapping\": {\n \"custom_claims\": [\n {\n \"name\": \"name\",\n \"expression\": \"expression\"\n }\n ]\n }\n },\n \"token_encryption\": {\n \"format\": \"compact-nested-jwe\",\n \"encryption_key\": {\n \"name\": \"name\",\n \"alg\": \"RSA-OAEP-256\",\n \"kid\": \"kid\",\n \"pem\": \"pem\"\n }\n },\n \"consent_policy\": \"transactional-authorization-with-mfa\",\n \"require_consent_non_repudiation\": true,\n \"authorization_details\": [\n {\n \"key\": \"value\"\n }\n ],\n \"proof_of_possession\": {\n \"mechanism\": \"mtls\",\n \"required\": true,\n \"required_for\": \"public_clients\"\n },\n \"subject_type_authorization\": {\n \"user\": {\n \"policy\": \"allow_all\"\n },\n \"client\": {\n \"policy\": \"deny_all\"\n },\n \"anonymous_user\": {\n \"policy\": \"deny_all\"\n }\n },\n \"authorization_policy\": {\n \"policy_id\": \"policy_id\"\n },\n \"client_id\": \"client_id\"\n}",
+ "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_system\": true,\n \"identifier\": \"identifier\",\n \"scopes\": [\n {\n \"value\": \"value\",\n \"description\": \"description\"\n }\n ],\n \"signing_alg\": \"HS256\",\n \"signing_secret\": \"signing_secret\",\n \"allow_offline_access\": true,\n \"allow_online_access\": true,\n \"allow_online_access_with_ephemeral_sessions\": true,\n \"skip_consent_for_verifiable_first_party_clients\": true,\n \"token_lifetime\": 1,\n \"token_lifetime_for_web\": 1,\n \"enforce_policies\": true,\n \"token_lifetime_for_anonymous_access_tokens\": 1,\n \"token_dialect\": \"access_token\",\n \"access_token\": {\n \"claims_mapping\": {\n \"custom_claims\": [\n {\n \"name\": \"name\",\n \"expression\": \"expression\"\n }\n ]\n }\n },\n \"token_encryption\": {\n \"format\": \"compact-nested-jwe\",\n \"encryption_key\": {\n \"name\": \"name\",\n \"alg\": \"RSA-OAEP-256\",\n \"kid\": \"kid\",\n \"pem\": \"pem\"\n }\n },\n \"consent_policy\": \"transactional-authorization-with-mfa\",\n \"require_consent_non_repudiation\": true,\n \"authorization_details\": [\n {\n \"key\": \"value\"\n }\n ],\n \"proof_of_possession\": {\n \"mechanism\": \"mtls\",\n \"required\": true,\n \"required_for\": \"public_clients\"\n },\n \"subject_type_authorization\": {\n \"user\": {\n \"policy\": \"allow_all\"\n },\n \"client\": {\n \"policy\": \"deny_all\"\n },\n \"anonymous_user\": {\n \"policy\": \"deny_all\"\n }\n },\n \"authorization_policy\": {\n \"policy_id\": \"policy_id\"\n },\n \"client_id\": \"client_id\",\n \"type\": \"universal_commerce_protocol_server\"\n}",
"headers": {
"Content-Type": "application/json"
}
@@ -5021,7 +5021,7 @@
},
"response": {
"status": 201,
- "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_system\": true,\n \"identifier\": \"identifier\",\n \"scopes\": [\n {\n \"value\": \"value\",\n \"description\": \"description\"\n }\n ],\n \"signing_alg\": \"HS256\",\n \"signing_secret\": \"signing_secret\",\n \"allow_offline_access\": true,\n \"allow_online_access\": true,\n \"allow_online_access_with_ephemeral_sessions\": true,\n \"skip_consent_for_verifiable_first_party_clients\": true,\n \"token_lifetime\": 1,\n \"token_lifetime_for_web\": 1,\n \"enforce_policies\": true,\n \"token_lifetime_for_anonymous_access_tokens\": 1,\n \"token_dialect\": \"access_token\",\n \"access_token\": {\n \"claims_mapping\": {\n \"custom_claims\": [\n {\n \"name\": \"name\",\n \"expression\": \"expression\"\n }\n ]\n }\n },\n \"token_encryption\": {\n \"format\": \"compact-nested-jwe\",\n \"encryption_key\": {\n \"name\": \"name\",\n \"alg\": \"RSA-OAEP-256\",\n \"kid\": \"kid\",\n \"pem\": \"pem\"\n }\n },\n \"consent_policy\": \"transactional-authorization-with-mfa\",\n \"require_consent_non_repudiation\": true,\n \"authorization_details\": [\n {\n \"key\": \"value\"\n }\n ],\n \"proof_of_possession\": {\n \"mechanism\": \"mtls\",\n \"required\": true,\n \"required_for\": \"public_clients\"\n },\n \"subject_type_authorization\": {\n \"user\": {\n \"policy\": \"allow_all\"\n },\n \"client\": {\n \"policy\": \"deny_all\"\n },\n \"anonymous_user\": {\n \"policy\": \"deny_all\"\n }\n },\n \"authorization_policy\": {\n \"policy_id\": \"policy_id\"\n },\n \"client_id\": \"client_id\"\n}",
+ "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_system\": true,\n \"identifier\": \"identifier\",\n \"scopes\": [\n {\n \"value\": \"value\",\n \"description\": \"description\"\n }\n ],\n \"signing_alg\": \"HS256\",\n \"signing_secret\": \"signing_secret\",\n \"allow_offline_access\": true,\n \"allow_online_access\": true,\n \"allow_online_access_with_ephemeral_sessions\": true,\n \"skip_consent_for_verifiable_first_party_clients\": true,\n \"token_lifetime\": 1,\n \"token_lifetime_for_web\": 1,\n \"enforce_policies\": true,\n \"token_lifetime_for_anonymous_access_tokens\": 1,\n \"token_dialect\": \"access_token\",\n \"access_token\": {\n \"claims_mapping\": {\n \"custom_claims\": [\n {\n \"name\": \"name\",\n \"expression\": \"expression\"\n }\n ]\n }\n },\n \"token_encryption\": {\n \"format\": \"compact-nested-jwe\",\n \"encryption_key\": {\n \"name\": \"name\",\n \"alg\": \"RSA-OAEP-256\",\n \"kid\": \"kid\",\n \"pem\": \"pem\"\n }\n },\n \"consent_policy\": \"transactional-authorization-with-mfa\",\n \"require_consent_non_repudiation\": true,\n \"authorization_details\": [\n {\n \"key\": \"value\"\n }\n ],\n \"proof_of_possession\": {\n \"mechanism\": \"mtls\",\n \"required\": true,\n \"required_for\": \"public_clients\"\n },\n \"subject_type_authorization\": {\n \"user\": {\n \"policy\": \"allow_all\"\n },\n \"client\": {\n \"policy\": \"deny_all\"\n },\n \"anonymous_user\": {\n \"policy\": \"deny_all\"\n }\n },\n \"authorization_policy\": {\n \"policy_id\": \"policy_id\"\n },\n \"client_id\": \"client_id\",\n \"type\": \"universal_commerce_protocol_server\"\n}",
"headers": {
"Content-Type": "application/json"
}
@@ -6888,6 +6888,120 @@
}
}
},
+ {
+ "id": "9bc0f8b4-abad-4f66-9979-0abe967f0c6b",
+ "name": "Get consent signing keys for a user - default",
+ "request": {
+ "urlPathTemplate": "/users/{id}/consent-signing-keys",
+ "method": "GET",
+ "headers": {
+ "Authorization": {
+ "matches": "Bearer .+"
+ }
+ },
+ "pathParameters": {
+ "id": {
+ "equalTo": "id"
+ }
+ }
+ },
+ "response": {
+ "status": 200,
+ "body": "[\n {\n \"kid\": \"kid\",\n \"device_identifier\": \"device_identifier\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\"\n }\n]",
+ "headers": {
+ "Content-Type": "application/json"
+ }
+ },
+ "uuid": "9bc0f8b4-abad-4f66-9979-0abe967f0c6b",
+ "persistent": true,
+ "priority": 3,
+ "metadata": {
+ "mocklab": {
+ "created": {
+ "at": "2020-01-01T00:00:00.000Z",
+ "via": "SYSTEM"
+ }
+ }
+ }
+ },
+ {
+ "id": "28d3e4b7-f78e-4fa9-b458-5629d6274ebc",
+ "name": "Get a consent signing key by key ID - default",
+ "request": {
+ "urlPathTemplate": "/users/{id}/consent-signing-keys/{kid}",
+ "method": "GET",
+ "headers": {
+ "Authorization": {
+ "matches": "Bearer .+"
+ }
+ },
+ "pathParameters": {
+ "id": {
+ "equalTo": "id"
+ },
+ "kid": {
+ "equalTo": "kid"
+ }
+ }
+ },
+ "response": {
+ "status": 200,
+ "body": "{\n \"kid\": \"kid\",\n \"device_identifier\": \"device_identifier\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\"\n}",
+ "headers": {
+ "Content-Type": "application/json"
+ }
+ },
+ "uuid": "28d3e4b7-f78e-4fa9-b458-5629d6274ebc",
+ "persistent": true,
+ "priority": 3,
+ "metadata": {
+ "mocklab": {
+ "created": {
+ "at": "2020-01-01T00:00:00.000Z",
+ "via": "SYSTEM"
+ }
+ }
+ }
+ },
+ {
+ "id": "a39e1747-47fb-442f-96ba-b45ab6609569",
+ "name": "Delete a consent signing key by key ID - default",
+ "request": {
+ "urlPathTemplate": "/users/{id}/consent-signing-keys/{kid}",
+ "method": "DELETE",
+ "headers": {
+ "Authorization": {
+ "matches": "Bearer .+"
+ }
+ },
+ "pathParameters": {
+ "id": {
+ "equalTo": "id"
+ },
+ "kid": {
+ "equalTo": "kid"
+ }
+ }
+ },
+ "response": {
+ "status": 200,
+ "body": "\"\"",
+ "headers": {
+ "Content-Type": "application/json"
+ }
+ },
+ "uuid": "a39e1747-47fb-442f-96ba-b45ab6609569",
+ "persistent": true,
+ "priority": 3,
+ "metadata": {
+ "mocklab": {
+ "created": {
+ "at": "2020-01-01T00:00:00.000Z",
+ "via": "SYSTEM"
+ }
+ }
+ }
+ },
{
"id": "365cef77-10c1-4fea-9b15-317ad7a38e99",
"name": "Generate New Multi-factor Authentication (MFA) Recovery Code - default",
@@ -7820,7 +7934,7 @@
},
"response": {
"status": 200,
- "body": "{\n \"enabled\": true,\n \"shields\": [\n \"block\"\n ],\n \"allowlist\": [\n \"allowlist\"\n ],\n \"mode\": \"count_per_identifier_and_ip\",\n \"max_attempts\": 1,\n \"form_submission_mode\": \"auto\"\n}",
+ "body": "{\n \"enabled\": true,\n \"shields\": [\n \"block\"\n ],\n \"allowlist\": [\n \"allowlist\"\n ],\n \"mode\": \"count_per_identifier_and_ip\",\n \"form_submission_mode\": \"auto\",\n \"max_attempts\": 1\n}",
"headers": {
"Content-Type": "application/json"
}
@@ -7852,7 +7966,7 @@
},
"response": {
"status": 200,
- "body": "{\n \"enabled\": true,\n \"shields\": [\n \"block\"\n ],\n \"allowlist\": [\n \"allowlist\"\n ],\n \"mode\": \"count_per_identifier_and_ip\",\n \"max_attempts\": 1,\n \"form_submission_mode\": \"auto\"\n}",
+ "body": "{\n \"enabled\": true,\n \"shields\": [\n \"block\"\n ],\n \"allowlist\": [\n \"allowlist\"\n ],\n \"mode\": \"count_per_identifier_and_ip\",\n \"form_submission_mode\": \"auto\",\n \"max_attempts\": 1\n}",
"headers": {
"Content-Type": "application/json"
}
@@ -7932,177 +8046,6 @@
}
}
},
- {
- "id": "68c499db-dbcf-4500-b535-2d1b5b0816ac",
- "name": "Get CAPTCHA attack protection policies - default",
- "request": {
- "urlPathTemplate": "/attack-protection/captcha/policies",
- "method": "GET",
- "headers": {
- "Authorization": {
- "matches": "Bearer .+"
- }
- }
- },
- "response": {
- "status": 200,
- "body": "[\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"priority\": 1,\n \"match\": {\n \"auth0_managed\": [\n \"auth0_managed\"\n ],\n \"geo_country_codes\": [\n \"geo_country_codes\"\n ]\n },\n \"action\": {\n \"active_provider_id\": \"simple_captcha\"\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n]",
- "headers": {
- "Content-Type": "application/json"
- }
- },
- "uuid": "68c499db-dbcf-4500-b535-2d1b5b0816ac",
- "persistent": true,
- "priority": 3,
- "metadata": {
- "mocklab": {
- "created": {
- "at": "2020-01-01T00:00:00.000Z",
- "via": "SYSTEM"
- }
- }
- },
- "postServeActions": []
- },
- {
- "id": "d9b60e3e-ceaa-434a-9131-9ae1433967b9",
- "name": "Create a CAPTCHA attack protection policy - default",
- "request": {
- "urlPathTemplate": "/attack-protection/captcha/policies",
- "method": "POST",
- "headers": {
- "Authorization": {
- "matches": "Bearer .+"
- }
- }
- },
- "response": {
- "status": 201,
- "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"priority\": 1,\n \"match\": {\n \"auth0_managed\": [\n \"auth0_managed\"\n ],\n \"geo_country_codes\": [\n \"geo_country_codes\"\n ]\n },\n \"action\": {\n \"active_provider_id\": \"simple_captcha\",\n \"auth_challenge\": {\n \"fail_open\": true\n },\n \"recaptcha_v2\": {\n \"site_key\": \"site_key\"\n },\n \"recaptcha_enterprise\": {\n \"site_key\": \"site_key\",\n \"project_id\": \"project_id\"\n },\n \"hcaptcha\": {\n \"site_key\": \"site_key\"\n },\n \"friendly_captcha\": {\n \"site_key\": \"site_key\"\n },\n \"arkose\": {\n \"site_key\": \"site_key\",\n \"client_subdomain\": \"client_subdomain\",\n \"verify_subdomain\": \"verify_subdomain\",\n \"fail_open\": true\n }\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}",
- "headers": {
- "Content-Type": "application/json"
- }
- },
- "uuid": "d9b60e3e-ceaa-434a-9131-9ae1433967b9",
- "persistent": true,
- "priority": 3,
- "metadata": {
- "mocklab": {
- "created": {
- "at": "2020-01-01T00:00:00.000Z",
- "via": "SYSTEM"
- }
- }
- }
- },
- {
- "id": "cbf37477-ad4e-4fc9-8028-8e2abc8789f3",
- "name": "Get a CAPTCHA attack protection policy - default",
- "request": {
- "urlPathTemplate": "/attack-protection/captcha/policies/{id}",
- "method": "GET",
- "headers": {
- "Authorization": {
- "matches": "Bearer .+"
- }
- },
- "pathParameters": {
- "id": {
- "equalTo": "id"
- }
- }
- },
- "response": {
- "status": 200,
- "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"priority\": 1,\n \"match\": {\n \"auth0_managed\": [\n \"auth0_managed\"\n ],\n \"geo_country_codes\": [\n \"geo_country_codes\"\n ]\n },\n \"action\": {\n \"active_provider_id\": \"simple_captcha\",\n \"auth_challenge\": {\n \"fail_open\": true\n },\n \"recaptcha_v2\": {\n \"site_key\": \"site_key\"\n },\n \"recaptcha_enterprise\": {\n \"site_key\": \"site_key\",\n \"project_id\": \"project_id\"\n },\n \"hcaptcha\": {\n \"site_key\": \"site_key\"\n },\n \"friendly_captcha\": {\n \"site_key\": \"site_key\"\n },\n \"arkose\": {\n \"site_key\": \"site_key\",\n \"client_subdomain\": \"client_subdomain\",\n \"verify_subdomain\": \"verify_subdomain\",\n \"fail_open\": true\n }\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}",
- "headers": {
- "Content-Type": "application/json"
- }
- },
- "uuid": "cbf37477-ad4e-4fc9-8028-8e2abc8789f3",
- "persistent": true,
- "priority": 3,
- "metadata": {
- "mocklab": {
- "created": {
- "at": "2020-01-01T00:00:00.000Z",
- "via": "SYSTEM"
- }
- }
- }
- },
- {
- "id": "4a72a5d1-89f5-4cde-bda5-da15dc79e6fe",
- "name": "Delete a CAPTCHA attack protection policy - default",
- "request": {
- "urlPathTemplate": "/attack-protection/captcha/policies/{id}",
- "method": "DELETE",
- "headers": {
- "Authorization": {
- "matches": "Bearer .+"
- }
- },
- "pathParameters": {
- "id": {
- "equalTo": "id"
- }
- }
- },
- "response": {
- "status": 200,
- "body": "\"\"",
- "headers": {
- "Content-Type": "application/json"
- }
- },
- "uuid": "4a72a5d1-89f5-4cde-bda5-da15dc79e6fe",
- "persistent": true,
- "priority": 3,
- "metadata": {
- "mocklab": {
- "created": {
- "at": "2020-01-01T00:00:00.000Z",
- "via": "SYSTEM"
- }
- }
- }
- },
- {
- "id": "4083f648-c7aa-4924-ba4c-8b89886a123d",
- "name": "Update a CAPTCHA attack protection policy - default",
- "request": {
- "urlPathTemplate": "/attack-protection/captcha/policies/{id}",
- "method": "PATCH",
- "headers": {
- "Authorization": {
- "matches": "Bearer .+"
- }
- },
- "pathParameters": {
- "id": {
- "equalTo": "id"
- }
- }
- },
- "response": {
- "status": 200,
- "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"priority\": 1,\n \"match\": {\n \"auth0_managed\": [\n \"auth0_managed\"\n ],\n \"geo_country_codes\": [\n \"geo_country_codes\"\n ]\n },\n \"action\": {\n \"active_provider_id\": \"simple_captcha\",\n \"auth_challenge\": {\n \"fail_open\": true\n },\n \"recaptcha_v2\": {\n \"site_key\": \"site_key\"\n },\n \"recaptcha_enterprise\": {\n \"site_key\": \"site_key\",\n \"project_id\": \"project_id\"\n },\n \"hcaptcha\": {\n \"site_key\": \"site_key\"\n },\n \"friendly_captcha\": {\n \"site_key\": \"site_key\"\n },\n \"arkose\": {\n \"site_key\": \"site_key\",\n \"client_subdomain\": \"client_subdomain\",\n \"verify_subdomain\": \"verify_subdomain\",\n \"fail_open\": true\n }\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}",
- "headers": {
- "Content-Type": "application/json"
- }
- },
- "uuid": "4083f648-c7aa-4924-ba4c-8b89886a123d",
- "persistent": true,
- "priority": 3,
- "metadata": {
- "mocklab": {
- "created": {
- "at": "2020-01-01T00:00:00.000Z",
- "via": "SYSTEM"
- }
- }
- }
- },
{
"id": "e3a2dc7e-fb58-4806-a3f1-3d94a401a38f",
"name": "Get Phone Provider Protection settings - default",
@@ -10986,6 +10929,9 @@
},
"type": {
"equalTo": "auth0"
+ },
+ "status": {
+ "equalTo": "active"
}
}
},
@@ -18231,6 +18177,6 @@
}
],
"meta": {
- "total": 487
+ "total": 485
}
}
\ No newline at end of file