From 7ef5c5a66413d4dcf80cc9c040f338815d0c852b Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 11 Sep 2026 02:46:47 +0000 Subject: [PATCH 1/3] [fern-generated] Update SDK Generated by Fern CLI Version: unknown Generators: - fernapi/fern-python-sdk: 5.26.0 --- UPGRADING.md | 157 - reference.md | 5811 +++++++++-------- src/auth0/management/__init__.py | 78 +- src/auth0/management/client.py | 62 +- src/auth0/management/clients/client.py | 18 + src/auth0/management/clients/raw_client.py | 26 + src/auth0/management/core/client_wrapper.py | 16 - .../management/device_credentials/client.py | 4 +- .../device_credentials/raw_client.py | 4 +- src/auth0/management/errors/__init__.py | 3 + .../errors/gateway_timeout_error.py | 10 + .../management/experimentation/__init__.py | 34 + .../management/experimentation/client.py | 63 + .../experiments}/__init__.py | 0 .../experimentation/experiments/client.py | 125 + .../experimentation/experiments/raw_client.py | 271 + .../management/experimentation/raw_client.py | 13 + src/auth0/management/guardian/client.py | 189 + .../management/guardian/factors/__init__.py | 5 +- .../management/guardian/factors/client.py | 19 + .../guardian/factors/email/__init__.py | 4 + .../guardian/factors/email/client.py | 192 + .../guardian/factors/email/raw_client.py | 373 ++ .../guardian/factors/phone/client.py | 150 + .../guardian/factors/phone/raw_client.py | 345 + src/auth0/management/guardian/raw_client.py | 388 ++ .../organization_templates/client.py | 746 --- .../organization_templates/raw_client.py | 1357 ---- src/auth0/management/organizations/client.py | 165 + .../management/organizations/raw_client.py | 306 + .../management/resource_servers/client.py | 197 + .../management/resource_servers/raw_client.py | 373 ++ src/auth0/management/types/__init__.py | 77 +- .../types/advance_ramp_response_content.py | 22 + ..._organization.py => anonymous_sessions.py} | 8 +- src/auth0/management/types/client.py | 13 + .../connection_identity_provider_enum.py | 17 +- .../types/connection_strategy_enum.py | 17 +- .../types/create_anonymous_sessions.py | 26 + .../types/create_client_response_content.py | 13 + ...create_resource_server_response_content.py | 5 + .../types/get_client_response_content.py | 13 + ..._email_factor_settings_response_content.py | 27 + .../get_guardian_settings_response_content.py | 37 + ..._phone_factor_settings_response_content.py | 27 + .../get_resource_server_response_content.py | 5 + src/auth0/management/types/oauth_scope.py | 3 +- .../types/organization_sort_field_enum.py | 5 + src/auth0/management/types/resource_server.py | 5 + .../types/resource_server_search_response.py | 103 + .../types/resource_server_sort_field_enum.py | 5 + ...ource_server_subject_type_authorization.py | 4 + ...bject_type_authorization_anonymous_user.py | 26 + ...uthorization_anonymous_user_policy_enum.py | 7 + .../rotate_client_secret_response_content.py | 13 + .../management/types/search_organization.py | 45 + ...ganizations_paginated_response_content.py} | 9 +- .../management/types/search_parser_enum.py | 5 + ...arch_resource_servers_response_content.py} | 12 +- ..._email_factor_settings_response_content.py | 27 + .../set_guardian_settings_response_content.py | 37 + ..._phone_factor_settings_response_content.py | 27 + .../types/tenant_settings_sessions.py | 3 + .../tenant_settings_sessions_anonymous.py | 31 + .../types/update_anonymous_sessions.py | 26 + .../types/update_client_response_content.py | 13 + ...update_resource_server_response_content.py | 5 + .../wire/test_experimentation_experiments.py | 12 + tests/wire/test_guardian.py | 22 + tests/wire/test_guardian_factors_email.py | 20 + tests/wire/test_guardian_factors_phone.py | 19 + tests/wire/test_organizationTemplates.py | 57 - tests/wire/test_organizations.py | 20 + tests/wire/test_resourceServers.py | 30 + wiremock/wiremock-mappings.json | 516 +- 75 files changed, 7501 insertions(+), 5417 deletions(-) delete mode 100644 UPGRADING.md create mode 100644 src/auth0/management/errors/gateway_timeout_error.py create mode 100644 src/auth0/management/experimentation/__init__.py create mode 100644 src/auth0/management/experimentation/client.py rename src/auth0/management/{organization_templates => experimentation/experiments}/__init__.py (100%) create mode 100644 src/auth0/management/experimentation/experiments/client.py create mode 100644 src/auth0/management/experimentation/experiments/raw_client.py create mode 100644 src/auth0/management/experimentation/raw_client.py create mode 100644 src/auth0/management/guardian/factors/email/__init__.py create mode 100644 src/auth0/management/guardian/factors/email/client.py create mode 100644 src/auth0/management/guardian/factors/email/raw_client.py delete mode 100644 src/auth0/management/organization_templates/client.py delete mode 100644 src/auth0/management/organization_templates/raw_client.py create mode 100644 src/auth0/management/types/advance_ramp_response_content.py rename src/auth0/management/types/{organization_template_assigned_organization.py => anonymous_sessions.py} (70%) create mode 100644 src/auth0/management/types/create_anonymous_sessions.py create mode 100644 src/auth0/management/types/get_email_factor_settings_response_content.py create mode 100644 src/auth0/management/types/get_guardian_settings_response_content.py create mode 100644 src/auth0/management/types/get_phone_factor_settings_response_content.py create mode 100644 src/auth0/management/types/organization_sort_field_enum.py create mode 100644 src/auth0/management/types/resource_server_search_response.py create mode 100644 src/auth0/management/types/resource_server_sort_field_enum.py create mode 100644 src/auth0/management/types/resource_server_subject_type_authorization_anonymous_user.py create mode 100644 src/auth0/management/types/resource_server_subject_type_authorization_anonymous_user_policy_enum.py create mode 100644 src/auth0/management/types/search_organization.py rename src/auth0/management/types/{list_organization_templates_paginated_response_content.py => search_organizations_paginated_response_content.py} (64%) create mode 100644 src/auth0/management/types/search_parser_enum.py rename src/auth0/management/types/{list_template_organizations_paginated_response_content.py => search_resource_servers_response_content.py} (57%) create mode 100644 src/auth0/management/types/set_email_factor_settings_response_content.py create mode 100644 src/auth0/management/types/set_guardian_settings_response_content.py create mode 100644 src/auth0/management/types/set_phone_factor_settings_response_content.py create mode 100644 src/auth0/management/types/tenant_settings_sessions_anonymous.py create mode 100644 src/auth0/management/types/update_anonymous_sessions.py create mode 100644 tests/wire/test_experimentation_experiments.py create mode 100644 tests/wire/test_guardian.py create mode 100644 tests/wire/test_guardian_factors_email.py delete mode 100644 tests/wire/test_organizationTemplates.py diff --git a/UPGRADING.md b/UPGRADING.md deleted file mode 100644 index ed653dbf..00000000 --- a/UPGRADING.md +++ /dev/null @@ -1,157 +0,0 @@ -# v6 Migration Guide - -A guide to migrating the Auth0 Python SDK from v5 to v6. - -- [Overall changes](#overall-changes) -- [Breaking changes](#breaking-changes) - - [Federated connections tokensets removed](#federated-connections-tokensets-removed) - - [`federated_connections_access_tokens` field removed](#federated_connections_access_tokens-field-removed) - - [`read:federated_connections_tokens` / `delete:federated_connections_tokens` scopes removed](#readfederated_connections_tokens--deletefederated_connections_tokens-scopes-removed) - - [`ClientSessionTransferDelegationDeviceBindingEnum` narrowed](#clientsessiontransferdelegationdevicebindingenum-narrowed) - - [`ConnectionAttributeIdentifier` split into three types](#connectionattributeidentifier-split-into-three-types) - - [`PhoneProviderProtectionBackoffStrategyEnum` value renamed](#phoneproviderprotectionbackoffstrategyenum-value-renamed) - - [`ListRolesOffsetPaginatedResponseContent` pagination fields now required](#listrolesoffsetpaginatedresponsecontent-pagination-fields-now-required) - -## Overall changes - -v6 removes one deprecated Management API surface (federated connections -tokensets) and tightens a handful of generated types to match the current -Auth0 Management API contract. Most applications will only be affected if -they use the specific types or endpoints listed below. - -The Authentication API is not affected by this release. - -## Breaking changes - -### Federated connections tokensets removed - -The `users.federated_connections_tokensets` sub-client and its `list`/`delete` -methods have been removed, along with the `FederatedConnectionTokenSet` and -`ConnectionFederatedConnectionsAccessTokens` types. This endpoint is no longer -part of the Auth0 Management API. - -```python -# v5 -client.users.federated_connections_tokensets.list(id="user_id") -client.users.federated_connections_tokensets.delete(id="user_id", tokenset_id="tokenset_id") -``` - -```python -# v6 -# No replacement — the endpoint has been removed from the Management API. -``` - -If you depend on this functionality, do not upgrade until you have confirmed -an alternative with Auth0 support. - -### `federated_connections_access_tokens` field removed - -The optional `federated_connections_access_tokens` field has been removed -from: - -- `ConnectionOptionsAzureAd` -- `ConnectionOptionsCommonOidc` -- `ConnectionOptionsGoogleApps` -- `ConnectionPropertiesOptions` -- `UpdateConnectionOptions` - -Any code reading or setting this field on the above types will need to -remove that usage. Note that these models are configured with -`extra="allow"`, so passing `federated_connections_access_tokens` is **not** -silently dropped — it is retained on the model and still serialized into the -outbound request. Remove the field explicitly rather than relying on the SDK -to strip it. - -### `read:federated_connections_tokens` / `delete:federated_connections_tokens` scopes removed - -These two values are no longer valid members of `OauthScope`. Remove any -references to them when requesting or checking scopes. - -### `ClientSessionTransferDelegationDeviceBindingEnum` narrowed - -The `"asn"` literal value has been removed. The enum now only accepts `"ip"`: - -```python -# v5 -ClientSessionTransferDelegationDeviceBindingEnum = typing.Union[typing.Literal["ip", "asn"], typing.Any] -``` - -```python -# v6 -ClientSessionTransferDelegationDeviceBindingEnum = typing.Union[typing.Literal["ip"], typing.Any] -``` - -If you were setting this value to `"asn"`, update it to `"ip"` — this matches -the current Management API's accepted values. - -### `ConnectionAttributeIdentifier` split into three types - -`ConnectionAttributeIdentifier` has been removed with no compatibility alias. -It is replaced by three narrower types, one per attribute: - -| Attribute field | v5 type | v6 type | Shape | -| --- | --- | --- | --- | -| `EmailAttribute.identifier` | `ConnectionAttributeIdentifier` | `EmailAttributeIdentifier` | `{active?, default_method?: DefaultMethodEmailIdentifierEnum}` | -| `PhoneAttribute.identifier` | `ConnectionAttributeIdentifier` | `PhoneAttributeIdentifier` | `{active?, default_method?: DefaultMethodPhoneNumberIdentifierEnum}` | -| `UsernameAttribute.identifier` | `ConnectionAttributeIdentifier` | `UsernameAttributeIdentifier` | `{active?}` (no `default_method`) | - -```python -# v5 -from auth0.management.types import ConnectionAttributeIdentifier - -identifier = ConnectionAttributeIdentifier(active=True, default_method="email_otp") -``` - -```python -# v6 -from auth0.management.types import EmailAttributeIdentifier - -identifier = EmailAttributeIdentifier(active=True, default_method="email_otp") -``` - -`EmailAttributeIdentifier` has the same shape as the old -`ConnectionAttributeIdentifier` and is a drop-in replacement for code that -was only ever used with `EmailAttribute`. Code using -`ConnectionAttributeIdentifier` with `PhoneAttribute` or `UsernameAttribute` -must switch to `PhoneAttributeIdentifier` or `UsernameAttributeIdentifier` -respectively; `UsernameAttributeIdentifier` does not support -`default_method`. - -### `PhoneProviderProtectionBackoffStrategyEnum` value renamed - -The `"none"` literal has been replaced with `"default"`: - -```python -# v5 -PhoneProviderProtectionBackoffStrategyEnum = typing.Union[typing.Literal["exponential", "none"], typing.Any] -``` - -```python -# v6 -PhoneProviderProtectionBackoffStrategyEnum = typing.Union[typing.Literal["exponential", "default"], typing.Any] -``` - -Replace any use of `"none"` with `"default"`. - -### `ListRolesOffsetPaginatedResponseContent` pagination fields now required - -`start`, `limit`, and `total` are no longer optional: - -```python -# v5 -start: typing.Optional[float] = None -limit: typing.Optional[float] = None -total: typing.Optional[float] = None -``` - -```python -# v6 -start: float -limit: float -total: float -``` - -Deserializing a role-list response that is missing any of these fields now -raises `pydantic.ValidationError` instead of silently defaulting to `None`. -This matches the Management API, which always returns these fields for this -endpoint. diff --git a/reference.md b/reference.md index 9d8e892f..39c66e3d 100644 --- a/reference.md +++ b/reference.md @@ -2458,6 +2458,14 @@ See https://auth0.com/docs/secure/security-guidance/measures-against-app-imperso
+**anonymous_sessions:** `typing.Optional[CreateAnonymousSessions]` + +
+
+ +
+
+ **third_party_security_mode:** `typing.Optional[ClientThirdPartySecurityModeEnum]`
@@ -3174,6 +3182,14 @@ client.clients.update(
+**anonymous_sessions:** `typing.Optional[UpdateAnonymousSessions]` + +
+
+ +
+
+ **form_template:** `typing.Optional[str]` — Form template for WS-Federation protocol
@@ -5757,7 +5773,7 @@ client.device_credentials.list(
-**type:** `typing.Optional[DeviceCredentialTypeEnum]` — Type of credentials to retrieve. Must be `public_key`, `refresh_token` or `rotating_refresh_token`. The property will default to `refresh_token` when paging is requested +**type:** `typing.Optional[DeviceCredentialTypeEnum]` — Type of credentials to retrieve. Must be `public_key`, `refresh_token` or `rotating_refresh_token`. If none is provided a combined list of `refresh_tokens` and `public_keys` will be returned (and no `rotating_refresh_token`), in this case `page`, `per_page` and `include_totals` will be ignored.
@@ -8358,6 +8374,170 @@ client.groups.delete(
+ +
+ + +## Guardian +
client.guardian.get() -> GetGuardianSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +TODO: Link this endpoint to relevant documentation when available. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from auth0.management import Auth0 +from auth0.management.environment import Auth0Environment + +client = Auth0( + token="", + environment=Auth0Environment.DEFAULT, +) + +client.guardian.get() + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.guardian.set(...) -> SetGuardianSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update a tenant's guardian settings such as Remember Me +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from auth0.management import Auth0 +from auth0.management.environment import Auth0Environment + +client = Auth0( + token="", + environment=Auth0Environment.DEFAULT, +) + +client.guardian.set( + display_remember_me_checkbox=True, + remember_me_default_value=True, + mfa_session_inactivity_timeout=1, + mfa_session_overall_timeout=1, +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**display_remember_me_checkbox:** `bool` — Determines whether to display the "Remember Me" checkbox on the MFA prompt in Universal Login. + +
+
+ +
+
+ +**remember_me_default_value:** `bool` — Determines the default state of the "Remember Me" checkbox on the MFA prompt in Universal Login. + +
+
+ +
+
+ +**mfa_session_inactivity_timeout:** `int` — Duration of inactivity after which the user will be prompted for MFA. Represented as seconds. Minimum duration is 1 hour, maximum is 30 days, and cannot exceed the overall timeout. + +
+
+ +
+
+ +**mfa_session_overall_timeout:** `int` — Maximum duration after which the user will be prompted for MFA regardless of activity. Represented as seconds. Minimum duration is 1 hour, maximum is 90 days. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ +
@@ -10607,8 +10787,8 @@ client.network_acls.update( -## OrganizationTemplates -
client.organization_templates.list(...) -> ListOrganizationTemplatesPaginatedResponseContent +## Organizations +
client.organizations.list(...) -> ListOrganizationsPaginatedResponseContent
@@ -10620,7 +10800,23 @@ client.network_acls.update(
-Retrieve a list of Organization Templates. This endpoint supports Checkpoint pagination. Results are returned in a stable order, sorted by their identifier (`id`) in ascending order. +Retrieve detailed list of all Organizations available in your tenant. For more information, see Auth0 Organizations. + +This endpoint supports two types of pagination: + +- Offset pagination +- Checkpoint pagination + +Checkpoint pagination must be used if you need to retrieve more than 1000 organizations. + +**Checkpoint Pagination** + +To search by checkpoint, use the following parameters: + +- `from`: Optional id from which to start selection. +- `take`: The total number of entries to retrieve when using the `from` parameter. Defaults to 50. + +**Note**: The first time you call this endpoint using checkpoint pagination, omit the `from` parameter. If there are more results, a `next` value is included in the response. You can use this for subsequent API calls. When `next` is no longer included in the response, no pages are remaining.
@@ -10643,9 +10839,12 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.organization_templates.list( +client.organizations.list( + include_totals=True, from_="from", take=1, + sort="sort", + include_client_association_for="include_client_association_for", ) ``` @@ -10662,6 +10861,14 @@ client.organization_templates.list(
+**include_totals:** `typing.Optional[bool]` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ **from:** `typing.Optional[str]` — Optional Id from which to start selection.
@@ -10670,7 +10877,23 @@ client.organization_templates.list(
-**take:** `typing.Optional[int]` — Number of results per page. Defaults to 5. Values greater than 10 are capped at 10. +**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**sort:** `typing.Optional[str]` — Field to sort by. Use field:order where order is 1 for ascending and -1 for descending. e.g. created_at:1. We currently support sorting by the following fields: name, display_name and created_at. + +
+
+ +
+
+ +**include_client_association_for:** `typing.Optional[str]` — Client ID. When set, each returned organization that has an association with this client gains a client object describing it; organizations without one omit the field.
@@ -10690,7 +10913,7 @@ client.organization_templates.list(
-
client.organization_templates.create(...) -> OrganizationTemplate +
client.organizations.create(...) -> CreateOrganizationResponseContent
@@ -10702,7 +10925,7 @@ client.organization_templates.list(
-Create an Organization Template. +Create a new Organization within your tenant. To learn more about Organization settings, behavior, and configuration options, review [Create Your First Organization](https://auth0.com/docs/manage-users/organizations/create-first-organization).
@@ -10725,11 +10948,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.organization_templates.create( +client.organizations.create( name="name", - organization_deletion_behavior="allow", - enforce_permission_ceiling=True, - enforce_self_assignment_restriction=True, ) ``` @@ -10746,7 +10966,7 @@ client.organization_templates.create(
-**name:** `str` — The name of the organization template. +**name:** `str` — The name of this organization.
@@ -10754,7 +10974,7 @@ client.organization_templates.create(
-**organization_deletion_behavior:** `OrganizationDeletionBehaviorEnum` +**display_name:** `typing.Optional[str]` — Friendly name of this organization.
@@ -10762,7 +10982,7 @@ client.organization_templates.create(
-**enforce_permission_ceiling:** `bool` — Whether to enforce permission ceiling for organizations using this template. +**branding:** `typing.Optional[OrganizationBranding]`
@@ -10770,7 +10990,7 @@ client.organization_templates.create(
-**enforce_self_assignment_restriction:** `bool` — Whether to enforce self-assignment restrictions for organizations using this template. +**metadata:** `typing.Optional[OrganizationMetadata]`
@@ -10778,7 +10998,7 @@ client.organization_templates.create(
-**is_default:** `typing.Optional[bool]` — Whether this is the default template applied to new organizations. +**enabled_connections:** `typing.Optional[typing.List[ConnectionForOrganization]]` — Connections that will be enabled for this organization. See POST enabled_connections endpoint for the object format. (Max of 10 connections allowed)
@@ -10786,7 +11006,7 @@ client.organization_templates.create(
-**connection_deletion_behavior:** `typing.Optional[ConnectionDeletionBehaviorEnum]` +**token_quota:** `typing.Optional[CreateTokenQuota]`
@@ -10794,7 +11014,7 @@ client.organization_templates.create(
-**connection_profile_id:** `typing.Optional[str]` — The connection profile to apply to new connections. +**third_party_client_access:** `typing.Optional[OrganizationThirdPartyClientAccessEnum]`
@@ -10802,7 +11022,7 @@ client.organization_templates.create(
-**user_attribute_profile_id:** `typing.Optional[str]` — The user attribute profile to apply to organizations. +**is_app_entitlement_active:** `typing.Optional[bool]` — Whether app entitlement is active for this organization.
@@ -10810,95 +11030,55 @@ client.organization_templates.create(
-**allowed_strategies:** `typing.Optional[typing.List[OrganizationTemplateAllowedStrategyEnum]]` — List of allowed connection strategies for this template. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
- -
-
- -**invitation_landing_client_id:** `typing.Optional[str]` — The client ID for the invitation landing page. -
-
-
-**admin_roles_assignment:** `typing.Optional[typing.List[str]]` — Default admin roles to assign to organization creators. -
+
+
client.organizations.get_by_name(...) -> GetOrganizationByNameResponseContent
-**use_for_organization_discovery:** `typing.Optional[OrganizationTemplateUseForOrganizationDiscovery]` - -
-
+#### 📝 Description
-**role_visibility_policy:** `typing.Optional[OrganizationTemplateRoleVisibilityPolicy]` - -
-
-
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. - +Retrieve details about a single Organization specified by name.
+#### 🔌 Usage - - -
- -
client.organization_templates.get(...) -> OrganizationTemplate
-#### 📝 Description -
-
-
- -Retrieve details about a single Organization Template specified by ID. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```python -from auth0.management import Auth0 -from auth0.management.environment import Auth0Environment +```python +from auth0.management import Auth0 +from auth0.management.environment import Auth0Environment client = Auth0( token="", environment=Auth0Environment.DEFAULT, ) -client.organization_templates.get( - id="id", +client.organizations.get_by_name( + name="name", ) ``` @@ -10915,7 +11095,7 @@ client.organization_templates.get(
-**id:** `str` — Organization Template identifier. +**name:** `str` — name of the organization to retrieve.
@@ -10935,7 +11115,7 @@ client.organization_templates.get(
-
client.organization_templates.update(...) -> OrganizationTemplate +
client.organizations.search(...) -> SearchOrganizationsPaginatedResponseContent
@@ -10947,7 +11127,21 @@ client.organization_templates.get(
-Update the details of a specific Organization Template. +Retrieve details of organizations matching a search criteria. It is possible to: + +- Specify a search criteria for organizations +- Search via `name` +- Search via `display_name` +- Substring matching (`contains` and `ends-with`) requires at least 3 characters +- Use wildcards + +The `q` query parameter can be used to get organizations that match the specified criteria on `name` OR `display_name`. + +This endpoint supports SCIM or Lucene filter syntax with low-latency, cursor-based pagination. Use the `parser` parameter to specify "scim" or "lucene" syntax (default: "lucene"). + +Results are eventually consistent and may not reflect recent updates immediately. + +**Sortable fields:** `name`, `display_name`, `created_at` (ascending only). Defaults to insertion order (oldest first).
@@ -10970,8 +11164,12 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.organization_templates.update( - id="id", +client.organizations.search( + q="q", + parser="scim", + take=1, + from_="from", + sort="name", ) ``` @@ -10988,79 +11186,7 @@ client.organization_templates.update(
-**id:** `str` — Organization Template identifier. - -
-
- -
-
- -**name:** `typing.Optional[str]` — The name of the organization template. - -
-
- -
-
- -**is_default:** `typing.Optional[bool]` — Whether this is the default template applied to new organizations. - -
-
- -
-
- -**organization_deletion_behavior:** `typing.Optional[OrganizationDeletionBehaviorEnum]` - -
-
- -
-
- -**connection_deletion_behavior:** `typing.Optional[ConnectionDeletionBehaviorEnum]` - -
-
- -
-
- -**enforce_permission_ceiling:** `typing.Optional[bool]` — Whether to enforce permission ceiling for organizations using this template. - -
-
- -
-
- -**enforce_self_assignment_restriction:** `typing.Optional[bool]` — Whether to enforce self-assignment restrictions for organizations using this template. - -
-
- -
-
- -**connection_profile_id:** `typing.Optional[str]` — The connection profile to apply to new connections. - -
-
- -
-
- -**user_attribute_profile_id:** `typing.Optional[str]` — The user attribute profile to apply to organizations. - -
-
- -
-
- -**allowed_strategies:** `typing.Optional[typing.List[OrganizationTemplateAllowedStrategyEnum]]` — List of allowed connection strategies for this template. +**q:** `typing.Optional[str]` — Filter expression in SCIM or Lucene syntax (depending on parser parameter, default: Lucene). Lucene examples: `name:acme*`, `display_name:*auth*`. SCIM examples: `name eq "Auth0"`, `display_name sw "auth" and created_at gt "2024-01-01"`. SCIM operators: eq, ne, sw, ew, co, pr, gt, ge, lt, le, and, or.

Supported Fields:
  • id - Organization ID (case-sensitive, exact match)
  • name - Organization name (supports contains, starts-with, ends-with operators; sortable)
  • display_name - Organization display name (supports contains, starts-with, ends-with operators; sortable)
  • created_at - Creation timestamp (supports date range operators; sortable)
  • metadata.{key} - Filter by organization metadata key-value pairs
Maximum 5 filter operations per query. Results are eventually consistent and may not reflect recent updates.
@@ -11068,7 +11194,7 @@ client.organization_templates.update(
-**invitation_landing_client_id:** `typing.Optional[str]` — The client ID for the invitation landing page. +**parser:** `typing.Optional[SearchParserEnum]` — Query parser to use for the filter expression. Use "scim" for SCIM filter syntax or "lucene" for Lucene query syntax (default).
@@ -11076,7 +11202,7 @@ client.organization_templates.update(
-**admin_roles_assignment:** `typing.Optional[typing.List[str]]` — Default admin roles to assign to organization creators. +**take:** `typing.Optional[int]` — Maximum number of results to return per page (1-100). Defaults to 50.
@@ -11084,7 +11210,7 @@ client.organization_templates.update(
-**use_for_organization_discovery:** `typing.Optional[OrganizationTemplateUseForOrganizationDiscovery]` +**from:** `typing.Optional[str]` — Cursor for the next page of results. Use the value from the next field in the previous response.
@@ -11092,7 +11218,7 @@ client.organization_templates.update(
-**role_visibility_policy:** `typing.Optional[OrganizationTemplateRoleVisibilityPolicy]` +**sort:** `typing.Optional[OrganizationSortFieldEnum]` — Field name to sort results by in ascending order only. Defaults to insertion order (oldest first) if not provided.
@@ -11112,7 +11238,7 @@ client.organization_templates.update(
-
client.organization_templates.list_organizations(...) -> ListTemplateOrganizationsPaginatedResponseContent +
client.organizations.get(...) -> GetOrganizationResponseContent
@@ -11124,7 +11250,7 @@ client.organization_templates.update(
-Retrieve a list of organizations assigned to an Organization Template. This endpoint supports Checkpoint pagination. Results are returned in a stable order, sorted by their identifier (`id`) in ascending order. +Retrieve details about a single Organization specified by ID.
@@ -11147,10 +11273,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.organization_templates.list_organizations( +client.organizations.get( id="id", - from_="from", - take=1, ) ``` @@ -11167,23 +11291,7 @@ client.organization_templates.list_organizations(
-**id:** `str` — The ID of the organization template. - -
-
- -
-
- -**from:** `typing.Optional[str]` — Optional Id from which to start selection. - -
-
- -
-
- -**take:** `typing.Optional[int]` — Number of results per page. Defaults to 5. Values greater than 10 are capped at 10. +**id:** `str` — ID of the organization to retrieve.
@@ -11203,8 +11311,7 @@ client.organization_templates.list_organizations(
-## Organizations -
client.organizations.list(...) -> ListOrganizationsPaginatedResponseContent +
client.organizations.delete(...)
@@ -11216,23 +11323,9 @@ client.organization_templates.list_organizations(
-Retrieve detailed list of all Organizations available in your tenant. For more information, see Auth0 Organizations. - -This endpoint supports two types of pagination: - -- Offset pagination -- Checkpoint pagination - -Checkpoint pagination must be used if you need to retrieve more than 1000 organizations. - -**Checkpoint Pagination** - -To search by checkpoint, use the following parameters: - -- `from`: Optional id from which to start selection. -- `take`: The total number of entries to retrieve when using the `from` parameter. Defaults to 50. +Remove an Organization from your tenant. This action cannot be undone. -**Note**: The first time you call this endpoint using checkpoint pagination, omit the `from` parameter. If there are more results, a `next` value is included in the response. You can use this for subsequent API calls. When `next` is no longer included in the response, no pages are remaining. +**Note**: Members are automatically disassociated from an Organization when it is deleted. However, this action does **not** delete these users from your tenant.
@@ -11255,12 +11348,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.organizations.list( - include_totals=True, - from_="from", - take=1, - sort="sort", - include_client_association_for="include_client_association_for", +client.organizations.delete( + id="id", ) ``` @@ -11277,39 +11366,7 @@ client.organizations.list(
-**include_totals:** `typing.Optional[bool]` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). - -
-
- -
-
- -**from:** `typing.Optional[str]` — Optional Id from which to start selection. - -
-
- -
-
- -**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50. - -
-
- -
-
- -**sort:** `typing.Optional[str]` — Field to sort by. Use field:order where order is 1 for ascending and -1 for descending. e.g. created_at:1. We currently support sorting by the following fields: name, display_name and created_at. - -
-
- -
-
- -**include_client_association_for:** `typing.Optional[str]` — Client ID. When set, each returned organization that has an association with this client gains a client object describing it; organizations without one omit the field. +**id:** `str` — Organization identifier.
@@ -11329,7 +11386,7 @@ client.organizations.list(
-
client.organizations.create(...) -> CreateOrganizationResponseContent +
client.organizations.update(...) -> UpdateOrganizationResponseContent
@@ -11341,7 +11398,7 @@ client.organizations.list(
-Create a new Organization within your tenant. To learn more about Organization settings, behavior, and configuration options, review [Create Your First Organization](https://auth0.com/docs/manage-users/organizations/create-first-organization). +Update the details of a specific [Organization](https://auth0.com/docs/manage-users/organizations/configure-organizations/create-organizations), such as name and display name, branding options, and metadata.
@@ -11364,8 +11421,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.organizations.create( - name="name", +client.organizations.update( + id="id", ) ``` @@ -11382,7 +11439,7 @@ client.organizations.create(
-**name:** `str` — The name of this organization. +**id:** `str` — ID of the organization to update.
@@ -11398,7 +11455,7 @@ client.organizations.create(
-**branding:** `typing.Optional[OrganizationBranding]` +**name:** `typing.Optional[str]` — The name of this organization.
@@ -11406,7 +11463,7 @@ client.organizations.create(
-**metadata:** `typing.Optional[OrganizationMetadata]` +**branding:** `typing.Optional[OrganizationBranding]`
@@ -11414,7 +11471,7 @@ client.organizations.create(
-**enabled_connections:** `typing.Optional[typing.List[ConnectionForOrganization]]` — Connections that will be enabled for this organization. See POST enabled_connections endpoint for the object format. (Max of 10 connections allowed) +**metadata:** `typing.Optional[OrganizationMetadata]`
@@ -11422,7 +11479,7 @@ client.organizations.create(
-**token_quota:** `typing.Optional[CreateTokenQuota]` +**token_quota:** `typing.Optional[UpdateTokenQuota]`
@@ -11458,7 +11515,8 @@ client.organizations.create(
-
client.organizations.get_by_name(...) -> GetOrganizationByNameResponseContent +## Prompts +
client.prompts.get_settings() -> GetSettingsResponseContent
@@ -11470,7 +11528,7 @@ client.organizations.create(
-Retrieve details about a single Organization specified by name. +Retrieve details of the Universal Login configuration of your tenant. This includes the Identifier First Authentication and WebAuthn with Device Biometrics for MFA features.
@@ -11493,9 +11551,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.organizations.get_by_name( - name="name", -) +client.prompts.get_settings() ``` @@ -11511,14 +11567,6 @@ client.organizations.get_by_name(
-**name:** `str` — name of the organization to retrieve. - -
-
- -
-
- **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -11531,7 +11579,7 @@ client.organizations.get_by_name(
-
client.organizations.get(...) -> GetOrganizationResponseContent +
client.prompts.update_settings(...) -> UpdateSettingsResponseContent
@@ -11543,7 +11591,7 @@ client.organizations.get_by_name(
-Retrieve details about a single Organization specified by ID. +Update the Universal Login configuration of your tenant. This includes the Identifier First Authentication and WebAuthn with Device Biometrics for MFA features.
@@ -11566,9 +11614,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.organizations.get( - id="id", -) +client.prompts.update_settings() ``` @@ -11584,7 +11630,7 @@ client.organizations.get(
-**id:** `str` — ID of the organization to retrieve. +**universal_login_experience:** `typing.Optional[UniversalLoginExperienceEnum]`
@@ -11592,37 +11638,38 @@ client.organizations.get(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**identifier_first:** `typing.Optional[bool]` — Whether identifier first is enabled or not
- -
- - - - -
-
client.organizations.delete(...)
-#### 📝 Description - -
-
+**webauthn_platform_first_factor:** `typing.Optional[bool]` — Use WebAuthn with Device Biometrics as the first authentication factor + +
+
-Remove an Organization from your tenant. This action cannot be undone. - -**Note**: Members are automatically disassociated from an Organization when it is deleted. However, this action does **not** delete these users from your tenant. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+ + +
+ +## RateLimitPolicies +
client.rate_limit_policies.list(...) -> ListRateLimitPoliciesPaginatedResponseContent +
+
#### 🔌 Usage @@ -11641,8 +11688,12 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.organizations.delete( - id="id", +client.rate_limit_policies.list( + resource="oauth_authentication_api", + consumer="client", + consumer_selector="consumer_selector", + take=1, + from_="from", ) ``` @@ -11659,7 +11710,7 @@ client.organizations.delete(
-**id:** `str` — Organization identifier. +**resource:** `typing.Optional[RateLimitPolicyResourceEnum]` — The API protected by the Rate Limit Policy.
@@ -11667,36 +11718,54 @@ client.organizations.delete(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**consumer:** `typing.Optional[RateLimitPolicyConsumerEnum]` — The consumer to which the rate limit policy applies.
-
-
+
+
+**consumer_selector:** `typing.Optional[str]` — Identifier or category within the consumer to which the policy applies. Supported values: `client_id:` to target a specific client by ID, `client_id:` to target a CIMD client by URI, `cimd_clients` to target all CIMD clients, `third_party_clients` to target all third-party clients, or `default` to apply the policy to any consumer identifier not otherwise explicitly targeted. +
-
-
client.organizations.update(...) -> UpdateOrganizationResponseContent
-#### 📝 Description +**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50. + +
+
+**from:** `typing.Optional[str]` — Cursor for pagination. + +
+
+
-Update the details of a specific [Organization](https://auth0.com/docs/manage-users/organizations/configure-organizations/create-organizations), such as name and display name, branding options, and metadata. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +
+ + + +
+ +
client.rate_limit_policies.create(...) -> CreateRateLimitPolicyResponseContent +
+
+ #### 🔌 Usage
@@ -11706,7 +11775,7 @@ Update the details of a specific [Organization](https://auth0.com/docs/manage-us
```python -from auth0.management import Auth0 +from auth0.management import Auth0, RateLimitPolicyConfigurationZero from auth0.management.environment import Auth0Environment client = Auth0( @@ -11714,8 +11783,13 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.organizations.update( - id="id", +client.rate_limit_policies.create( + resource="oauth_authentication_api", + consumer="client", + consumer_selector="consumer_selector", + configuration=RateLimitPolicyConfigurationZero( + action="allow", + ), ) ``` @@ -11732,7 +11806,7 @@ client.organizations.update(
-**id:** `str` — ID of the organization to update. +**resource:** `RateLimitPolicyResourceEnum`
@@ -11740,7 +11814,7 @@ client.organizations.update(
-**display_name:** `typing.Optional[str]` — Friendly name of this organization. +**consumer:** `RateLimitPolicyConsumerEnum`
@@ -11748,7 +11822,7 @@ client.organizations.update(
-**name:** `typing.Optional[str]` — The name of this organization. +**consumer_selector:** `str` — Identifier or category within the consumer to which the policy applies. Supported values: `client_id:` to target a specific client by ID, `client_id:` to target a CIMD client by URI, `cimd_clients` to target all CIMD clients, `third_party_clients` to target all third-party clients, or `default` to apply the policy to any consumer identifier not otherwise explicitly targeted.
@@ -11756,7 +11830,7 @@ client.organizations.update(
-**branding:** `typing.Optional[OrganizationBranding]` +**configuration:** `RateLimitPolicyConfiguration`
@@ -11764,31 +11838,58 @@ client.organizations.update(
-**metadata:** `typing.Optional[OrganizationMetadata]` +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
-
-
-**token_quota:** `typing.Optional[UpdateTokenQuota]` -
+
+
client.rate_limit_policies.get(...) -> GetRateLimitPolicyResponseContent
-**third_party_client_access:** `typing.Optional[OrganizationThirdPartyClientAccessEnum]` - +#### 🔌 Usage + +
+
+ +
+
+ +```python +from auth0.management import Auth0 +from auth0.management.environment import Auth0Environment + +client = Auth0( + token="", + environment=Auth0Environment.DEFAULT, +) + +client.rate_limit_policies.get( + id="id", +) + +``` +
+
+#### ⚙️ Parameters +
-**is_app_entitlement_active:** `typing.Optional[bool]` — Whether app entitlement is active for this organization. +
+
+ +**id:** `str` — Unique identifier for the Rate Limit Policy.
@@ -11808,25 +11909,10 @@ client.organizations.update(
-## Prompts -
client.prompts.get_settings() -> GetSettingsResponseContent -
-
- -#### 📝 Description - -
-
- +
client.rate_limit_policies.delete(...)
-Retrieve details of the Universal Login configuration of your tenant. This includes the Identifier First Authentication and WebAuthn with Device Biometrics for MFA features. -
-
-
-
- #### 🔌 Usage
@@ -11844,7 +11930,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.prompts.get_settings() +client.rate_limit_policies.delete( + id="id", +) ```
@@ -11860,6 +11948,14 @@ client.prompts.get_settings()
+**id:** `str` — Unique identifier for the Rate Limit Policy. + +
+
+ +
+
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -11872,24 +11968,10 @@ client.prompts.get_settings()
-
client.prompts.update_settings(...) -> UpdateSettingsResponseContent -
-
- -#### 📝 Description - -
-
- +
client.rate_limit_policies.update(...) -> UpdateRateLimitPolicyResponseContent
-Update the Universal Login configuration of your tenant. This includes the Identifier First Authentication and WebAuthn with Device Biometrics for MFA features. -
-
-
-
- #### 🔌 Usage
@@ -11899,7 +11981,7 @@ Update the Universal Login configuration of your tenant. This includes the ```python -from auth0.management import Auth0 +from auth0.management import Auth0, PatchRateLimitPolicyConfigurationRequestContentZero from auth0.management.environment import Auth0Environment client = Auth0( @@ -11907,7 +11989,12 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.prompts.update_settings() +client.rate_limit_policies.update( + id="id", + configuration=PatchRateLimitPolicyConfigurationRequestContentZero( + action="allow", + ), +) ```
@@ -11923,15 +12010,7 @@ client.prompts.update_settings()
-**universal_login_experience:** `typing.Optional[UniversalLoginExperienceEnum]` - -
-
- -
-
- -**identifier_first:** `typing.Optional[bool]` — Whether identifier first is enabled or not +**id:** `str` — Unique identifier for the Rate Limit Policy.
@@ -11939,7 +12018,7 @@ client.prompts.update_settings()
-**webauthn_platform_first_factor:** `typing.Optional[bool]` — Use WebAuthn with Device Biometrics as the first authentication factor +**configuration:** `PatchRateLimitPolicyConfigurationRequestContent`
@@ -11959,11 +12038,25 @@ client.prompts.update_settings()
-## RateLimitPolicies -
client.rate_limit_policies.list(...) -> ListRateLimitPoliciesPaginatedResponseContent +## RefreshTokens +
client.refresh_tokens.list(...) -> GetRefreshTokensPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+
+Retrieve a paginated list of refresh tokens for a specific user, with optional filtering by client ID. Results are sorted by credential_id ascending. +
+
+
+
+ #### 🔌 Usage
@@ -11981,12 +12074,13 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.rate_limit_policies.list( - resource="oauth_authentication_api", - consumer="client", - consumer_selector="consumer_selector", - take=1, +client.refresh_tokens.list( + user_id="user_id", + client_id="client_id", from_="from", + take=1, + fields="fields", + include_fields=True, ) ``` @@ -12003,7 +12097,7 @@ client.rate_limit_policies.list(
-**resource:** `typing.Optional[RateLimitPolicyResourceEnum]` — The API protected by the Rate Limit Policy. +**user_id:** `str` — ID of the user whose refresh tokens to retrieve. Required.
@@ -12011,7 +12105,7 @@ client.rate_limit_policies.list(
-**consumer:** `typing.Optional[RateLimitPolicyConsumerEnum]` — The consumer to which the rate limit policy applies. +**client_id:** `typing.Optional[str]` — Filter results by client ID. Only valid when user_id is provided.
@@ -12019,7 +12113,7 @@ client.rate_limit_policies.list(
-**consumer_selector:** `typing.Optional[str]` — Identifier or category within the consumer to which the policy applies. Supported values: `client_id:` to target a specific client by ID, `client_id:` to target a CIMD client by URI, `cimd_clients` to target all CIMD clients, `third_party_clients` to target all third-party clients, or `default` to apply the policy to any consumer identifier not otherwise explicitly targeted. +**from:** `typing.Optional[str]` — An opaque cursor from which to start the selection (exclusive). Expires after 24 hours. Obtained from the next property of a previous response.
@@ -12035,7 +12129,15 @@ client.rate_limit_policies.list(
-**from:** `typing.Optional[str]` — Cursor for pagination. +**fields:** `typing.Optional[str]` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `typing.Optional[bool]` — Whether specified fields are to be included (true) or excluded (false).
@@ -12055,10 +12157,24 @@ client.rate_limit_policies.list(
-
client.rate_limit_policies.create(...) -> CreateRateLimitPolicyResponseContent +
client.refresh_tokens.revoke(...) +
+
+ +#### 📝 Description + +
+
+
+Revoke refresh tokens in bulk by ID list, user, user+client, or user+client+audience. +
+
+
+
+ #### 🔌 Usage
@@ -12068,7 +12184,7 @@ client.rate_limit_policies.list(
```python -from auth0.management import Auth0, RateLimitPolicyConfigurationZero +from auth0.management import Auth0 from auth0.management.environment import Auth0Environment client = Auth0( @@ -12076,14 +12192,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.rate_limit_policies.create( - resource="oauth_authentication_api", - consumer="client", - consumer_selector="consumer_selector", - configuration=RateLimitPolicyConfigurationZero( - action="allow", - ), -) +client.refresh_tokens.revoke() ```
@@ -12099,7 +12208,7 @@ client.rate_limit_policies.create(
-**resource:** `RateLimitPolicyResourceEnum` +**ids:** `typing.Optional[typing.List[str]]` — Array of refresh token IDs to revoke. Limited to 100 at a time.
@@ -12107,7 +12216,7 @@ client.rate_limit_policies.create(
-**consumer:** `RateLimitPolicyConsumerEnum` +**user_id:** `typing.Optional[str]` — Revoke all refresh tokens for this user.
@@ -12115,7 +12224,7 @@ client.rate_limit_policies.create(
-**consumer_selector:** `str` — Identifier or category within the consumer to which the policy applies. Supported values: `client_id:` to target a specific client by ID, `client_id:` to target a CIMD client by URI, `cimd_clients` to target all CIMD clients, `third_party_clients` to target all third-party clients, or `default` to apply the policy to any consumer identifier not otherwise explicitly targeted. +**client_id:** `typing.Optional[str]` — Revoke refresh tokens for this client. Must be paired with `user_id`; optionally narrowed further with `audience`.
@@ -12123,7 +12232,7 @@ client.rate_limit_policies.create(
-**configuration:** `RateLimitPolicyConfiguration` +**audience:** `typing.Optional[str]` — Resource server identifier (audience) to scope the revocation. Must be used with both `user_id` and `client_id`.
@@ -12143,11 +12252,11 @@ client.rate_limit_policies.create(
-
client.rate_limit_policies.get(...) -> GetRateLimitPolicyResponseContent +
client.refresh_tokens.get(...) -> GetRefreshTokenResponseContent
-#### 🔌 Usage +#### 📝 Description
@@ -12155,16 +12264,30 @@ client.rate_limit_policies.create(
-```python -from auth0.management import Auth0 -from auth0.management.environment import Auth0Environment +Retrieve refresh token information. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from auth0.management import Auth0 +from auth0.management.environment import Auth0Environment client = Auth0( token="", environment=Auth0Environment.DEFAULT, ) -client.rate_limit_policies.get( +client.refresh_tokens.get( id="id", ) @@ -12182,7 +12305,7 @@ client.rate_limit_policies.get(
-**id:** `str` — Unique identifier for the Rate Limit Policy. +**id:** `str` — ID refresh token to retrieve
@@ -12202,10 +12325,24 @@ client.rate_limit_policies.get(
-
client.rate_limit_policies.delete(...) +
client.refresh_tokens.delete(...) +
+
+ +#### 📝 Description +
+
+
+ +Delete a refresh token by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -12223,7 +12360,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.rate_limit_policies.delete( +client.refresh_tokens.delete( id="id", ) @@ -12241,7 +12378,7 @@ client.rate_limit_policies.delete(
-**id:** `str` — Unique identifier for the Rate Limit Policy. +**id:** `str` — ID of the refresh token to delete.
@@ -12261,10 +12398,24 @@ client.rate_limit_policies.delete(
-
client.rate_limit_policies.update(...) -> UpdateRateLimitPolicyResponseContent +
client.refresh_tokens.update(...) -> UpdateRefreshTokenResponseContent +
+
+ +#### 📝 Description +
+
+
+ +Update a refresh token by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -12274,7 +12425,7 @@ client.rate_limit_policies.delete(
```python -from auth0.management import Auth0, PatchRateLimitPolicyConfigurationRequestContentZero +from auth0.management import Auth0 from auth0.management.environment import Auth0Environment client = Auth0( @@ -12282,11 +12433,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.rate_limit_policies.update( +client.refresh_tokens.update( id="id", - configuration=PatchRateLimitPolicyConfigurationRequestContentZero( - action="allow", - ), ) ``` @@ -12303,7 +12451,7 @@ client.rate_limit_policies.update(
-**id:** `str` — Unique identifier for the Rate Limit Policy. +**id:** `str` — ID of the refresh token to update.
@@ -12311,7 +12459,7 @@ client.rate_limit_policies.update(
-**configuration:** `PatchRateLimitPolicyConfigurationRequestContent` +**refresh_token_metadata:** `typing.Optional[RefreshTokenMetadata]` — Metadata associated with the refresh token. Pass null or {} to remove all metadata.
@@ -12331,8 +12479,8 @@ client.rate_limit_policies.update(
-## RefreshTokens -
client.refresh_tokens.list(...) -> GetRefreshTokensPaginatedResponseContent +## ResourceServers +
client.resource_servers.list(...) -> ListResourceServerOffsetPaginatedResponseContent
@@ -12344,7 +12492,7 @@ client.rate_limit_policies.update(
-Retrieve a paginated list of refresh tokens for a specific user, with optional filtering by client ID. Results are sorted by credential_id ascending. +Retrieve details of all APIs associated with your tenant.
@@ -12367,12 +12515,13 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.refresh_tokens.list( - user_id="user_id", - client_id="client_id", - from_="from", - take=1, - fields="fields", +client.resource_servers.list( + identifiers=[ + "identifiers" + ], + page=1, + per_page=1, + include_totals=True, include_fields=True, ) @@ -12390,15 +12539,7 @@ client.refresh_tokens.list(
-**user_id:** `str` — ID of the user whose refresh tokens to retrieve. Required. - -
-
- -
-
- -**client_id:** `typing.Optional[str]` — Filter results by client ID. Only valid when user_id is provided. +**identifiers:** `typing.Optional[typing.Union[typing.Optional[str], typing.Sequence[typing.Optional[str]]]]` — An optional filter on the resource server identifier. Must be URL encoded and may be specified multiple times (max 10).
e.g. ../resource-servers?identifiers=id1&identifiers=id2
@@ -12406,7 +12547,7 @@ client.refresh_tokens.list(
-**from:** `typing.Optional[str]` — An opaque cursor from which to start the selection (exclusive). Expires after 24 hours. Obtained from the next property of a previous response. +**page:** `typing.Optional[int]` — Page index of the results to return. First page is 0.
@@ -12414,7 +12555,7 @@ client.refresh_tokens.list(
-**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50. +**per_page:** `typing.Optional[int]` — Number of results per page.
@@ -12422,7 +12563,7 @@ client.refresh_tokens.list(
-**fields:** `typing.Optional[str]` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. +**include_totals:** `typing.Optional[bool]` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default).
@@ -12450,7 +12591,7 @@ client.refresh_tokens.list(
-
client.refresh_tokens.revoke(...) +
client.resource_servers.create(...) -> CreateResourceServerResponseContent
@@ -12462,7 +12603,7 @@ client.refresh_tokens.list(
-Revoke refresh tokens in bulk by ID list, user, user+client, or user+client+audience. +Create a new API associated with your tenant. Note that all new APIs must be registered with Auth0. For more information, read APIs.
@@ -12485,7 +12626,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.refresh_tokens.revoke() +client.resource_servers.create( + identifier="identifier", +) ``` @@ -12501,7 +12644,7 @@ client.refresh_tokens.revoke()
-**ids:** `typing.Optional[typing.List[str]]` — Array of refresh token IDs to revoke. Limited to 100 at a time. +**identifier:** `str` — Unique identifier for the API used as the audience parameter on authorization calls. Can not be changed once set.
@@ -12509,7 +12652,7 @@ client.refresh_tokens.revoke()
-**user_id:** `typing.Optional[str]` — Revoke all refresh tokens for this user. +**name:** `typing.Optional[str]` — Friendly name for this resource server. Can not contain `<` or `>` characters.
@@ -12517,7 +12660,7 @@ client.refresh_tokens.revoke()
-**client_id:** `typing.Optional[str]` — Revoke refresh tokens for this client. Must be paired with `user_id`; optionally narrowed further with `audience`. +**scopes:** `typing.Optional[typing.List[ResourceServerScope]]` — List of permissions (scopes) that this API uses.
@@ -12525,7 +12668,7 @@ client.refresh_tokens.revoke()
-**audience:** `typing.Optional[str]` — Resource server identifier (audience) to scope the revocation. Must be used with both `user_id` and `client_id`. +**signing_alg:** `typing.Optional[SigningAlgorithmEnum]`
@@ -12533,72 +12676,47 @@ client.refresh_tokens.revoke()
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**signing_secret:** `typing.Optional[str]` — Secret used to sign tokens when using symmetric algorithms (HS256).
- -
+
+
+**allow_offline_access:** `typing.Optional[bool]` — Whether refresh tokens can be issued for this API (true) or not (false). +
-
-
client.refresh_tokens.get(...) -> GetRefreshTokenResponseContent
-#### 📝 Description - -
-
+**allow_online_access:** `typing.Optional[bool]` — Whether Online Refresh Tokens can be issued for this API (true) or not (false). + +
+
-Retrieve refresh token information. -
-
+**allow_online_access_with_ephemeral_sessions:** `typing.Optional[bool]` — Whether Online Refresh Tokens can be issued even when sessions are configured as ephemeral (true) or not (false). +
-#### 🔌 Usage -
-
-
- -```python -from auth0.management import Auth0 -from auth0.management.environment import Auth0Environment - -client = Auth0( - token="", - environment=Auth0Environment.DEFAULT, -) - -client.refresh_tokens.get( - id="id", -) - -``` -
-
+**token_lifetime:** `typing.Optional[int]` — Expiration value (in seconds) for access tokens issued for this API from the token endpoint. +
-#### ⚙️ Parameters - -
-
-
-**id:** `str` — ID refresh token to retrieve +**token_lifetime_for_anonymous_access_tokens:** `typing.Optional[int]` — Expiration value (in seconds) for anonymous-session access tokens issued for this API.
@@ -12606,72 +12724,71 @@ client.refresh_tokens.get(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**token_dialect:** `typing.Optional[ResourceServerTokenDialectSchemaEnum]`
-
-
+
+
+**skip_consent_for_verifiable_first_party_clients:** `typing.Optional[bool]` — Whether to skip user consent for applications flagged as first party (true) or not (false). +
-
-
client.refresh_tokens.delete(...)
-#### 📝 Description +**enforce_policies:** `typing.Optional[bool]` — Whether to enforce authorization policies (true) or to ignore them (false). + +
+
+**token_encryption:** `typing.Optional[ResourceServerTokenEncryption]` + +
+
+
-Delete a refresh token by its ID. -
-
+**consent_policy:** `typing.Optional[ResourceServerConsentPolicyEnum]` + -#### 🔌 Usage -
+**authorization_details:** `typing.Optional[typing.List[typing.Any]]` + +
+
+
-```python -from auth0.management import Auth0 -from auth0.management.environment import Auth0Environment - -client = Auth0( - token="", - environment=Auth0Environment.DEFAULT, -) - -client.refresh_tokens.delete( - id="id", -) - -``` -
-
+**proof_of_possession:** `typing.Optional[ResourceServerProofOfPossession]` + -#### ⚙️ Parameters -
+**subject_type_authorization:** `typing.Optional[ResourceServerSubjectTypeAuthorization]` + +
+
+
-**id:** `str` — ID of the refresh token to delete. +**authorization_policy:** `typing.Optional[ResourceServerAuthorizationPolicy]`
@@ -12691,7 +12808,7 @@ client.refresh_tokens.delete(
-
client.refresh_tokens.update(...) -> UpdateRefreshTokenResponseContent +
client.resource_servers.search(...) -> SearchResourceServersResponseContent
@@ -12703,7 +12820,10 @@ client.refresh_tokens.delete(
-Update a refresh token by its ID. +Search resource servers using SCIM or Lucene filter syntax with low-latency, eventually consistent results. Use the parser parameter to specify "scim" or "lucene" syntax (default: "lucene"). This endpoint provides an alternative to the standard GET /resource-servers endpoint with better performance for complex queries. +Results may not reflect recent updates immediately. + +The `signing_secret` field is not supported by this endpoint.
@@ -12726,8 +12846,14 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.refresh_tokens.update( - id="id", +client.resource_servers.search( + q="q", + parser="scim", + fields="fields", + include_fields=True, + take=1, + from_="from", + sort="identifier", ) ``` @@ -12744,7 +12870,7 @@ client.refresh_tokens.update(
-**id:** `str` — ID of the refresh token to update. +**q:** `typing.Optional[str]` — Filter expression in SCIM or Lucene syntax (depending on parser parameter). SCIM examples: `name eq "My API"`, `identifier sw "https://"`. SCIM operators: eq, ne, sw, ew, co, pr, gt, ge, lt, le, and, or.

Supported Fields:
  • id - Filter by resource server ID
  • identifier - Filter by resource server identifier
  • name - Filter by resource server name
  • updated_at - Filter by last update date
Maximum 5 filter operations per query. Results are eventually consistent and may not reflect recent updates.
@@ -12752,7 +12878,7 @@ client.refresh_tokens.update(
-**refresh_token_metadata:** `typing.Optional[RefreshTokenMetadata]` — Metadata associated with the refresh token. Pass null or {} to remove all metadata. +**parser:** `typing.Optional[SearchParserEnum]` — Query parser to use for the filter expression. Use "scim" for SCIM filter syntax or "lucene" for Lucene query syntax (default).
@@ -12760,32 +12886,71 @@ client.refresh_tokens.update(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**fields:** `typing.Optional[str]` — Comma-separated list of fields to include or exclude in the response. Works with the include_fields parameter to control projection mode.
- -
+
+
+**include_fields:** `typing.Optional[bool]` — Controls field projection mode. Set to true to include only fields specified in the fields parameter. Set to false to exclude fields specified in the fields parameter. Defaults to true if not specified. +
-
-## ResourceServers -
client.resource_servers.list(...) -> ListResourceServerOffsetPaginatedResponseContent
-#### 📝 Description +**take:** `typing.Optional[int]` — Maximum number of results to return per page (1-100). Defaults to 50. + +
+
-
+**from:** `typing.Optional[str]` — Cursor for the next page of results. Use the value from the next field in the previous response. + +
+
+ +
-Retrieve details of all APIs associated with your tenant. +**sort:** `typing.Optional[ResourceServerSortFieldEnum]` — Field name to sort results by in ascending order only. Defaults to insertion order (oldest first) if not provided. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+ + + + + + +
+ +
client.resource_servers.get(...) -> GetResourceServerResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve API details with the given ID.
@@ -12808,13 +12973,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.resource_servers.list( - identifiers=[ - "identifiers" - ], - page=1, - per_page=1, - include_totals=True, +client.resource_servers.get( + id="id", include_fields=True, ) @@ -12832,7 +12992,7 @@ client.resource_servers.list(
-**identifiers:** `typing.Optional[typing.Union[typing.Optional[str], typing.Sequence[typing.Optional[str]]]]` — An optional filter on the resource server identifier. Must be URL encoded and may be specified multiple times (max 10).
e.g. ../resource-servers?identifiers=id1&identifiers=id2 +**id:** `str` — ID or audience of the resource server to retrieve.
@@ -12840,7 +13000,7 @@ client.resource_servers.list(
-**page:** `typing.Optional[int]` — Page index of the results to return. First page is 0. +**include_fields:** `typing.Optional[bool]` — Whether specified fields are to be included (true) or excluded (false).
@@ -12848,23 +13008,72 @@ client.resource_servers.list(
-**per_page:** `typing.Optional[int]` — Number of results per page. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+ + + + +
+
client.resource_servers.delete(...)
-**include_totals:** `typing.Optional[bool]` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). - +#### 📝 Description + +
+
+ +
+
+ +Delete an existing API by ID. For more information, read API Settings.
+
+
+ +#### 🔌 Usage
-**include_fields:** `typing.Optional[bool]` — Whether specified fields are to be included (true) or excluded (false). +
+
+ +```python +from auth0.management import Auth0 +from auth0.management.environment import Auth0Environment + +client = Auth0( + token="", + environment=Auth0Environment.DEFAULT, +) + +client.resource_servers.delete( + id="id", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `str` — ID or the audience of the resource server to delete.
@@ -12884,7 +13093,7 @@ client.resource_servers.list(
-
client.resource_servers.create(...) -> CreateResourceServerResponseContent +
client.resource_servers.update(...) -> UpdateResourceServerResponseContent
@@ -12896,7 +13105,7 @@ client.resource_servers.list(
-Create a new API associated with your tenant. Note that all new APIs must be registered with Auth0. For more information, read APIs. +Change an existing API setting by resource server ID. For more information, read API Settings.
@@ -12919,8 +13128,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.resource_servers.create( - identifier="identifier", +client.resource_servers.update( + id="id", ) ``` @@ -12937,7 +13146,7 @@ client.resource_servers.create(
-**identifier:** `str` — Unique identifier for the API used as the audience parameter on authorization calls. Can not be changed once set. +**id:** `str` — ID or audience of the resource server to update.
@@ -12977,6 +13186,14 @@ client.resource_servers.create(
+**skip_consent_for_verifiable_first_party_clients:** `typing.Optional[bool]` — Whether to skip user consent for applications flagged as first party (true) or not (false). + +
+
+ +
+
+ **allow_offline_access:** `typing.Optional[bool]` — Whether refresh tokens can be issued for this API (true) or not (false).
@@ -13009,7 +13226,7 @@ client.resource_servers.create(
-**token_dialect:** `typing.Optional[ResourceServerTokenDialectSchemaEnum]` +**token_lifetime_for_anonymous_access_tokens:** `typing.Optional[int]` — Expiration value (in seconds) for anonymous-session access tokens issued for this API.
@@ -13017,7 +13234,7 @@ client.resource_servers.create(
-**skip_consent_for_verifiable_first_party_clients:** `typing.Optional[bool]` — Whether to skip user consent for applications flagged as first party (true) or not (false). +**token_dialect:** `typing.Optional[ResourceServerTokenDialectSchemaEnum]`
@@ -13025,7 +13242,7 @@ client.resource_servers.create(
-**enforce_policies:** `typing.Optional[bool]` — Whether to enforce authorization policies (true) or to ignore them (false). +**enforce_policies:** `typing.Optional[bool]` — Whether authorization policies are enforced (true) or not enforced (false).
@@ -13093,7 +13310,8 @@ client.resource_servers.create(
-
client.resource_servers.get(...) -> GetResourceServerResponseContent +## Roles +
client.roles.list(...) -> ListRolesOffsetPaginatedResponseContent
@@ -13105,7 +13323,9 @@ client.resource_servers.create(
-Retrieve API details with the given ID. +Retrieve detailed list of user roles created in your tenant. + +**Note**: The returned list does not include standard roles available for tenant members, such as Admin or Support Access.
@@ -13128,9 +13348,13 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.resource_servers.get( - id="id", - include_fields=True, +client.roles.list( + per_page=1, + page=1, + include_totals=True, + name_filter="name_filter", + type="tenant", + owner_id="owner_id", ) ``` @@ -13147,7 +13371,7 @@ client.resource_servers.get(
-**id:** `str` — ID or audience of the resource server to retrieve. +**per_page:** `typing.Optional[int]` — Number of results per page. Defaults to 50.
@@ -13155,7 +13379,39 @@ client.resource_servers.get(
-**include_fields:** `typing.Optional[bool]` — Whether specified fields are to be included (true) or excluded (false). +**page:** `typing.Optional[int]` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**include_totals:** `typing.Optional[bool]` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**name_filter:** `typing.Optional[str]` — Optional filter on name (case-insensitive). + +
+
+ +
+
+ +**type:** `typing.Optional[RoleTypeEnum]` — Optional filter on the type of the role + +
+
+ +
+
+ +**owner_id:** `typing.Optional[str]` — Filter organization-level roles by owner ID. Required when type is "organization".
@@ -13175,7 +13431,7 @@ client.resource_servers.get(
-
client.resource_servers.delete(...) +
client.roles.create(...) -> CreateRoleResponseContent
@@ -13187,7 +13443,9 @@ client.resource_servers.get(
-Delete an existing API by ID. For more information, read API Settings. +Create a user role for [Role-Based Access Control](https://auth0.com/docs/manage-users/access-control/rbac). + +**Note**: New roles are not associated with any permissions by default. To assign existing permissions to your role, review Associate Permissions with a Role. To create new permissions, review Add API Permissions.
@@ -13210,8 +13468,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.resource_servers.delete( - id="id", +client.roles.create( + name="name", ) ``` @@ -13228,7 +13486,31 @@ client.resource_servers.delete(
-**id:** `str` — ID or the audience of the resource server to delete. +**name:** `str` — Name of the role. + +
+
+ +
+
+ +**description:** `typing.Optional[str]` — Description of the role. + +
+
+ +
+
+ +**type:** `typing.Optional[RoleTypeEnum]` — The type of the role. Defaults to tenant. + +
+
+ +
+
+ +**owner_id:** `typing.Optional[str]` — The ID of the organization that owns this role. Required when type is "organization".
@@ -13248,7 +13530,7 @@ client.resource_servers.delete(
-
client.resource_servers.update(...) -> UpdateResourceServerResponseContent +
client.roles.get(...) -> GetRoleResponseContent
@@ -13260,7 +13542,7 @@ client.resource_servers.delete(
-Change an existing API setting by resource server ID. For more information, read API Settings. +Retrieve details about a specific [user role](https://auth0.com/docs/manage-users/access-control/rbac) specified by ID.
@@ -13283,7 +13565,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.resource_servers.update( +client.roles.get( id="id", ) @@ -13301,7 +13583,7 @@ client.resource_servers.update(
-**id:** `str` — ID or audience of the resource server to update. +**id:** `str` — ID of the role to retrieve.
@@ -13309,71 +13591,72 @@ client.resource_servers.update(
-**name:** `typing.Optional[str]` — Friendly name for this resource server. Can not contain `<` or `>` characters. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+ +
-
-
-**scopes:** `typing.Optional[typing.List[ResourceServerScope]]` — List of permissions (scopes) that this API uses. -
+
+
client.roles.delete(...)
-**signing_alg:** `typing.Optional[SigningAlgorithmEnum]` - -
-
+#### 📝 Description
-**signing_secret:** `typing.Optional[str]` — Secret used to sign tokens when using symmetric algorithms (HS256). - -
-
-
-**skip_consent_for_verifiable_first_party_clients:** `typing.Optional[bool]` — Whether to skip user consent for applications flagged as first party (true) or not (false). - +Delete a specific [user role](https://auth0.com/docs/manage-users/access-control/rbac) from your tenant. Once deleted, it is removed from any user who was previously assigned that role. This action cannot be undone. +
+
+#### 🔌 Usage +
-**allow_offline_access:** `typing.Optional[bool]` — Whether refresh tokens can be issued for this API (true) or not (false). - -
-
-
-**allow_online_access:** `typing.Optional[bool]` — Whether Online Refresh Tokens can be issued for this API (true) or not (false). - +```python +from auth0.management import Auth0 +from auth0.management.environment import Auth0Environment + +client = Auth0( + token="", + environment=Auth0Environment.DEFAULT, +) + +client.roles.delete( + id="id", +) + +```
+ + + +#### ⚙️ Parameters
-**allow_online_access_with_ephemeral_sessions:** `typing.Optional[bool]` — Whether Online Refresh Tokens can be issued even when sessions are configured as ephemeral (true) or not (false). - -
-
-
-**token_lifetime:** `typing.Optional[int]` — Expiration value (in seconds) for access tokens issued for this API from the token endpoint. +**id:** `str` — ID of the role to delete.
@@ -13381,47 +13664,72 @@ client.resource_servers.update(
-**token_dialect:** `typing.Optional[ResourceServerTokenDialectSchemaEnum]` +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+ + -
-
-**enforce_policies:** `typing.Optional[bool]` — Whether authorization policies are enforced (true) or not enforced (false). -
+
+
client.roles.update(...) -> UpdateRoleResponseContent
-**token_encryption:** `typing.Optional[ResourceServerTokenEncryption]` - -
-
+#### 📝 Description
-**consent_policy:** `typing.Optional[ResourceServerConsentPolicyEnum]` - +
+
+ +Modify the details of a specific [user role](https://auth0.com/docs/manage-users/access-control/rbac) specified by ID.
+
+
+ +#### 🔌 Usage
-**authorization_details:** `typing.Optional[typing.List[typing.Any]]` - +
+
+ +```python +from auth0.management import Auth0 +from auth0.management.environment import Auth0Environment + +client = Auth0( + token="", + environment=Auth0Environment.DEFAULT, +) + +client.roles.update( + id="id", +) + +``` +
+
+#### ⚙️ Parameters +
-**proof_of_possession:** `typing.Optional[ResourceServerProofOfPossession]` +
+
+ +**id:** `str` — ID of the role to update.
@@ -13429,7 +13737,7 @@ client.resource_servers.update(
-**subject_type_authorization:** `typing.Optional[ResourceServerSubjectTypeAuthorization]` +**name:** `typing.Optional[str]` — Name of this role.
@@ -13437,7 +13745,7 @@ client.resource_servers.update(
-**authorization_policy:** `typing.Optional[ResourceServerAuthorizationPolicy]` +**description:** `typing.Optional[str]` — Description of this role.
@@ -13457,8 +13765,8 @@ client.resource_servers.update(
-## Roles -
client.roles.list(...) -> ListRolesOffsetPaginatedResponseContent +## Rules +
client.rules.list(...) -> ListRulesOffsetPaginatedResponseContent
@@ -13470,9 +13778,7 @@ client.resource_servers.update(
-Retrieve detailed list of user roles created in your tenant. - -**Note**: The returned list does not include standard roles available for tenant members, such as Admin or Support Access. +Retrieve a filtered list of [rules](https://auth0.com/docs/rules). Accepts a list of fields to include or exclude.
@@ -13495,13 +13801,13 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.roles.list( - per_page=1, +client.rules.list( page=1, + per_page=1, include_totals=True, - name_filter="name_filter", - type="tenant", - owner_id="owner_id", + enabled=True, + fields="fields", + include_fields=True, ) ``` @@ -13518,7 +13824,7 @@ client.roles.list(
-**per_page:** `typing.Optional[int]` — Number of results per page. Defaults to 50. +**page:** `typing.Optional[int]` — Page index of the results to return. First page is 0.
@@ -13526,7 +13832,7 @@ client.roles.list(
-**page:** `typing.Optional[int]` — Page index of the results to return. First page is 0. +**per_page:** `typing.Optional[int]` — Number of results per page.
@@ -13542,7 +13848,7 @@ client.roles.list(
-**name_filter:** `typing.Optional[str]` — Optional filter on name (case-insensitive). +**enabled:** `typing.Optional[bool]` — Optional filter on whether a rule is enabled (true) or disabled (false).
@@ -13550,7 +13856,7 @@ client.roles.list(
-**type:** `typing.Optional[RoleTypeEnum]` — Optional filter on the type of the role +**fields:** `typing.Optional[str]` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields.
@@ -13558,7 +13864,7 @@ client.roles.list(
-**owner_id:** `typing.Optional[str]` — Filter organization-level roles by owner ID. Required when type is "organization". +**include_fields:** `typing.Optional[bool]` — Whether specified fields are to be included (true) or excluded (false).
@@ -13578,7 +13884,7 @@ client.roles.list(
-
client.roles.create(...) -> CreateRoleResponseContent +
client.rules.create(...) -> CreateRuleResponseContent
@@ -13590,9 +13896,9 @@ client.roles.list(
-Create a user role for [Role-Based Access Control](https://auth0.com/docs/manage-users/access-control/rbac). +Create a [new rule](https://auth0.com/docs/rules#create-a-new-rule-using-the-management-api). -**Note**: New roles are not associated with any permissions by default. To assign existing permissions to your role, review Associate Permissions with a Role. To create new permissions, review Add API Permissions. +Note: Changing a rule's stage of execution from the default `login_success` can change the rule's function signature to have user omitted.
@@ -13615,8 +13921,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.roles.create( +client.rules.create( name="name", + script="script", ) ``` @@ -13633,7 +13940,7 @@ client.roles.create(
-**name:** `str` — Name of the role. +**name:** `str` — Name of this rule.
@@ -13641,7 +13948,7 @@ client.roles.create(
-**description:** `typing.Optional[str]` — Description of the role. +**script:** `str` — Code to be executed when this rule runs.
@@ -13649,7 +13956,7 @@ client.roles.create(
-**type:** `typing.Optional[RoleTypeEnum]` — The type of the role. Defaults to tenant. +**order:** `typing.Optional[float]` — Order that this rule should execute in relative to other rules. Lower-valued rules execute first.
@@ -13657,7 +13964,7 @@ client.roles.create(
-**owner_id:** `typing.Optional[str]` — The ID of the organization that owns this role. Required when type is "organization". +**enabled:** `typing.Optional[bool]` — Whether the rule is enabled (true), or disabled (false).
@@ -13677,7 +13984,7 @@ client.roles.create(
-
client.roles.get(...) -> GetRoleResponseContent +
client.rules.get(...) -> GetRuleResponseContent
@@ -13689,7 +13996,7 @@ client.roles.create(
-Retrieve details about a specific [user role](https://auth0.com/docs/manage-users/access-control/rbac) specified by ID. +Retrieve [rule](https://auth0.com/docs/rules) details. Accepts a list of fields to include or exclude in the result.
@@ -13712,8 +14019,10 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.roles.get( +client.rules.get( id="id", + fields="fields", + include_fields=True, ) ``` @@ -13730,7 +14039,23 @@ client.roles.get(
-**id:** `str` — ID of the role to retrieve. +**id:** `str` — ID of the rule to retrieve. + +
+
+ +
+
+ +**fields:** `typing.Optional[str]` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `typing.Optional[bool]` — Whether specified fields are to be included (true) or excluded (false).
@@ -13750,7 +14075,7 @@ client.roles.get(
-
client.roles.delete(...) +
client.rules.delete(...)
@@ -13762,7 +14087,7 @@ client.roles.get(
-Delete a specific [user role](https://auth0.com/docs/manage-users/access-control/rbac) from your tenant. Once deleted, it is removed from any user who was previously assigned that role. This action cannot be undone. +Delete a rule.
@@ -13785,7 +14110,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.roles.delete( +client.rules.delete( id="id", ) @@ -13803,7 +14128,7 @@ client.roles.delete(
-**id:** `str` — ID of the role to delete. +**id:** `str` — ID of the rule to delete.
@@ -13823,7 +14148,7 @@ client.roles.delete(
-
client.roles.update(...) -> UpdateRoleResponseContent +
client.rules.update(...) -> UpdateRuleResponseContent
@@ -13835,7 +14160,7 @@ client.roles.delete(
-Modify the details of a specific [user role](https://auth0.com/docs/manage-users/access-control/rbac) specified by ID. +Update an existing rule.
@@ -13858,7 +14183,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.roles.update( +client.rules.update( id="id", ) @@ -13876,7 +14201,7 @@ client.roles.update(
-**id:** `str` — ID of the role to update. +**id:** `str` — ID of the rule to retrieve.
@@ -13884,7 +14209,7 @@ client.roles.update(
-**name:** `typing.Optional[str]` — Name of this role. +**script:** `typing.Optional[str]` — Code to be executed when this rule runs.
@@ -13892,7 +14217,23 @@ client.roles.update(
-**description:** `typing.Optional[str]` — Description of this role. +**name:** `typing.Optional[str]` — Name of this rule. + +
+
+ +
+
+ +**order:** `typing.Optional[float]` — Order that this rule should execute in relative to other rules. Lower-valued rules execute first. + +
+
+ +
+
+ +**enabled:** `typing.Optional[bool]` — Whether the rule is enabled (true), or disabled (false).
@@ -13912,8 +14253,8 @@ client.roles.update(
-## Rules -
client.rules.list(...) -> ListRulesOffsetPaginatedResponseContent +## RulesConfigs +
client.rules_configs.list() -> typing.List[RulesConfig]
@@ -13925,7 +14266,9 @@ client.roles.update(
-Retrieve a filtered list of [rules](https://auth0.com/docs/rules). Accepts a list of fields to include or exclude. +Retrieve rules config variable keys. + + Note: For security, config variable values cannot be retrieved outside rule execution.
@@ -13948,14 +14291,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.rules.list( - page=1, - per_page=1, - include_totals=True, - enabled=True, - fields="fields", - include_fields=True, -) +client.rules_configs.list() ``` @@ -13971,87 +14307,37 @@ client.rules.list(
-**page:** `typing.Optional[int]` — Page index of the results to return. First page is 0. - -
-
- -
-
- -**per_page:** `typing.Optional[int]` — Number of results per page. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
- -
-
- -**include_totals:** `typing.Optional[bool]` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). -
-
-
-**enabled:** `typing.Optional[bool]` — Optional filter on whether a rule is enabled (true) or disabled (false). -
+
+
client.rules_configs.set(...) -> SetRulesConfigResponseContent
-**fields:** `typing.Optional[str]` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. - -
-
+#### 📝 Description
-**include_fields:** `typing.Optional[bool]` — Whether specified fields are to be included (true) or excluded (false). - -
-
-
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. - +Sets a rules config variable.
- - - -
- -
client.rules.create(...) -> CreateRuleResponseContent -
-
- -#### 📝 Description - -
-
- -
-
- -Create a [new rule](https://auth0.com/docs/rules#create-a-new-rule-using-the-management-api). - -Note: Changing a rule's stage of execution from the default `login_success` can change the rule's function signature to have user omitted. -
-
-
-
- -#### 🔌 Usage +#### 🔌 Usage
@@ -14068,9 +14354,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.rules.create( - name="name", - script="script", +client.rules_configs.set( + key="key", + value="value", ) ``` @@ -14087,23 +14373,7 @@ client.rules.create(
-**name:** `str` — Name of this rule. - -
-
- -
-
- -**script:** `str` — Code to be executed when this rule runs. - -
-
- -
-
- -**order:** `typing.Optional[float]` — Order that this rule should execute in relative to other rules. Lower-valued rules execute first. +**key:** `str` — Key of the rules config variable to set (max length: 127 characters).
@@ -14111,7 +14381,7 @@ client.rules.create(
-**enabled:** `typing.Optional[bool]` — Whether the rule is enabled (true), or disabled (false). +**value:** `str` — Value for a rules config variable.
@@ -14131,7 +14401,7 @@ client.rules.create(
-
client.rules.get(...) -> GetRuleResponseContent +
client.rules_configs.delete(...)
@@ -14143,7 +14413,7 @@ client.rules.create(
-Retrieve [rule](https://auth0.com/docs/rules) details. Accepts a list of fields to include or exclude in the result. +Delete a rules config variable identified by its key.
@@ -14166,10 +14436,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.rules.get( - id="id", - fields="fields", - include_fields=True, +client.rules_configs.delete( + key="key", ) ``` @@ -14186,23 +14454,7 @@ client.rules.get(
-**id:** `str` — ID of the rule to retrieve. - -
-
- -
-
- -**fields:** `typing.Optional[str]` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. - -
-
- -
-
- -**include_fields:** `typing.Optional[bool]` — Whether specified fields are to be included (true) or excluded (false). +**key:** `str` — Key of the rules config variable to delete.
@@ -14222,7 +14474,8 @@ client.rules.get(
-
client.rules.delete(...) +## SelfServiceProfiles +
client.self_service_profiles.list(...) -> ListSelfServiceProfilesPaginatedResponseContent
@@ -14234,7 +14487,7 @@ client.rules.get(
-Delete a rule. +Retrieves self-service profiles.
@@ -14257,8 +14510,10 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.rules.delete( - id="id", +client.self_service_profiles.list( + page=1, + per_page=1, + include_totals=True, ) ``` @@ -14275,7 +14530,23 @@ client.rules.delete(
-**id:** `str` — ID of the rule to delete. +**page:** `typing.Optional[int]` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `typing.Optional[int]` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**include_totals:** `typing.Optional[bool]` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default).
@@ -14295,7 +14566,7 @@ client.rules.delete(
-
client.rules.update(...) -> UpdateRuleResponseContent +
client.self_service_profiles.create(...) -> CreateSelfServiceProfileResponseContent
@@ -14307,7 +14578,7 @@ client.rules.delete(
-Update an existing rule. +Creates a self-service profile.
@@ -14330,8 +14601,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.rules.update( - id="id", +client.self_service_profiles.create( + name="name", ) ``` @@ -14348,7 +14619,7 @@ client.rules.update(
-**id:** `str` — ID of the rule to retrieve. +**name:** `str` — The name of the self-service Profile.
@@ -14356,7 +14627,7 @@ client.rules.update(
-**script:** `typing.Optional[str]` — Code to be executed when this rule runs. +**description:** `typing.Optional[str]` — The description of the self-service Profile.
@@ -14364,7 +14635,7 @@ client.rules.update(
-**name:** `typing.Optional[str]` — Name of this rule. +**branding:** `typing.Optional[SelfServiceProfileBrandingProperties]`
@@ -14372,7 +14643,7 @@ client.rules.update(
-**order:** `typing.Optional[float]` — Order that this rule should execute in relative to other rules. Lower-valued rules execute first. +**allowed_strategies:** `typing.Optional[typing.List[SelfServiceProfileAllowedStrategyEnum]]` — List of IdP strategies that will be shown to users during the Self-Service Enterprise Configuration flow. Possible values: [`oidc`, `samlp`, `waad`, `google-apps`, `adfs`, `okta`, `auth0-samlp`, `okta-samlp`, `keycloak-samlp`, `pingfederate`]
@@ -14380,7 +14651,15 @@ client.rules.update(
-**enabled:** `typing.Optional[bool]` — Whether the rule is enabled (true), or disabled (false). +**user_attributes:** `typing.Optional[typing.List[SelfServiceProfileUserAttribute]]` — List of attributes to be mapped that will be shown to the user during the Self-Service Enterprise Configuration flow. + +
+
+ +
+
+ +**user_attribute_profile_id:** `typing.Optional[str]` — ID of the user-attribute-profile to associate with this self-service profile.
@@ -14400,8 +14679,7 @@ client.rules.update(
-## RulesConfigs -
client.rules_configs.list() -> typing.List[RulesConfig] +
client.self_service_profiles.get(...) -> GetSelfServiceProfileResponseContent
@@ -14413,9 +14691,7 @@ client.rules.update(
-Retrieve rules config variable keys. - - Note: For security, config variable values cannot be retrieved outside rule execution. +Retrieves a self-service profile by Id.
@@ -14438,7 +14714,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.rules_configs.list() +client.self_service_profiles.get( + id="id", +) ``` @@ -14454,6 +14732,14 @@ client.rules_configs.list()
+**id:** `str` — The id of the self-service profile to retrieve + +
+
+ +
+
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -14466,7 +14752,7 @@ client.rules_configs.list()
-
client.rules_configs.set(...) -> SetRulesConfigResponseContent +
client.self_service_profiles.delete(...)
@@ -14478,7 +14764,7 @@ client.rules_configs.list()
-Sets a rules config variable. +Deletes a self-service profile by Id.
@@ -14501,9 +14787,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.rules_configs.set( - key="key", - value="value", +client.self_service_profiles.delete( + id="id", ) ``` @@ -14520,15 +14805,7 @@ client.rules_configs.set(
-**key:** `str` — Key of the rules config variable to set (max length: 127 characters). - -
-
- -
-
- -**value:** `str` — Value for a rules config variable. +**id:** `str` — The id of the self-service profile to delete
@@ -14548,7 +14825,7 @@ client.rules_configs.set(
-
client.rules_configs.delete(...) +
client.self_service_profiles.update(...) -> UpdateSelfServiceProfileResponseContent
@@ -14560,7 +14837,7 @@ client.rules_configs.set(
-Delete a rules config variable identified by its key. +Updates a self-service profile.
@@ -14583,8 +14860,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.rules_configs.delete( - key="key", +client.self_service_profiles.update( + id="id", ) ``` @@ -14601,7 +14878,7 @@ client.rules_configs.delete(
-**key:** `str` — Key of the rules config variable to delete. +**id:** `str` — The id of the self-service profile to update
@@ -14609,75 +14886,31 @@ client.rules_configs.delete(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**name:** `typing.Optional[str]` — The name of the self-service Profile.
- -
- - - - -
- -## SelfServiceProfiles -
client.self_service_profiles.list(...) -> ListSelfServiceProfilesPaginatedResponseContent -
-
- -#### 📝 Description - -
-
-Retrieves self-service profiles. -
-
+**description:** `typing.Optional[SelfServiceProfileDescription]` +
-#### 🔌 Usage - -
-
-
-```python -from auth0.management import Auth0 -from auth0.management.environment import Auth0Environment - -client = Auth0( - token="", - environment=Auth0Environment.DEFAULT, -) - -client.self_service_profiles.list( - page=1, - per_page=1, - include_totals=True, -) - -``` -
-
+**branding:** `typing.Optional[SelfServiceProfileBranding]` +
-#### ⚙️ Parameters - -
-
-
-**page:** `typing.Optional[int]` — Page index of the results to return. First page is 0. +**allowed_strategies:** `typing.Optional[typing.List[SelfServiceProfileAllowedStrategyEnum]]` — List of IdP strategies that will be shown to users during the Self-Service Enterprise Configuration flow. Possible values: [`oidc`, `samlp`, `waad`, `google-apps`, `adfs`, `okta`, `auth0-samlp`, `okta-samlp`, `keycloak-samlp`, `pingfederate`]
@@ -14685,7 +14918,7 @@ client.self_service_profiles.list(
-**per_page:** `typing.Optional[int]` — Number of results per page. Defaults to 50. +**user_attributes:** `typing.Optional[SelfServiceProfileUserAttributes]`
@@ -14693,7 +14926,7 @@ client.self_service_profiles.list(
-**include_totals:** `typing.Optional[bool]` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). +**user_attribute_profile_id:** `typing.Optional[str]` — ID of the user-attribute-profile to associate with this self-service profile.
@@ -14713,7 +14946,8 @@ client.self_service_profiles.list(
-
client.self_service_profiles.create(...) -> CreateSelfServiceProfileResponseContent +## Sessions +
client.sessions.get(...) -> GetSessionResponseContent
@@ -14725,7 +14959,7 @@ client.self_service_profiles.list(
-Creates a self-service profile. +Retrieve session information.
@@ -14748,8 +14982,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.self_service_profiles.create( - name="name", +client.sessions.get( + id="id", ) ``` @@ -14766,7 +15000,7 @@ client.self_service_profiles.create(
-**name:** `str` — The name of the self-service Profile. +**id:** `str` — ID of session to retrieve
@@ -14774,59 +15008,19 @@ client.self_service_profiles.create(
-**description:** `typing.Optional[str]` — The description of the self-service Profile. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+ +
-
-
-**branding:** `typing.Optional[SelfServiceProfileBrandingProperties]` -
+
-
-
- -**allowed_strategies:** `typing.Optional[typing.List[SelfServiceProfileAllowedStrategyEnum]]` — List of IdP strategies that will be shown to users during the Self-Service Enterprise Configuration flow. Possible values: [`oidc`, `samlp`, `waad`, `google-apps`, `adfs`, `okta`, `auth0-samlp`, `okta-samlp`, `keycloak-samlp`, `pingfederate`] - -
-
- -
-
- -**user_attributes:** `typing.Optional[typing.List[SelfServiceProfileUserAttribute]]` — List of attributes to be mapped that will be shown to the user during the Self-Service Enterprise Configuration flow. - -
-
- -
-
- -**user_attribute_profile_id:** `typing.Optional[str]` — ID of the user-attribute-profile to associate with this self-service profile. - -
-
- -
-
- -**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. - -
-
- - - - - - -
- -
client.self_service_profiles.get(...) -> GetSelfServiceProfileResponseContent +
client.sessions.delete(...)
@@ -14838,7 +15032,7 @@ client.self_service_profiles.create(
-Retrieves a self-service profile by Id. +Delete a session by ID.
@@ -14861,7 +15055,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.self_service_profiles.get( +client.sessions.delete( id="id", ) @@ -14879,7 +15073,7 @@ client.self_service_profiles.get(
-**id:** `str` — The id of the self-service profile to retrieve +**id:** `str` — ID of the session to delete.
@@ -14899,7 +15093,7 @@ client.self_service_profiles.get(
-
client.self_service_profiles.delete(...) +
client.sessions.update(...) -> UpdateSessionResponseContent
@@ -14911,7 +15105,7 @@ client.self_service_profiles.get(
-Deletes a self-service profile by Id. +Update session information.
@@ -14934,7 +15128,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.self_service_profiles.delete( +client.sessions.update( id="id", ) @@ -14952,7 +15146,15 @@ client.self_service_profiles.delete(
-**id:** `str` — The id of the self-service profile to delete +**id:** `str` — ID of the session to update. + +
+
+ +
+
+ +**session_metadata:** `typing.Optional[SessionMetadata]` — Metadata associated with the session. Pass null or {} to remove all session_metadata.
@@ -14972,7 +15174,7 @@ client.self_service_profiles.delete(
-
client.self_service_profiles.update(...) -> UpdateSelfServiceProfileResponseContent +
client.sessions.revoke(...)
@@ -14984,7 +15186,7 @@ client.self_service_profiles.delete(
-Updates a self-service profile. +Revokes a session by ID and all associated refresh tokens.
@@ -15007,7 +15209,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.self_service_profiles.update( +client.sessions.revoke( id="id", ) @@ -15025,7 +15227,7 @@ client.self_service_profiles.update(
-**id:** `str` — The id of the self-service profile to update +**id:** `str` — ID of the session to revoke.
@@ -15033,51 +15235,67 @@ client.self_service_profiles.update(
-**name:** `typing.Optional[str]` — The name of the self-service Profile. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+ +
-
-
-**description:** `typing.Optional[SelfServiceProfileDescription]` -
+
+## Stats +
client.stats.get_active_users_count() -> GetActiveUsersCountStatsResponseContent
-**branding:** `typing.Optional[SelfServiceProfileBranding]` - -
-
+#### 📝 Description
-**allowed_strategies:** `typing.Optional[typing.List[SelfServiceProfileAllowedStrategyEnum]]` — List of IdP strategies that will be shown to users during the Self-Service Enterprise Configuration flow. Possible values: [`oidc`, `samlp`, `waad`, `google-apps`, `adfs`, `okta`, `auth0-samlp`, `okta-samlp`, `keycloak-samlp`, `pingfederate`] - -
-
-
-**user_attributes:** `typing.Optional[SelfServiceProfileUserAttributes]` - +Retrieve the number of active users that logged in during the last 30 days. +
+
+#### 🔌 Usage +
-**user_attribute_profile_id:** `typing.Optional[str]` — ID of the user-attribute-profile to associate with this self-service profile. - +
+
+ +```python +from auth0.management import Auth0 +from auth0.management.environment import Auth0Environment + +client = Auth0( + token="", + environment=Auth0Environment.DEFAULT, +) + +client.stats.get_active_users_count() + +``` +
+
+#### ⚙️ Parameters + +
+
+
@@ -15093,8 +15311,7 @@ client.self_service_profiles.update(
-## Sessions -
client.sessions.get(...) -> GetSessionResponseContent +
client.stats.get_daily(...) -> typing.List[DailyStats]
@@ -15106,7 +15323,7 @@ client.self_service_profiles.update(
-Retrieve session information. +Retrieve the number of logins, signups and breached-password detections (subscription required) that occurred each day within a specified date range.
@@ -15129,8 +15346,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.sessions.get( - id="id", +client.stats.get_daily( + from_="from", + to="to", ) ``` @@ -15147,7 +15365,15 @@ client.sessions.get(
-**id:** `str` — ID of session to retrieve +**from:** `typing.Optional[str]` — Optional first day of the date range (inclusive) in YYYYMMDD format. + +
+
+ +
+
+ +**to:** `typing.Optional[str]` — Optional last day of the date range (inclusive) in YYYYMMDD format.
@@ -15167,7 +15393,8 @@ client.sessions.get(
-
client.sessions.delete(...) +## SupplementalSignals +
client.supplemental_signals.get() -> GetSupplementalSignalsResponseContent
@@ -15179,7 +15406,7 @@ client.sessions.get(
-Delete a session by ID. +Get the supplemental signals configuration for a tenant.
@@ -15202,9 +15429,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.sessions.delete( - id="id", -) +client.supplemental_signals.get() ``` @@ -15220,14 +15445,6 @@ client.sessions.delete(
-**id:** `str` — ID of the session to delete. - -
-
- -
-
- **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -15240,7 +15457,7 @@ client.sessions.delete(
-
client.sessions.update(...) -> UpdateSessionResponseContent +
client.supplemental_signals.patch(...) -> PatchSupplementalSignalsResponseContent
@@ -15252,7 +15469,7 @@ client.sessions.delete(
-Update session information. +Update the supplemental signals configuration for a tenant.
@@ -15275,8 +15492,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.sessions.update( - id="id", +client.supplemental_signals.patch( + akamai_enabled=True, ) ``` @@ -15293,15 +15510,7 @@ client.sessions.update(
-**id:** `str` — ID of the session to update. - -
-
- -
-
- -**session_metadata:** `typing.Optional[SessionMetadata]` — Metadata associated with the session. Pass null or {} to remove all session_metadata. +**akamai_enabled:** `bool` — Indicates if incoming Akamai Headers should be processed
@@ -15321,7 +15530,8 @@ client.sessions.update(
-
client.sessions.revoke(...) +## Tickets +
client.tickets.verify_email(...) -> VerifyEmailTicketResponseContent
@@ -15333,7 +15543,7 @@ client.sessions.update(
-Revokes a session by ID and all associated refresh tokens. +Create an email verification ticket for a given user. An email verification ticket is a generated URL that the user can consume to verify their email address.
@@ -15356,8 +15566,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.sessions.revoke( - id="id", +client.tickets.verify_email( + user_id="user_id", ) ``` @@ -15374,7 +15584,7 @@ client.sessions.revoke(
-**id:** `str` — ID of the session to revoke. +**user_id:** `str` — user_id of for whom the ticket should be created.
@@ -15382,67 +15592,51 @@ client.sessions.revoke(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**result_url:** `typing.Optional[str]` — URL the user will be redirected to in the classic Universal Login experience once the ticket is used. Cannot be specified when using client_id or organization_id.
- -
+
+
+**client_id:** `typing.Optional[str]` — ID of the client (application). If provided for tenants using the New Universal Login experience, the email template and UI displays application details, and the user is prompted to redirect to the application's default login route after the ticket is used. client_id is required to use the Password Reset Post Challenge trigger. +
-
-## Stats -
client.stats.get_active_users_count() -> GetActiveUsersCountStatsResponseContent
-#### 📝 Description - -
-
+**organization_id:** `typing.Optional[str]` — (Optional) Organization ID – the ID of the Organization. If provided, organization parameters will be made available to the email template and organization branding will be applied to the prompt. In addition, the redirect link in the prompt will include organization_id and organization_name query string parameters. + +
+
-Retrieve the number of active users that logged in during the last 30 days. -
-
+**ttl_sec:** `typing.Optional[int]` — Number of seconds for which the ticket is valid before expiration. If unspecified or set to 0, this value defaults to 432000 seconds (5 days). +
-#### 🔌 Usage - -
-
-
-```python -from auth0.management import Auth0 -from auth0.management.environment import Auth0Environment - -client = Auth0( - token="", - environment=Auth0Environment.DEFAULT, -) - -client.stats.get_active_users_count() - -``` -
-
+**include_email_in_redirect:** `typing.Optional[bool]` — Whether to include the email address as part of the returnUrl in the reset_email (true), or not (false). +
-#### ⚙️ Parameters -
+**identity:** `typing.Optional[Identity]` + +
+
+
@@ -15458,7 +15652,7 @@ client.stats.get_active_users_count()
-
client.stats.get_daily(...) -> typing.List[DailyStats] +
client.tickets.change_password(...) -> ChangePasswordTicketResponseContent
@@ -15470,7 +15664,9 @@ client.stats.get_active_users_count()
-Retrieve the number of logins, signups and breached-password detections (subscription required) that occurred each day within a specified date range. +Create a password change ticket for a given user. A password change ticket is a generated URL that the user can consume to start a reset password flow. + +Note: This endpoint does not verify the given user’s identity. If you call this endpoint within your application, you must design your application to verify the user’s identity.
@@ -15493,10 +15689,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.stats.get_daily( - from_="from", - to="to", -) +client.tickets.change_password() ``` @@ -15512,7 +15705,7 @@ client.stats.get_daily(
-**from:** `typing.Optional[str]` — Optional first day of the date range (inclusive) in YYYYMMDD format. +**result_url:** `typing.Optional[str]` — URL the user will be redirected to in the classic Universal Login experience once the ticket is used. Cannot be specified when using organization_id. May be specified together with client_id when the tenant has a custom password reset page enabled and a password-reset-post-challenge Action bound.
@@ -15520,7 +15713,7 @@ client.stats.get_daily(
-**to:** `typing.Optional[str]` — Optional last day of the date range (inclusive) in YYYYMMDD format. +**user_id:** `typing.Optional[str]` — user_id of for whom the ticket should be created.
@@ -15528,67 +15721,67 @@ client.stats.get_daily(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**client_id:** `typing.Optional[str]` — ID of the client (application). If provided for tenants using the New Universal Login experience, the email template and UI displays application details, and the user is prompted to redirect to the application's default login route after the ticket is used. client_id is required to use the Password Reset Post Challenge trigger.
- -
+
+
+**organization_id:** `typing.Optional[str]` — (Optional) Organization ID – the ID of the Organization. If provided, organization parameters will be made available to the email template and organization branding will be applied to the prompt. In addition, the redirect link in the prompt will include organization_id and organization_name query string parameters. +
-
-## SupplementalSignals -
client.supplemental_signals.get() -> GetSupplementalSignalsResponseContent
-#### 📝 Description +**connection_id:** `typing.Optional[str]` — ID of the connection. If provided, allows the user to be specified using email instead of user_id. If you set this value, you must also send the email parameter. You cannot send user_id when specifying a connection_id. + +
+
+**email:** `typing.Optional[str]` — Email address of the user for whom the tickets should be created. Requires the connection_id parameter. Cannot be specified when using user_id. + +
+
+
-Get the supplemental signals configuration for a tenant. -
-
+**ttl_sec:** `typing.Optional[int]` — Number of seconds for which the ticket is valid before expiration. If unspecified or set to 0, this value defaults to 432000 seconds (5 days). + -#### 🔌 Usage -
+**mark_email_as_verified:** `typing.Optional[bool]` — Whether to set the email_verified attribute to true (true) or whether it should not be updated (false). + +
+
+
-```python -from auth0.management import Auth0 -from auth0.management.environment import Auth0Environment - -client = Auth0( - token="", - environment=Auth0Environment.DEFAULT, -) - -client.supplemental_signals.get() - -``` -
-
+**include_email_in_redirect:** `typing.Optional[bool]` — Whether to include the email address as part of the returnUrl in the reset_email (true), or not (false). + -#### ⚙️ Parameters -
+**identity:** `typing.Optional[ChangePasswordTicketIdentity]` + +
+
+
@@ -15604,7 +15797,8 @@ client.supplemental_signals.get()
-
client.supplemental_signals.patch(...) -> PatchSupplementalSignalsResponseContent +## TokenExchangeProfiles +
client.token_exchange_profiles.list(...) -> ListTokenExchangeProfileResponseContent
@@ -15616,7 +15810,16 @@ client.supplemental_signals.get()
-Update the supplemental signals configuration for a tenant. +Retrieve a list of all Token Exchange Profiles available in your tenant. + +By using this feature, you agree to the applicable Free Trial terms in [Okta’s Master Subscription Agreement](https://www.okta.com/legal/). It is your responsibility to securely validate the user’s subject_token. See [User Guide](https://auth0.com/docs/authenticate/custom-token-exchange) for more details. + +This endpoint supports Checkpoint pagination. To search by checkpoint, use the following parameters: + +- `from`: Optional id from which to start selection. +- `take`: The total amount of entries to retrieve when using the from parameter. Defaults to 50. + +**Note**: The first time you call this endpoint using checkpoint pagination, omit the `from` parameter. If there are more results, a `next` value is included in the response. You can use this for subsequent API calls. When `next` is no longer included in the response, no pages are remaining.
@@ -15639,8 +15842,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.supplemental_signals.patch( - akamai_enabled=True, +client.token_exchange_profiles.list( + from_="from", + take=1, ) ``` @@ -15657,7 +15861,15 @@ client.supplemental_signals.patch(
-**akamai_enabled:** `bool` — Indicates if incoming Akamai Headers should be processed +**from:** `typing.Optional[str]` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50.
@@ -15677,8 +15889,7 @@ client.supplemental_signals.patch(
-## Tickets -
client.tickets.verify_email(...) -> VerifyEmailTicketResponseContent +
client.token_exchange_profiles.create(...) -> CreateTokenExchangeProfileResponseContent
@@ -15690,7 +15901,9 @@ client.supplemental_signals.patch(
-Create an email verification ticket for a given user. An email verification ticket is a generated URL that the user can consume to verify their email address. +Create a new Token Exchange Profile within your tenant. + +By using this feature, you agree to the applicable Free Trial terms in [Okta’s Master Subscription Agreement](https://www.okta.com/legal/). It is your responsibility to securely validate the user’s subject_token. See [User Guide](https://auth0.com/docs/authenticate/custom-token-exchange) for more details.
@@ -15713,8 +15926,11 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.tickets.verify_email( - user_id="user_id", +client.token_exchange_profiles.create( + name="name", + subject_token_type="subject_token_type", + action_id="action_id", + type="custom_authentication", ) ``` @@ -15731,31 +15947,7 @@ client.tickets.verify_email(
-**user_id:** `str` — user_id of for whom the ticket should be created. - -
-
- -
-
- -**result_url:** `typing.Optional[str]` — URL the user will be redirected to in the classic Universal Login experience once the ticket is used. Cannot be specified when using client_id or organization_id. - -
-
- -
-
- -**client_id:** `typing.Optional[str]` — ID of the client (application). If provided for tenants using the New Universal Login experience, the email template and UI displays application details, and the user is prompted to redirect to the application's default login route after the ticket is used. client_id is required to use the Password Reset Post Challenge trigger. - -
-
- -
-
- -**organization_id:** `typing.Optional[str]` — (Optional) Organization ID – the ID of the Organization. If provided, organization parameters will be made available to the email template and organization branding will be applied to the prompt. In addition, the redirect link in the prompt will include organization_id and organization_name query string parameters. +**name:** `str` — Friendly name of this profile.
@@ -15763,7 +15955,7 @@ client.tickets.verify_email(
-**ttl_sec:** `typing.Optional[int]` — Number of seconds for which the ticket is valid before expiration. If unspecified or set to 0, this value defaults to 432000 seconds (5 days). +**subject_token_type:** `str` — Subject token type for this profile. When receiving a token exchange request on the Authentication API, the corresponding token exchange profile with a matching subject_token_type will be executed. This must be a URI.
@@ -15771,7 +15963,7 @@ client.tickets.verify_email(
-**include_email_in_redirect:** `typing.Optional[bool]` — Whether to include the email address as part of the returnUrl in the reset_email (true), or not (false). +**action_id:** `str` — The ID of the Custom Token Exchange action to execute for this profile, in order to validate the subject_token. The action must use the custom-token-exchange trigger.
@@ -15779,7 +15971,7 @@ client.tickets.verify_email(
-**identity:** `typing.Optional[Identity]` +**type:** `TokenExchangeProfileTypeEnum`
@@ -15799,7 +15991,7 @@ client.tickets.verify_email(
-
client.tickets.change_password(...) -> ChangePasswordTicketResponseContent +
client.token_exchange_profiles.get(...) -> GetTokenExchangeProfileResponseContent
@@ -15811,9 +16003,9 @@ client.tickets.verify_email(
-Create a password change ticket for a given user. A password change ticket is a generated URL that the user can consume to start a reset password flow. +Retrieve details about a single Token Exchange Profile specified by ID. -Note: This endpoint does not verify the given user’s identity. If you call this endpoint within your application, you must design your application to verify the user’s identity. +By using this feature, you agree to the applicable Free Trial terms in [Okta’s Master Subscription Agreement](https://www.okta.com/legal/). It is your responsibility to securely validate the user’s subject_token. See [User Guide](https://auth0.com/docs/authenticate/custom-token-exchange) for more details.
@@ -15836,7 +16028,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.tickets.change_password() +client.token_exchange_profiles.get( + id="id", +) ``` @@ -15852,7 +16046,7 @@ client.tickets.change_password()
-**result_url:** `typing.Optional[str]` — URL the user will be redirected to in the classic Universal Login experience once the ticket is used. Cannot be specified when using organization_id. May be specified together with client_id when the tenant has a custom password reset page enabled and a password-reset-post-challenge Action bound. +**id:** `str` — ID of the Token Exchange Profile to retrieve.
@@ -15860,71 +16054,74 @@ client.tickets.change_password()
-**user_id:** `typing.Optional[str]` — user_id of for whom the ticket should be created. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+ +
-
-
-**client_id:** `typing.Optional[str]` — ID of the client (application). If provided for tenants using the New Universal Login experience, the email template and UI displays application details, and the user is prompted to redirect to the application's default login route after the ticket is used. client_id is required to use the Password Reset Post Challenge trigger. -
+
+
client.token_exchange_profiles.delete(...)
-**organization_id:** `typing.Optional[str]` — (Optional) Organization ID – the ID of the Organization. If provided, organization parameters will be made available to the email template and organization branding will be applied to the prompt. In addition, the redirect link in the prompt will include organization_id and organization_name query string parameters. - -
-
+#### 📝 Description
-**connection_id:** `typing.Optional[str]` — ID of the connection. If provided, allows the user to be specified using email instead of user_id. If you set this value, you must also send the email parameter. You cannot send user_id when specifying a connection_id. - -
-
-
-**email:** `typing.Optional[str]` — Email address of the user for whom the tickets should be created. Requires the connection_id parameter. Cannot be specified when using user_id. - +Delete a Token Exchange Profile within your tenant. + +By using this feature, you agree to the applicable Free Trial terms in [Okta's Master Subscription Agreement](https://www.okta.com/legal/). It is your responsibility to securely validate the user's subject_token. See [User Guide](https://auth0.com/docs/authenticate/custom-token-exchange) for more details. +
+
+#### 🔌 Usage +
-**ttl_sec:** `typing.Optional[int]` — Number of seconds for which the ticket is valid before expiration. If unspecified or set to 0, this value defaults to 432000 seconds (5 days). - -
-
-
-**mark_email_as_verified:** `typing.Optional[bool]` — Whether to set the email_verified attribute to true (true) or whether it should not be updated (false). - +```python +from auth0.management import Auth0 +from auth0.management.environment import Auth0Environment + +client = Auth0( + token="", + environment=Auth0Environment.DEFAULT, +) + +client.token_exchange_profiles.delete( + id="id", +) + +```
+ + + +#### ⚙️ Parameters
-**include_email_in_redirect:** `typing.Optional[bool]` — Whether to include the email address as part of the returnUrl in the reset_email (true), or not (false). - -
-
-
-**identity:** `typing.Optional[ChangePasswordTicketIdentity]` +**id:** `str` — ID of the Token Exchange Profile to delete.
@@ -15944,8 +16141,7 @@ client.tickets.change_password()
-## TokenExchangeProfiles -
client.token_exchange_profiles.list(...) -> ListTokenExchangeProfileResponseContent +
client.token_exchange_profiles.update(...)
@@ -15957,16 +16153,9 @@ client.tickets.change_password()
-Retrieve a list of all Token Exchange Profiles available in your tenant. - -By using this feature, you agree to the applicable Free Trial terms in [Okta’s Master Subscription Agreement](https://www.okta.com/legal/). It is your responsibility to securely validate the user’s subject_token. See [User Guide](https://auth0.com/docs/authenticate/custom-token-exchange) for more details. - -This endpoint supports Checkpoint pagination. To search by checkpoint, use the following parameters: - -- `from`: Optional id from which to start selection. -- `take`: The total amount of entries to retrieve when using the from parameter. Defaults to 50. +Update a Token Exchange Profile within your tenant. -**Note**: The first time you call this endpoint using checkpoint pagination, omit the `from` parameter. If there are more results, a `next` value is included in the response. You can use this for subsequent API calls. When `next` is no longer included in the response, no pages are remaining. +By using this feature, you agree to the applicable Free Trial terms in [Okta's Master Subscription Agreement](https://www.okta.com/legal/). It is your responsibility to securely validate the user's subject_token. See [User Guide](https://auth0.com/docs/authenticate/custom-token-exchange) for more details.
@@ -15989,9 +16178,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.token_exchange_profiles.list( - from_="from", - take=1, +client.token_exchange_profiles.update( + id="id", ) ``` @@ -16008,7 +16196,7 @@ client.token_exchange_profiles.list(
-**from:** `typing.Optional[str]` — Optional Id from which to start selection. +**id:** `str` — ID of the Token Exchange Profile to update.
@@ -16016,7 +16204,15 @@ client.token_exchange_profiles.list(
-**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50. +**name:** `typing.Optional[str]` — Friendly name of this profile. + +
+
+ +
+
+ +**subject_token_type:** `typing.Optional[str]` — Subject token type for this profile. When receiving a token exchange request on the Authentication API, the corresponding token exchange profile with a matching subject_token_type will be executed. This must be a URI.
@@ -16036,7 +16232,8 @@ client.token_exchange_profiles.list(
-
client.token_exchange_profiles.create(...) -> CreateTokenExchangeProfileResponseContent +## UserAttributeProfiles +
client.user_attribute_profiles.list(...) -> ListUserAttributeProfilesPaginatedResponseContent
@@ -16048,9 +16245,7 @@ client.token_exchange_profiles.list(
-Create a new Token Exchange Profile within your tenant. - -By using this feature, you agree to the applicable Free Trial terms in [Okta’s Master Subscription Agreement](https://www.okta.com/legal/). It is your responsibility to securely validate the user’s subject_token. See [User Guide](https://auth0.com/docs/authenticate/custom-token-exchange) for more details. +Retrieve a list of User Attribute Profiles. This endpoint supports Checkpoint pagination.
@@ -16073,11 +16268,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.token_exchange_profiles.create( - name="name", - subject_token_type="subject_token_type", - action_id="action_id", - type="custom_authentication", +client.user_attribute_profiles.list( + from_="from", + take=1, ) ``` @@ -16094,7 +16287,7 @@ client.token_exchange_profiles.create(
-**name:** `str` — Friendly name of this profile. +**from:** `typing.Optional[str]` — Optional Id from which to start selection.
@@ -16102,7 +16295,7 @@ client.token_exchange_profiles.create(
-**subject_token_type:** `str` — Subject token type for this profile. When receiving a token exchange request on the Authentication API, the corresponding token exchange profile with a matching subject_token_type will be executed. This must be a URI. +**take:** `typing.Optional[int]` — Number of results per page. Defaults to 5.
@@ -16110,23 +16303,7 @@ client.token_exchange_profiles.create(
-**action_id:** `str` — The ID of the Custom Token Exchange action to execute for this profile, in order to validate the subject_token. The action must use the custom-token-exchange trigger. - -
-
- -
-
- -**type:** `TokenExchangeProfileTypeEnum` - -
-
- -
-
- -**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -16138,7 +16315,7 @@ client.token_exchange_profiles.create(
-
client.token_exchange_profiles.get(...) -> GetTokenExchangeProfileResponseContent +
client.user_attribute_profiles.create(...) -> CreateUserAttributeProfileResponseContent
@@ -16150,9 +16327,7 @@ client.token_exchange_profiles.create(
-Retrieve details about a single Token Exchange Profile specified by ID. - -By using this feature, you agree to the applicable Free Trial terms in [Okta’s Master Subscription Agreement](https://www.okta.com/legal/). It is your responsibility to securely validate the user’s subject_token. See [User Guide](https://auth0.com/docs/authenticate/custom-token-exchange) for more details. +Create a User Attribute Profile.
@@ -16167,7 +16342,7 @@ By using this feature, you agree to the applicable Free Trial terms in [Okta’s
```python -from auth0.management import Auth0 +from auth0.management import Auth0, UserAttributeProfileUserAttributeAdditionalProperties from auth0.management.environment import Auth0Environment client = Auth0( @@ -16175,8 +16350,16 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.token_exchange_profiles.get( - id="id", +client.user_attribute_profiles.create( + name="name", + user_attributes={ + "key": UserAttributeProfileUserAttributeAdditionalProperties( + description="description", + label="label", + profile_required=True, + auth_0_mapping="auth0_mapping", + ) + }, ) ``` @@ -16193,7 +16376,23 @@ client.token_exchange_profiles.get(
-**id:** `str` — ID of the Token Exchange Profile to retrieve. +**name:** `UserAttributeProfileName` + +
+
+ +
+
+ +**user_attributes:** `UserAttributeProfileUserAttributes` + +
+
+ +
+
+ +**user_id:** `typing.Optional[UserAttributeProfileUserId]`
@@ -16213,7 +16412,7 @@ client.token_exchange_profiles.get(
-
client.token_exchange_profiles.delete(...) +
client.user_attribute_profiles.list_templates() -> ListUserAttributeProfileTemplateResponseContent
@@ -16225,9 +16424,7 @@ client.token_exchange_profiles.get(
-Delete a Token Exchange Profile within your tenant. - -By using this feature, you agree to the applicable Free Trial terms in [Okta's Master Subscription Agreement](https://www.okta.com/legal/). It is your responsibility to securely validate the user's subject_token. See [User Guide](https://auth0.com/docs/authenticate/custom-token-exchange) for more details. +Retrieve a list of User Attribute Profile Templates.
@@ -16250,9 +16447,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.token_exchange_profiles.delete( - id="id", -) +client.user_attribute_profiles.list_templates() ``` @@ -16268,14 +16463,6 @@ client.token_exchange_profiles.delete(
-**id:** `str` — ID of the Token Exchange Profile to delete. - -
-
- -
-
- **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -16288,7 +16475,7 @@ client.token_exchange_profiles.delete(
-
client.token_exchange_profiles.update(...) +
client.user_attribute_profiles.get_template(...) -> GetUserAttributeProfileTemplateResponseContent
@@ -16300,9 +16487,7 @@ client.token_exchange_profiles.delete(
-Update a Token Exchange Profile within your tenant. - -By using this feature, you agree to the applicable Free Trial terms in [Okta's Master Subscription Agreement](https://www.okta.com/legal/). It is your responsibility to securely validate the user's subject_token. See [User Guide](https://auth0.com/docs/authenticate/custom-token-exchange) for more details. +Retrieve a User Attribute Profile Template.
@@ -16325,7 +16510,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.token_exchange_profiles.update( +client.user_attribute_profiles.get_template( id="id", ) @@ -16343,23 +16528,7 @@ client.token_exchange_profiles.update(
-**id:** `str` — ID of the Token Exchange Profile to update. - -
-
- -
-
- -**name:** `typing.Optional[str]` — Friendly name of this profile. - -
-
- -
-
- -**subject_token_type:** `typing.Optional[str]` — Subject token type for this profile. When receiving a token exchange request on the Authentication API, the corresponding token exchange profile with a matching subject_token_type will be executed. This must be a URI. +**id:** `str` — ID of the user-attribute-profile-template to retrieve.
@@ -16379,8 +16548,7 @@ client.token_exchange_profiles.update(
-## UserAttributeProfiles -
client.user_attribute_profiles.list(...) -> ListUserAttributeProfilesPaginatedResponseContent +
client.user_attribute_profiles.get(...) -> GetUserAttributeProfileResponseContent
@@ -16392,7 +16560,7 @@ client.token_exchange_profiles.update(
-Retrieve a list of User Attribute Profiles. This endpoint supports Checkpoint pagination. +Retrieve details about a single User Attribute Profile specified by ID.
@@ -16415,9 +16583,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.user_attribute_profiles.list( - from_="from", - take=1, +client.user_attribute_profiles.get( + id="id", ) ``` @@ -16434,15 +16601,7 @@ client.user_attribute_profiles.list(
-**from:** `typing.Optional[str]` — Optional Id from which to start selection. - -
-
- -
-
- -**take:** `typing.Optional[int]` — Number of results per page. Defaults to 5. +**id:** `str` — ID of the user-attribute-profile to retrieve.
@@ -16462,7 +16621,7 @@ client.user_attribute_profiles.list(
-
client.user_attribute_profiles.create(...) -> CreateUserAttributeProfileResponseContent +
client.user_attribute_profiles.delete(...)
@@ -16474,7 +16633,7 @@ client.user_attribute_profiles.list(
-Create a User Attribute Profile. +Delete a single User Attribute Profile specified by ID.
@@ -16489,7 +16648,7 @@ Create a User Attribute Profile.
```python -from auth0.management import Auth0, UserAttributeProfileUserAttributeAdditionalProperties +from auth0.management import Auth0 from auth0.management.environment import Auth0Environment client = Auth0( @@ -16497,16 +16656,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.user_attribute_profiles.create( - name="name", - user_attributes={ - "key": UserAttributeProfileUserAttributeAdditionalProperties( - description="description", - label="label", - profile_required=True, - auth_0_mapping="auth0_mapping", - ) - }, +client.user_attribute_profiles.delete( + id="id", ) ``` @@ -16523,23 +16674,7 @@ client.user_attribute_profiles.create(
-**name:** `UserAttributeProfileName` - -
-
- -
-
- -**user_attributes:** `UserAttributeProfileUserAttributes` - -
-
- -
-
- -**user_id:** `typing.Optional[UserAttributeProfileUserId]` +**id:** `str` — ID of the user-attribute-profile to delete.
@@ -16559,7 +16694,7 @@ client.user_attribute_profiles.create(
-
client.user_attribute_profiles.list_templates() -> ListUserAttributeProfileTemplateResponseContent +
client.user_attribute_profiles.update(...) -> UpdateUserAttributeProfileResponseContent
@@ -16571,7 +16706,7 @@ client.user_attribute_profiles.create(
-Retrieve a list of User Attribute Profile Templates. +Update the details of a specific User attribute profile, such as name, user_id and user_attributes.
@@ -16594,7 +16729,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.user_attribute_profiles.list_templates() +client.user_attribute_profiles.update( + id="id", +) ``` @@ -16610,6 +16747,38 @@ client.user_attribute_profiles.list_templates()
+**id:** `str` — ID of the user attribute profile to update. + +
+
+ +
+
+ +**name:** `typing.Optional[UserAttributeProfileName]` + +
+
+ +
+
+ +**user_id:** `typing.Optional[UserAttributeProfilePatchUserId]` + +
+
+ +
+
+ +**user_attributes:** `typing.Optional[UserAttributeProfileUserAttributes]` + +
+
+ +
+
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -16622,7 +16791,8 @@ client.user_attribute_profiles.list_templates()
-
client.user_attribute_profiles.get_template(...) -> GetUserAttributeProfileTemplateResponseContent +## UserBlocks +
client.user_blocks.list_by_identifier(...) -> ListUserBlocksByIdentifierResponseContent
@@ -16634,7 +16804,7 @@ client.user_attribute_profiles.list_templates()
-Retrieve a User Attribute Profile Template. +Retrieve details of all [Brute-force Protection](https://auth0.com/docs/secure/attack-protection/brute-force-protection) blocks for a user with the given identifier (username, phone number, or email).
@@ -16657,8 +16827,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.user_attribute_profiles.get_template( - id="id", +client.user_blocks.list_by_identifier( + identifier="identifier", + consider_brute_force_enablement=True, ) ``` @@ -16675,7 +16846,20 @@ client.user_attribute_profiles.get_template(
-**id:** `str` — ID of the user-attribute-profile-template to retrieve. +**identifier:** `str` — Should be any of a username, phone number, or email. + +
+
+ +
+
+ +**consider_brute_force_enablement:** `typing.Optional[bool]` + + + If true and Brute Force Protection is enabled and configured to block logins, will return a list of blocked IP addresses. + If true and Brute Force Protection is disabled, will return an empty list. +
@@ -16695,7 +16879,7 @@ client.user_attribute_profiles.get_template(
-
client.user_attribute_profiles.get(...) -> GetUserAttributeProfileResponseContent +
client.user_blocks.delete_by_identifier(...)
@@ -16707,7 +16891,9 @@ client.user_attribute_profiles.get_template(
-Retrieve details about a single User Attribute Profile specified by ID. +Remove all [Brute-force Protection](https://auth0.com/docs/secure/attack-protection/brute-force-protection) blocks for the user with the given identifier (username, phone number, or email). + +Note: This endpoint does not unblock users that were [blocked by a tenant administrator](https://auth0.com/docs/user-profile#block-and-unblock-a-user).
@@ -16730,8 +16916,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.user_attribute_profiles.get( - id="id", +client.user_blocks.delete_by_identifier( + identifier="identifier", ) ``` @@ -16748,7 +16934,7 @@ client.user_attribute_profiles.get(
-**id:** `str` — ID of the user-attribute-profile to retrieve. +**identifier:** `str` — Should be any of a username, phone number, or email.
@@ -16768,7 +16954,7 @@ client.user_attribute_profiles.get(
-
client.user_attribute_profiles.delete(...) +
client.user_blocks.list(...) -> ListUserBlocksResponseContent
@@ -16780,7 +16966,7 @@ client.user_attribute_profiles.get(
-Delete a single User Attribute Profile specified by ID. +Retrieve details of all [Brute-force Protection](https://auth0.com/docs/secure/attack-protection/brute-force-protection) blocks for the user with the given ID.
@@ -16803,8 +16989,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.user_attribute_profiles.delete( +client.user_blocks.list( id="id", + consider_brute_force_enablement=True, ) ``` @@ -16821,7 +17008,20 @@ client.user_attribute_profiles.delete(
-**id:** `str` — ID of the user-attribute-profile to delete. +**id:** `str` — user_id of the user blocks to retrieve. + +
+
+ +
+
+ +**consider_brute_force_enablement:** `typing.Optional[bool]` + + + If true and Brute Force Protection is enabled and configured to block logins, will return a list of blocked IP addresses. + If true and Brute Force Protection is disabled, will return an empty list. +
@@ -16841,354 +17041,7 @@ client.user_attribute_profiles.delete(
-
client.user_attribute_profiles.update(...) -> UpdateUserAttributeProfileResponseContent -
-
- -#### 📝 Description - -
-
- -
-
- -Update the details of a specific User attribute profile, such as name, user_id and user_attributes. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```python -from auth0.management import Auth0 -from auth0.management.environment import Auth0Environment - -client = Auth0( - token="", - environment=Auth0Environment.DEFAULT, -) - -client.user_attribute_profiles.update( - id="id", -) - -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `str` — ID of the user attribute profile to update. - -
-
- -
-
- -**name:** `typing.Optional[UserAttributeProfileName]` - -
-
- -
-
- -**user_id:** `typing.Optional[UserAttributeProfilePatchUserId]` - -
-
- -
-
- -**user_attributes:** `typing.Optional[UserAttributeProfileUserAttributes]` - -
-
- -
-
- -**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. - -
-
-
-
- - -
-
-
- -## UserBlocks -
client.user_blocks.list_by_identifier(...) -> ListUserBlocksByIdentifierResponseContent -
-
- -#### 📝 Description - -
-
- -
-
- -Retrieve details of all [Brute-force Protection](https://auth0.com/docs/secure/attack-protection/brute-force-protection) blocks for a user with the given identifier (username, phone number, or email). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```python -from auth0.management import Auth0 -from auth0.management.environment import Auth0Environment - -client = Auth0( - token="", - environment=Auth0Environment.DEFAULT, -) - -client.user_blocks.list_by_identifier( - identifier="identifier", - consider_brute_force_enablement=True, -) - -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**identifier:** `str` — Should be any of a username, phone number, or email. - -
-
- -
-
- -**consider_brute_force_enablement:** `typing.Optional[bool]` - - - If true and Brute Force Protection is enabled and configured to block logins, will return a list of blocked IP addresses. - If true and Brute Force Protection is disabled, will return an empty list. - - -
-
- -
-
- -**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. - -
-
-
-
- - -
-
-
- -
client.user_blocks.delete_by_identifier(...) -
-
- -#### 📝 Description - -
-
- -
-
- -Remove all [Brute-force Protection](https://auth0.com/docs/secure/attack-protection/brute-force-protection) blocks for the user with the given identifier (username, phone number, or email). - -Note: This endpoint does not unblock users that were [blocked by a tenant administrator](https://auth0.com/docs/user-profile#block-and-unblock-a-user). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```python -from auth0.management import Auth0 -from auth0.management.environment import Auth0Environment - -client = Auth0( - token="", - environment=Auth0Environment.DEFAULT, -) - -client.user_blocks.delete_by_identifier( - identifier="identifier", -) - -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**identifier:** `str` — Should be any of a username, phone number, or email. - -
-
- -
-
- -**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. - -
-
-
-
- - -
-
-
- -
client.user_blocks.list(...) -> ListUserBlocksResponseContent -
-
- -#### 📝 Description - -
-
- -
-
- -Retrieve details of all [Brute-force Protection](https://auth0.com/docs/secure/attack-protection/brute-force-protection) blocks for the user with the given ID. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```python -from auth0.management import Auth0 -from auth0.management.environment import Auth0Environment - -client = Auth0( - token="", - environment=Auth0Environment.DEFAULT, -) - -client.user_blocks.list( - id="id", - consider_brute_force_enablement=True, -) - -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `str` — user_id of the user blocks to retrieve. - -
-
- -
-
- -**consider_brute_force_enablement:** `typing.Optional[bool]` - - - If true and Brute Force Protection is enabled and configured to block logins, will return a list of blocked IP addresses. - If true and Brute Force Protection is disabled, will return an empty list. - - -
-
- -
-
- -**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. - -
-
-
-
- - -
-
-
- -
client.user_blocks.delete(...) +
client.user_blocks.delete(...)
@@ -21675,7 +21528,222 @@ client.branding.themes.update(
-**theme_id:** `str` — The ID of the theme +**theme_id:** `str` — The ID of the theme + +
+
+ +
+
+ +**borders:** `BrandingThemeBorders` + +
+
+ +
+
+ +**colors:** `BrandingThemeColors` + +
+
+ +
+
+ +**fonts:** `BrandingThemeFonts` + +
+
+ +
+
+ +**page_background:** `BrandingThemePageBackground` + +
+
+ +
+
+ +**widget:** `BrandingThemeWidget` + +
+
+ +
+
+ +**display_name:** `typing.Optional[str]` — Display Name + +
+
+ +
+
+ +**identifiers:** `typing.Optional[BrandingThemeIdentifiers]` + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + + + +
+ +## Branding Phone Providers +
client.branding.phone.providers.list(...) -> ListBrandingPhoneProvidersResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a list of [phone providers](https://auth0.com/docs/customize/phone-messages/configure-phone-messaging-providers) details set for a Tenant. A list of fields to include or exclude may also be specified. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from auth0.management import Auth0 +from auth0.management.environment import Auth0Environment + +client = Auth0( + token="", + environment=Auth0Environment.DEFAULT, +) + +client.branding.phone.providers.list( + disabled=True, +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**disabled:** `typing.Optional[bool]` — Whether the provider is enabled (false) or disabled (true). + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.branding.phone.providers.create(...) -> CreateBrandingPhoneProviderResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a [phone provider](https://auth0.com/docs/customize/phone-messages/configure-phone-messaging-providers). +The `credentials` object requires different properties depending on the phone provider (which is specified using the `name` property). +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from auth0.management import Auth0, TwilioProviderCredentials +from auth0.management.environment import Auth0Environment + +client = Auth0( + token="", + environment=Auth0Environment.DEFAULT, +) + +client.branding.phone.providers.create( + name="twilio", + credentials=TwilioProviderCredentials( + auth_token="auth_token", + ), +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `PhoneProviderNameEnum` + +
+
+ +
+
+ +**credentials:** `PhoneProviderCredentials`
@@ -21683,7 +21751,7 @@ client.branding.themes.update(
-**borders:** `BrandingThemeBorders` +**disabled:** `typing.Optional[bool]` — Whether the provider is enabled (false) or disabled (true).
@@ -21691,7 +21759,7 @@ client.branding.themes.update(
-**colors:** `BrandingThemeColors` +**configuration:** `typing.Optional[PhoneProviderConfiguration]`
@@ -21699,39 +21767,72 @@ client.branding.themes.update(
-**fonts:** `BrandingThemeFonts` +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
-
-
-**page_background:** `BrandingThemePageBackground` -
+
+
client.branding.phone.providers.get(...) -> GetBrandingPhoneProviderResponseContent
-**widget:** `BrandingThemeWidget` - +#### 📝 Description + +
+
+ +
+
+ +Retrieve [phone provider](https://auth0.com/docs/customize/phone-messages/configure-phone-messaging-providers) details. A list of fields to include or exclude may also be specified.
+
+
+ +#### 🔌 Usage
-**display_name:** `typing.Optional[str]` — Display Name - +
+
+ +```python +from auth0.management import Auth0 +from auth0.management.environment import Auth0Environment + +client = Auth0( + token="", + environment=Auth0Environment.DEFAULT, +) + +client.branding.phone.providers.get( + id="id", +) + +``` +
+
+#### ⚙️ Parameters +
-**identifiers:** `typing.Optional[BrandingThemeIdentifiers]` +
+
+ +**id:** `str`
@@ -21751,8 +21852,7 @@ client.branding.themes.update(
-## Branding Phone Providers -
client.branding.phone.providers.list(...) -> ListBrandingPhoneProvidersResponseContent +
client.branding.phone.providers.delete(...)
@@ -21764,7 +21864,7 @@ client.branding.themes.update(
-Retrieve a list of [phone providers](https://auth0.com/docs/customize/phone-messages/configure-phone-messaging-providers) details set for a Tenant. A list of fields to include or exclude may also be specified. +Delete the configured phone provider.
@@ -21787,8 +21887,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.branding.phone.providers.list( - disabled=True, +client.branding.phone.providers.delete( + id="id", ) ``` @@ -21805,7 +21905,7 @@ client.branding.phone.providers.list(
-**disabled:** `typing.Optional[bool]` — Whether the provider is enabled (false) or disabled (true). +**id:** `str`
@@ -21825,7 +21925,7 @@ client.branding.phone.providers.list(
-
client.branding.phone.providers.create(...) -> CreateBrandingPhoneProviderResponseContent +
client.branding.phone.providers.update(...) -> UpdateBrandingPhoneProviderResponseContent
@@ -21837,7 +21937,7 @@ client.branding.phone.providers.list(
-Create a [phone provider](https://auth0.com/docs/customize/phone-messages/configure-phone-messaging-providers). +Update a [phone provider](https://auth0.com/docs/customize/phone-messages/configure-phone-messaging-providers). The `credentials` object requires different properties depending on the phone provider (which is specified using the `name` property).
@@ -21853,7 +21953,7 @@ The `credentials` object requires different properties depending on the phone pr
```python -from auth0.management import Auth0, TwilioProviderCredentials +from auth0.management import Auth0 from auth0.management.environment import Auth0Environment client = Auth0( @@ -21861,11 +21961,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.branding.phone.providers.create( - name="twilio", - credentials=TwilioProviderCredentials( - auth_token="auth_token", - ), +client.branding.phone.providers.update( + id="id", ) ``` @@ -21882,7 +21979,7 @@ client.branding.phone.providers.create(
-**name:** `PhoneProviderNameEnum` +**id:** `str`
@@ -21890,7 +21987,7 @@ client.branding.phone.providers.create(
-**credentials:** `PhoneProviderCredentials` +**name:** `typing.Optional[PhoneProviderNameEnum]`
@@ -21906,6 +22003,14 @@ client.branding.phone.providers.create(
+**credentials:** `typing.Optional[PhoneProviderCredentials]` + +
+
+ +
+
+ **configuration:** `typing.Optional[PhoneProviderConfiguration]`
@@ -21926,24 +22031,10 @@ client.branding.phone.providers.create(
-
client.branding.phone.providers.get(...) -> GetBrandingPhoneProviderResponseContent -
-
- -#### 📝 Description - -
-
- +
client.branding.phone.providers.test(...) -> CreatePhoneProviderSendTestResponseContent
-Retrieve [phone provider](https://auth0.com/docs/customize/phone-messages/configure-phone-messaging-providers) details. A list of fields to include or exclude may also be specified. -
-
-
-
- #### 🔌 Usage
@@ -21961,8 +22052,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.branding.phone.providers.get( +client.branding.phone.providers.test( id="id", + to="to", ) ``` @@ -21987,36 +22079,39 @@ client.branding.phone.providers.get(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**to:** `str` — The recipient phone number to receive a given notification.
-
-
- - - - -
-
client.branding.phone.providers.delete(...)
-#### 📝 Description - -
-
+**delivery_method:** `typing.Optional[PhoneProviderDeliveryMethodEnum]` + +
+
-Delete the configured phone provider. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +
+ + + +
+ +## Branding Phone Templates +
client.branding.phone.templates.list(...) -> ListPhoneTemplatesResponseContent +
+
+ #### 🔌 Usage
@@ -22034,8 +22129,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.branding.phone.providers.delete( - id="id", +client.branding.phone.templates.list( + disabled=True, ) ``` @@ -22052,7 +22147,7 @@ client.branding.phone.providers.delete(
-**id:** `str` +**disabled:** `typing.Optional[bool]` — Whether the template is enabled (false) or disabled (true).
@@ -22072,11 +22167,11 @@ client.branding.phone.providers.delete(
-
client.branding.phone.providers.update(...) -> UpdateBrandingPhoneProviderResponseContent +
client.branding.phone.templates.create(...) -> CreatePhoneTemplateResponseContent
-#### 📝 Description +#### 🔌 Usage
@@ -22084,12 +22179,70 @@ client.branding.phone.providers.delete(
-Update a [phone provider](https://auth0.com/docs/customize/phone-messages/configure-phone-messaging-providers). -The `credentials` object requires different properties depending on the phone provider (which is specified using the `name` property). +```python +from auth0.management import Auth0 +from auth0.management.environment import Auth0Environment + +client = Auth0( + token="", + environment=Auth0Environment.DEFAULT, +) + +client.branding.phone.templates.create() + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**type:** `typing.Optional[PhoneTemplateNotificationTypeEnum]` + +
+
+ +
+
+ +**disabled:** `typing.Optional[bool]` — Whether the template is enabled (false) or disabled (true). + +
+
+ +
+
+ +**content:** `typing.Optional[PhoneTemplateContent]` + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+ +
+
+ +
client.branding.phone.templates.get(...) -> GetPhoneTemplateResponseContent +
+
#### 🔌 Usage @@ -22108,7 +22261,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.branding.phone.providers.update( +client.branding.phone.templates.get( id="id", ) @@ -22134,31 +22287,58 @@ client.branding.phone.providers.update(
-**name:** `typing.Optional[PhoneProviderNameEnum]` +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+ + + +
+ +
client.branding.phone.templates.delete(...)
-**disabled:** `typing.Optional[bool]` — Whether the provider is enabled (false) or disabled (true). - +#### 🔌 Usage + +
+
+ +
+
+ +```python +from auth0.management import Auth0 +from auth0.management.environment import Auth0Environment + +client = Auth0( + token="", + environment=Auth0Environment.DEFAULT, +) + +client.branding.phone.templates.delete( + id="id", +) + +``` +
+
+#### ⚙️ Parameters +
-**credentials:** `typing.Optional[PhoneProviderCredentials]` - -
-
-
-**configuration:** `typing.Optional[PhoneProviderConfiguration]` +**id:** `str`
@@ -22178,7 +22358,7 @@ client.branding.phone.providers.update(
-
client.branding.phone.providers.test(...) -> CreatePhoneProviderSendTestResponseContent +
client.branding.phone.templates.update(...) -> UpdatePhoneTemplateResponseContent
@@ -22199,9 +22379,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.branding.phone.providers.test( +client.branding.phone.templates.update( id="id", - to="to", ) ``` @@ -22226,7 +22405,7 @@ client.branding.phone.providers.test(
-**to:** `str` — The recipient phone number to receive a given notification. +**content:** `typing.Optional[PartialPhoneTemplateContent]`
@@ -22234,7 +22413,7 @@ client.branding.phone.providers.test(
-**delivery_method:** `typing.Optional[PhoneProviderDeliveryMethodEnum]` +**disabled:** `typing.Optional[bool]` — Whether the template is enabled (false) or disabled (true).
@@ -22254,8 +22433,7 @@ client.branding.phone.providers.test(
-## Branding Phone Templates -
client.branding.phone.templates.list(...) -> ListPhoneTemplatesResponseContent +
client.branding.phone.templates.reset(...) -> ResetPhoneTemplateResponseContent
@@ -22276,8 +22454,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.branding.phone.templates.list( - disabled=True, +client.branding.phone.templates.reset( + id="id", + request={"key": "value"}, ) ``` @@ -22294,7 +22473,15 @@ client.branding.phone.templates.list(
-**disabled:** `typing.Optional[bool]` — Whether the template is enabled (false) or disabled (true). +**id:** `str` + +
+
+ +
+
+ +**request:** `ResetPhoneTemplateRequestContent`
@@ -22314,7 +22501,7 @@ client.branding.phone.templates.list(
-
client.branding.phone.templates.create(...) -> CreatePhoneTemplateResponseContent +
client.branding.phone.templates.test(...) -> CreatePhoneTemplateTestNotificationResponseContent
@@ -22335,7 +22522,10 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.branding.phone.templates.create() +client.branding.phone.templates.test( + id="id", + to="to", +) ```
@@ -22351,7 +22541,7 @@ client.branding.phone.templates.create()
-**type:** `typing.Optional[PhoneTemplateNotificationTypeEnum]` +**id:** `str`
@@ -22359,7 +22549,7 @@ client.branding.phone.templates.create()
-**disabled:** `typing.Optional[bool]` — Whether the template is enabled (false) or disabled (true). +**to:** `str` — Destination of the testing phone notification
@@ -22367,7 +22557,7 @@ client.branding.phone.templates.create()
-**content:** `typing.Optional[PhoneTemplateContent]` +**delivery_method:** `typing.Optional[PhoneProviderDeliveryMethodEnum]` — Medium to use to send the notification
@@ -22387,7 +22577,8 @@ client.branding.phone.templates.create()
-
client.branding.phone.templates.get(...) -> GetPhoneTemplateResponseContent +## ClientGrants Organizations +
client.client_grants.organizations.list(...) -> ListClientGrantOrganizationsPaginatedResponseContent
@@ -22408,8 +22599,11 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.branding.phone.templates.get( +client.client_grants.organizations.list( id="id", + include_totals=True, + from_="from", + take=1, ) ``` @@ -22426,7 +22620,31 @@ client.branding.phone.templates.get(
-**id:** `str` +**id:** `str` — ID of the client grant + +
+
+ +
+
+ +**include_totals:** `typing.Optional[bool]` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**from:** `typing.Optional[str]` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50.
@@ -22446,10 +22664,27 @@ client.branding.phone.templates.get(
-
client.branding.phone.templates.delete(...) +## Clients Credentials +
client.clients.credentials.list(...) -> typing.List[ClientCredential] +
+
+ +#### 📝 Description + +
+
+
+Get the details of a client credential. + +**Important**: To enable credentials to be used for a client authentication method, set the `client_authentication_methods` property on the client. To enable credentials to be used for JWT-Secured Authorization requests set the `signed_request_object` property on the client. +
+
+
+
+ #### 🔌 Usage
@@ -22467,8 +22702,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.branding.phone.templates.delete( - id="id", +client.clients.credentials.list( + client_id="client_id", ) ``` @@ -22485,7 +22720,7 @@ client.branding.phone.templates.delete(
-**id:** `str` +**client_id:** `str` — ID of the client.
@@ -22505,10 +22740,80 @@ client.branding.phone.templates.delete(
-
client.branding.phone.templates.update(...) -> UpdatePhoneTemplateResponseContent +
client.clients.credentials.create(...) -> PostClientCredentialResponseContent +
+
+ +#### 📝 Description + +
+
+
+Create a client credential associated to your application. Credentials can be used to configure Private Key JWT and mTLS authentication methods, as well as for JWT-secured Authorization requests. + +**Public Key** + +Public Key credentials can be used to set up Private Key JWT client authentication and JWT-secured Authorization requests. + +Sample: + +```json +{ + "credential_type": "public_key", + "name": "string", + "pem": "string", + "alg": "RS256", + "parse_expiry_from_cert": false, + "expires_at": "2022-12-31T23:59:59Z" +} +``` + +**Certificate (CA-signed & self-signed)** + +Certificate credentials can be used to set up mTLS client authentication. CA-signed certificates can be configured either with a signed certificate or with just the certificate Subject DN. + +CA-signed Certificate Sample (pem): + +```json +{ + "credential_type": "x509_cert", + "name": "string", + "pem": "string" +} +``` + +CA-signed Certificate Sample (subject_dn): + +```json +{ + "credential_type": "cert_subject_dn", + "name": "string", + "subject_dn": "string" +} +``` + +Self-signed Certificate Sample: + +```json +{ + "credential_type": "cert_subject_dn", + "name": "string", + "pem": "string" +} +``` + +The credential will be created but not yet enabled for use until you set the corresponding properties in the client: + +- To enable the credential for Private Key JWT or mTLS authentication methods, set the `client_authentication_methods` property on the client. For more information, read [Configure Private Key JWT Authentication](https://auth0.com/docs/get-started/applications/configure-private-key-jwt) and [Configure mTLS Authentication](https://auth0.com/docs/get-started/applications/configure-mtls) +- To enable the credential for JWT-secured Authorization requests, set the `signed_request_object`property on the client. For more information, read [Configure JWT-secured Authorization Requests (JAR)](https://auth0.com/docs/get-started/applications/configure-jar) +
+
+
+
+ #### 🔌 Usage
@@ -22526,8 +22831,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.branding.phone.templates.update( - id="id", +client.clients.credentials.create( + client_id="client_id", + credential_type="public_key", ) ``` @@ -22544,7 +22850,7 @@ client.branding.phone.templates.update(
-**id:** `str` +**client_id:** `str` — ID of the client.
@@ -22552,7 +22858,7 @@ client.branding.phone.templates.update(
-**content:** `typing.Optional[PartialPhoneTemplateContent]` +**credential_type:** `ClientCredentialTypeEnum`
@@ -22560,7 +22866,55 @@ client.branding.phone.templates.update(
-**disabled:** `typing.Optional[bool]` — Whether the template is enabled (false) or disabled (true). +**name:** `typing.Optional[str]` — Friendly name for a credential. + +
+
+ +
+
+ +**subject_dn:** `typing.Optional[str]` — Subject Distinguished Name. Mutually exclusive with `pem` property. Applies to `cert_subject_dn` credential type. + +
+
+ +
+
+ +**pem:** `typing.Optional[str]` — PEM-formatted public key (SPKI and PKCS1) or X509 certificate. Must be JSON escaped. + +
+
+ +
+
+ +**alg:** `typing.Optional[PublicKeyCredentialAlgorithmEnum]` + +
+
+ +
+
+ +**parse_expiry_from_cert:** `typing.Optional[bool]` — Parse expiry from x509 certificate. If true, attempts to parse the expiry date from the provided PEM. Applies to `public_key` credential type. + +
+
+ +
+
+ +**expires_at:** `typing.Optional[datetime.datetime]` — The ISO 8601 formatted date representing the expiration of the credential. If not specified (not recommended), the credential never expires. Applies to `public_key` credential type. + +
+
+ +
+
+ +**kid:** `typing.Optional[str]` — Optional kid (Key ID), used to uniquely identify the credential. If not specified, a kid value will be auto-generated. The kid header parameter in JWTs sent by your client should match this value. Valid format is [0-9a-zA-Z-_]{10,64}
@@ -22578,11 +22932,27 @@ client.branding.phone.templates.update(
-
- -
client.branding.phone.templates.reset(...) -> ResetPhoneTemplateResponseContent -
-
+
+ +
client.clients.credentials.get(...) -> GetClientCredentialResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Get the details of a client credential. + +**Important**: To enable credentials to be used for a client authentication method, set the `client_authentication_methods` property on the client. To enable credentials to be used for JWT-Secured Authorization requests set the `signed_request_object` property on the client. +
+
+
+
#### 🔌 Usage @@ -22601,9 +22971,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.branding.phone.templates.reset( - id="id", - request={"key": "value"}, +client.clients.credentials.get( + client_id="client_id", + credential_id="credential_id", ) ``` @@ -22620,7 +22990,7 @@ client.branding.phone.templates.reset(
-**id:** `str` +**client_id:** `str` — ID of the client.
@@ -22628,7 +22998,7 @@ client.branding.phone.templates.reset(
-**request:** `ResetPhoneTemplateRequestContent` +**credential_id:** `str` — ID of the credential.
@@ -22648,10 +23018,24 @@ client.branding.phone.templates.reset(
-
client.branding.phone.templates.test(...) -> CreatePhoneTemplateTestNotificationResponseContent +
client.clients.credentials.delete(...) +
+
+ +#### 📝 Description + +
+
+
+Delete a client credential you previously created. May be enabled or disabled. For more information, read Client Credential Flow. +
+
+
+
+ #### 🔌 Usage
@@ -22669,9 +23053,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.branding.phone.templates.test( - id="id", - to="to", +client.clients.credentials.delete( + client_id="client_id", + credential_id="credential_id", ) ``` @@ -22688,15 +23072,7 @@ client.branding.phone.templates.test(
-**id:** `str` - -
-
- -
-
- -**to:** `str` — Destination of the testing phone notification +**client_id:** `str` — ID of the client.
@@ -22704,7 +23080,7 @@ client.branding.phone.templates.test(
-**delivery_method:** `typing.Optional[PhoneProviderDeliveryMethodEnum]` — Medium to use to send the notification +**credential_id:** `str` — ID of the credential to delete.
@@ -22724,11 +23100,24 @@ client.branding.phone.templates.test(
-## ClientGrants Organizations -
client.client_grants.organizations.list(...) -> ListClientGrantOrganizationsPaginatedResponseContent +
client.clients.credentials.update(...) -> PatchClientCredentialResponseContent +
+
+ +#### 📝 Description + +
+
+
+Change a client credential you previously created. May be enabled or disabled. For more information, read Client Credential Flow. +
+
+
+
+ #### 🔌 Usage
@@ -22746,11 +23135,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.client_grants.organizations.list( - id="id", - include_totals=True, - from_="from", - take=1, +client.clients.credentials.update( + client_id="client_id", + credential_id="credential_id", ) ``` @@ -22767,15 +23154,7 @@ client.client_grants.organizations.list(
-**id:** `str` — ID of the client grant - -
-
- -
-
- -**include_totals:** `typing.Optional[bool]` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). +**client_id:** `str` — ID of the client.
@@ -22783,7 +23162,7 @@ client.client_grants.organizations.list(
-**from:** `typing.Optional[str]` — Optional Id from which to start selection. +**credential_id:** `str` — ID of the credential.
@@ -22791,7 +23170,7 @@ client.client_grants.organizations.list(
-**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50. +**expires_at:** `typing.Optional[datetime.datetime]` — The ISO 8601 formatted date representing the expiration of the credential.
@@ -22811,8 +23190,8 @@ client.client_grants.organizations.list(
-## Clients Credentials -
client.clients.credentials.list(...) -> typing.List[ClientCredential] +## Clients Connections +
client.clients.connections.get(...) -> ListClientConnectionsResponseContent
@@ -22824,9 +23203,10 @@ client.client_grants.organizations.list(
-Get the details of a client credential. +Retrieve all connections that are enabled for the specified [Application](https://www.auth0.com/docs/get-started/applications), using checkpoint pagination. A list of fields to include or exclude for each connection may also be specified. -**Important**: To enable credentials to be used for a client authentication method, set the `client_authentication_methods` property on the client. To enable credentials to be used for JWT-Secured Authorization requests set the `signed_request_object` property on the client. +- This endpoint requires the `read:connections` scope and any one of `read:clients` or `read:client_summary`. +- **Note**: The first time you call this endpoint, omit the `from` parameter. If there are more results, a `next` value is included in the response. You can use this for subsequent API calls. When `next` is no longer included in the response, no further results are remaining.
@@ -22849,8 +23229,15 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.clients.credentials.list( - client_id="client_id", +client.clients.connections.get( + id="id", + strategy=[ + "ad" + ], + from_="from", + take=1, + fields="fields", + include_fields=True, ) ``` @@ -22867,7 +23254,7 @@ client.clients.credentials.list(
-**client_id:** `str` — ID of the client. +**id:** `str` — ID of the client for which to retrieve enabled connections.
@@ -22875,87 +23262,72 @@ client.clients.credentials.list(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**strategy:** `typing.Optional[typing.Union[typing.Optional[ConnectionStrategyEnum], typing.Sequence[typing.Optional[ConnectionStrategyEnum]]]]` — Provide strategies to only retrieve connections with such strategies
- -
+
+
+**from:** `typing.Optional[str]` — Optional Id from which to start selection. +
-
-
client.clients.credentials.create(...) -> PostClientCredentialResponseContent
-#### 📝 Description +**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50. + +
+
+**fields:** `typing.Optional[str]` — A comma separated list of fields to include or exclude (depending on include_fields) from the result, empty to retrieve all fields + +
+
+
-Create a client credential associated to your application. Credentials can be used to configure Private Key JWT and mTLS authentication methods, as well as for JWT-secured Authorization requests. - -**Public Key** - -Public Key credentials can be used to set up Private Key JWT client authentication and JWT-secured Authorization requests. - -Sample: - -```json -{ - "credential_type": "public_key", - "name": "string", - "pem": "string", - "alg": "RS256", - "parse_expiry_from_cert": false, - "expires_at": "2022-12-31T23:59:59Z" -} -``` - -**Certificate (CA-signed & self-signed)** +**include_fields:** `typing.Optional[bool]` — true if the fields specified are to be included in the result, false otherwise (defaults to true) + +
+
-Certificate credentials can be used to set up mTLS client authentication. CA-signed certificates can be configured either with a signed certificate or with just the certificate Subject DN. +
+
-CA-signed Certificate Sample (pem): +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+ + -```json -{ - "credential_type": "x509_cert", - "name": "string", - "pem": "string" -} -``` -CA-signed Certificate Sample (subject_dn): + + +
-```json -{ - "credential_type": "cert_subject_dn", - "name": "string", - "subject_dn": "string" -} -``` +## Connections DirectoryProvisioning +
client.connections.directory_provisioning.list(...) -> ListDirectoryProvisioningsResponseContent +
+
-Self-signed Certificate Sample: +#### 📝 Description -```json -{ - "credential_type": "cert_subject_dn", - "name": "string", - "pem": "string" -} -``` +
+
-The credential will be created but not yet enabled for use until you set the corresponding properties in the client: +
+
-- To enable the credential for Private Key JWT or mTLS authentication methods, set the `client_authentication_methods` property on the client. For more information, read [Configure Private Key JWT Authentication](https://auth0.com/docs/get-started/applications/configure-private-key-jwt) and [Configure mTLS Authentication](https://auth0.com/docs/get-started/applications/configure-mtls) -- To enable the credential for JWT-secured Authorization requests, set the `signed_request_object`property on the client. For more information, read [Configure JWT-secured Authorization Requests (JAR)](https://auth0.com/docs/get-started/applications/configure-jar) +Retrieve a list of directory provisioning configurations of a tenant.
@@ -22978,9 +23350,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.clients.credentials.create( - client_id="client_id", - credential_type="public_key", +client.connections.directory_provisioning.list( + from_="from", + take=1, ) ``` @@ -22997,7 +23369,7 @@ client.clients.credentials.create(
-**client_id:** `str` — ID of the client. +**from:** `typing.Optional[str]` — Optional Id from which to start selection.
@@ -23005,7 +23377,7 @@ client.clients.credentials.create(
-**credential_type:** `ClientCredentialTypeEnum` +**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50.
@@ -23013,55 +23385,72 @@ client.clients.credentials.create(
-**name:** `typing.Optional[str]` — Friendly name for a credential. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
-
-
-**subject_dn:** `typing.Optional[str]` — Subject Distinguished Name. Mutually exclusive with `pem` property. Applies to `cert_subject_dn` credential type. -
+
+
client.connections.directory_provisioning.get(...) -> GetDirectoryProvisioningResponseContent
-**pem:** `typing.Optional[str]` — PEM-formatted public key (SPKI and PKCS1) or X509 certificate. Must be JSON escaped. - +#### 📝 Description + +
+
+ +
+
+ +Retrieve the directory provisioning configuration of a connection. +
+
+#### 🔌 Usage + +
+
+
-**alg:** `typing.Optional[PublicKeyCredentialAlgorithmEnum]` - +```python +from auth0.management import Auth0 +from auth0.management.environment import Auth0Environment + +client = Auth0( + token="", + environment=Auth0Environment.DEFAULT, +) + +client.connections.directory_provisioning.get( + id="id", +) + +```
- -
-
- -**parse_expiry_from_cert:** `typing.Optional[bool]` — Parse expiry from x509 certificate. If true, attempts to parse the expiry date from the provided PEM. Applies to `public_key` credential type. -
+#### ⚙️ Parameters +
-**expires_at:** `typing.Optional[datetime.datetime]` — The ISO 8601 formatted date representing the expiration of the credential. If not specified (not recommended), the credential never expires. Applies to `public_key` credential type. - -
-
-
-**kid:** `typing.Optional[str]` — Optional kid (Key ID), used to uniquely identify the credential. If not specified, a kid value will be auto-generated. The kid header parameter in JWTs sent by your client should match this value. Valid format is [0-9a-zA-Z-_]{10,64} +**id:** `str` — The id of the connection to retrieve its directory provisioning configuration
@@ -23081,7 +23470,7 @@ client.clients.credentials.create(
-
client.clients.credentials.get(...) -> GetClientCredentialResponseContent +
client.connections.directory_provisioning.create(...) -> CreateDirectoryProvisioningResponseContent
@@ -23093,9 +23482,7 @@ client.clients.credentials.create(
-Get the details of a client credential. - -**Important**: To enable credentials to be used for a client authentication method, set the `client_authentication_methods` property on the client. To enable credentials to be used for JWT-Secured Authorization requests set the `signed_request_object` property on the client. +Create a directory provisioning configuration for a connection.
@@ -23110,7 +23497,7 @@ Get the details of a client credential.
```python -from auth0.management import Auth0 +from auth0.management import Auth0, CreateDirectoryProvisioningRequestContent from auth0.management.environment import Auth0Environment client = Auth0( @@ -23118,9 +23505,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.clients.credentials.get( - client_id="client_id", - credential_id="credential_id", +client.connections.directory_provisioning.create( + id="id", + request=CreateDirectoryProvisioningRequestContent(), ) ``` @@ -23137,7 +23524,7 @@ client.clients.credentials.get(
-**client_id:** `str` — ID of the client. +**id:** `str` — The id of the connection to create its directory provisioning configuration
@@ -23145,7 +23532,7 @@ client.clients.credentials.get(
-**credential_id:** `str` — ID of the credential. +**request:** `typing.Optional[CreateDirectoryProvisioningRequestContent]`
@@ -23165,7 +23552,7 @@ client.clients.credentials.get(
-
client.clients.credentials.delete(...) +
client.connections.directory_provisioning.delete(...)
@@ -23177,7 +23564,7 @@ client.clients.credentials.get(
-Delete a client credential you previously created. May be enabled or disabled. For more information, read Client Credential Flow. +Delete the directory provisioning configuration of a connection.
@@ -23200,9 +23587,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.clients.credentials.delete( - client_id="client_id", - credential_id="credential_id", +client.connections.directory_provisioning.delete( + id="id", ) ``` @@ -23219,15 +23605,7 @@ client.clients.credentials.delete(
-**client_id:** `str` — ID of the client. - -
-
- -
-
- -**credential_id:** `str` — ID of the credential to delete. +**id:** `str` — The id of the connection to delete its directory provisioning configuration
@@ -23247,7 +23625,7 @@ client.clients.credentials.delete(
-
client.clients.credentials.update(...) -> PatchClientCredentialResponseContent +
client.connections.directory_provisioning.update(...) -> UpdateDirectoryProvisioningResponseContent
@@ -23259,7 +23637,7 @@ client.clients.credentials.delete(
-Change a client credential you previously created. May be enabled or disabled. For more information, read Client Credential Flow. +Update the directory provisioning configuration of a connection.
@@ -23274,7 +23652,7 @@ Change a client credential you previously created. May be enabled or disabled. F
```python -from auth0.management import Auth0 +from auth0.management import Auth0, UpdateDirectoryProvisioningRequestContent from auth0.management.environment import Auth0Environment client = Auth0( @@ -23282,9 +23660,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.clients.credentials.update( - client_id="client_id", - credential_id="credential_id", +client.connections.directory_provisioning.update( + id="id", + request=UpdateDirectoryProvisioningRequestContent(), ) ``` @@ -23301,15 +23679,7 @@ client.clients.credentials.update(
-**client_id:** `str` — ID of the client. - -
-
- -
-
- -**credential_id:** `str` — ID of the credential. +**id:** `str` — The id of the connection to create its directory provisioning configuration
@@ -23317,7 +23687,7 @@ client.clients.credentials.update(
-**expires_at:** `typing.Optional[datetime.datetime]` — The ISO 8601 formatted date representing the expiration of the credential. +**request:** `typing.Optional[UpdateDirectoryProvisioningRequestContent]`
@@ -23337,8 +23707,7 @@ client.clients.credentials.update(
-## Clients Connections -
client.clients.connections.get(...) -> ListClientConnectionsResponseContent +
client.connections.directory_provisioning.get_default_mapping(...) -> GetDirectoryProvisioningDefaultMappingResponseContent
@@ -23350,10 +23719,7 @@ client.clients.credentials.update(
-Retrieve all connections that are enabled for the specified [Application](https://www.auth0.com/docs/get-started/applications), using checkpoint pagination. A list of fields to include or exclude for each connection may also be specified. - -- This endpoint requires the `read:connections` scope and any one of `read:clients` or `read:client_summary`. -- **Note**: The first time you call this endpoint, omit the `from` parameter. If there are more results, a `next` value is included in the response. You can use this for subsequent API calls. When `next` is no longer included in the response, no further results are remaining. +Retrieve the directory provisioning default attribute mapping of a connection.
@@ -23376,15 +23742,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.clients.connections.get( +client.connections.directory_provisioning.get_default_mapping( id="id", - strategy=[ - "ad" - ], - from_="from", - take=1, - fields="fields", - include_fields=True, ) ``` @@ -23401,47 +23760,7 @@ client.clients.connections.get(
-**id:** `str` — ID of the client for which to retrieve enabled connections. - -
-
- -
-
- -**strategy:** `typing.Optional[typing.Union[typing.Optional[ConnectionStrategyEnum], typing.Sequence[typing.Optional[ConnectionStrategyEnum]]]]` — Provide strategies to only retrieve connections with such strategies - -
-
- -
-
- -**from:** `typing.Optional[str]` — Optional Id from which to start selection. - -
-
- -
-
- -**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50. - -
-
- -
-
- -**fields:** `typing.Optional[str]` — A comma separated list of fields to include or exclude (depending on include_fields) from the result, empty to retrieve all fields - -
-
- -
-
- -**include_fields:** `typing.Optional[bool]` — true if the fields specified are to be included in the result, false otherwise (defaults to true) +**id:** `str` — The id of the connection to retrieve its directory provisioning configuration
@@ -23461,8 +23780,7 @@ client.clients.connections.get(
-## Connections DirectoryProvisioning -
client.connections.directory_provisioning.list(...) -> ListDirectoryProvisioningsResponseContent +
client.connections.directory_provisioning.list_synchronized_groups(...) -> ListSynchronizedGroupsResponseContent
@@ -23474,7 +23792,7 @@ client.clients.connections.get(
-Retrieve a list of directory provisioning configurations of a tenant. +Retrieve the configured synchronized groups for a connection directory provisioning configuration.
@@ -23497,9 +23815,11 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.directory_provisioning.list( +client.connections.directory_provisioning.list_synchronized_groups( + id="id", from_="from", take=1, + q="q", ) ``` @@ -23516,6 +23836,14 @@ client.connections.directory_provisioning.list(
+**id:** `str` — The id of the connection to list synchronized groups for. + +
+
+ +
+
+ **from:** `typing.Optional[str]` — Optional Id from which to start selection.
@@ -23532,6 +23860,14 @@ client.connections.directory_provisioning.list(
+**q:** `typing.Optional[str]` — Query in Lucene query string syntax. Only prefix search on "name" or "email" fields are allowed, with a single wildcard suffix. Operators, modifiers, and groupings are not allowed. Terms are treated as case-insensitive. Example query: "name:engineering*". + +
+
+ +
+
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -23544,7 +23880,7 @@ client.connections.directory_provisioning.list(
-
client.connections.directory_provisioning.get(...) -> GetDirectoryProvisioningResponseContent +
client.connections.directory_provisioning.add_synchronized_group_selections(...)
@@ -23556,7 +23892,7 @@ client.connections.directory_provisioning.list(
-Retrieve the directory provisioning configuration of a connection. +Add synchronized group selections to a directory provisioning configuration.
@@ -23571,7 +23907,7 @@ Retrieve the directory provisioning configuration of a connection.
```python -from auth0.management import Auth0 +from auth0.management import Auth0, SynchronizedGroupPayload from auth0.management.environment import Auth0Environment client = Auth0( @@ -23579,8 +23915,13 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.directory_provisioning.get( +client.connections.directory_provisioning.add_synchronized_group_selections( id="id", + groups=[ + SynchronizedGroupPayload( + id="id", + ) + ], ) ``` @@ -23597,7 +23938,15 @@ client.connections.directory_provisioning.get(
-**id:** `str` — The id of the connection to retrieve its directory provisioning configuration +**id:** `str` — The id of the connection to add synchronized groups to + +
+
+ +
+
+ +**groups:** `typing.List[SynchronizedGroupPayload]` — Array of Google Workspace Directory group objects to synchronize.
@@ -23617,7 +23966,7 @@ client.connections.directory_provisioning.get(
-
client.connections.directory_provisioning.create(...) -> CreateDirectoryProvisioningResponseContent +
client.connections.directory_provisioning.set(...)
@@ -23629,7 +23978,7 @@ client.connections.directory_provisioning.get(
-Create a directory provisioning configuration for a connection. +Create or replace the selected groups for a connection directory provisioning configuration.
@@ -23644,7 +23993,7 @@ Create a directory provisioning configuration for a connection.
```python -from auth0.management import Auth0, CreateDirectoryProvisioningRequestContent +from auth0.management import Auth0, SynchronizedGroupPayload from auth0.management.environment import Auth0Environment client = Auth0( @@ -23652,9 +24001,13 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.directory_provisioning.create( +client.connections.directory_provisioning.set( id="id", - request=CreateDirectoryProvisioningRequestContent(), + groups=[ + SynchronizedGroupPayload( + id="id", + ) + ], ) ``` @@ -23671,7 +24024,7 @@ client.connections.directory_provisioning.create(
-**id:** `str` — The id of the connection to create its directory provisioning configuration +**id:** `str` — The id of the connection to create or replace synchronized groups for
@@ -23679,7 +24032,7 @@ client.connections.directory_provisioning.create(
-**request:** `typing.Optional[CreateDirectoryProvisioningRequestContent]` +**groups:** `typing.List[SynchronizedGroupPayload]` — Array of Google Workspace Directory group objects to synchronize.
@@ -23699,7 +24052,7 @@ client.connections.directory_provisioning.create(
-
client.connections.directory_provisioning.delete(...) +
client.connections.directory_provisioning.delete_synchronized_group_selections(...)
@@ -23711,7 +24064,7 @@ client.connections.directory_provisioning.create(
-Delete the directory provisioning configuration of a connection. +Delete synchronized group selections for a directory provisioning configuration
@@ -23726,7 +24079,7 @@ Delete the directory provisioning configuration of a connection.
```python -from auth0.management import Auth0 +from auth0.management import Auth0, SynchronizedGroupSelectionId from auth0.management.environment import Auth0Environment client = Auth0( @@ -23734,8 +24087,13 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.directory_provisioning.delete( +client.connections.directory_provisioning.delete_synchronized_group_selections( id="id", + groups=[ + SynchronizedGroupSelectionId( + id="id", + ) + ], ) ``` @@ -23752,7 +24110,15 @@ client.connections.directory_provisioning.delete(
-**id:** `str` — The id of the connection to delete its directory provisioning configuration +**id:** `str` — The id of the connection to delete synchronized group selections for + +
+
+ +
+
+ +**groups:** `typing.List[SynchronizedGroupSelectionId]` — Array of groups to remove from the selection set.
@@ -23772,7 +24138,8 @@ client.connections.directory_provisioning.delete(
-
client.connections.directory_provisioning.update(...) -> UpdateDirectoryProvisioningResponseContent +## Connections ScimConfiguration +
client.connections.scim_configuration.list(...) -> ListScimConfigurationsResponseContent
@@ -23784,7 +24151,7 @@ client.connections.directory_provisioning.delete(
-Update the directory provisioning configuration of a connection. +Retrieve a list of SCIM configurations of a tenant.
@@ -23799,7 +24166,7 @@ Update the directory provisioning configuration of a connection.
```python -from auth0.management import Auth0, UpdateDirectoryProvisioningRequestContent +from auth0.management import Auth0 from auth0.management.environment import Auth0Environment client = Auth0( @@ -23807,9 +24174,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.directory_provisioning.update( - id="id", - request=UpdateDirectoryProvisioningRequestContent(), +client.connections.scim_configuration.list( + from_="from", + take=1, ) ``` @@ -23826,7 +24193,7 @@ client.connections.directory_provisioning.update(
-**id:** `str` — The id of the connection to create its directory provisioning configuration +**from:** `typing.Optional[str]` — Optional Id from which to start selection.
@@ -23834,7 +24201,7 @@ client.connections.directory_provisioning.update(
-**request:** `typing.Optional[UpdateDirectoryProvisioningRequestContent]` +**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50.
@@ -23854,7 +24221,7 @@ client.connections.directory_provisioning.update(
-
client.connections.directory_provisioning.get_default_mapping(...) -> GetDirectoryProvisioningDefaultMappingResponseContent +
client.connections.scim_configuration.get(...) -> GetScimConfigurationResponseContent
@@ -23866,7 +24233,7 @@ client.connections.directory_provisioning.update(
-Retrieve the directory provisioning default attribute mapping of a connection. +Retrieves a scim configuration by its `connectionId`.
@@ -23889,7 +24256,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.directory_provisioning.get_default_mapping( +client.connections.scim_configuration.get( id="id", ) @@ -23907,7 +24274,7 @@ client.connections.directory_provisioning.get_default_mapping(
-**id:** `str` — The id of the connection to retrieve its directory provisioning configuration +**id:** `str` — The id of the connection to retrieve its SCIM configuration
@@ -23927,7 +24294,7 @@ client.connections.directory_provisioning.get_default_mapping(
-
client.connections.directory_provisioning.list_synchronized_groups(...) -> ListSynchronizedGroupsResponseContent +
client.connections.scim_configuration.create(...) -> CreateScimConfigurationResponseContent
@@ -23939,7 +24306,7 @@ client.connections.directory_provisioning.get_default_mapping(
-Retrieve the configured synchronized groups for a connection directory provisioning configuration. +Create a scim configuration for a connection.
@@ -23954,7 +24321,7 @@ Retrieve the configured synchronized groups for a connection directory provision
```python -from auth0.management import Auth0 +from auth0.management import Auth0, CreateScimConfigurationRequestContent from auth0.management.environment import Auth0Environment client = Auth0( @@ -23962,11 +24329,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.directory_provisioning.list_synchronized_groups( +client.connections.scim_configuration.create( id="id", - from_="from", - take=1, - q="q", + request=CreateScimConfigurationRequestContent(), ) ``` @@ -23983,23 +24348,7 @@ client.connections.directory_provisioning.list_synchronized_groups(
-**id:** `str` — The id of the connection to list synchronized groups for. - -
-
- -
-
- -**from:** `typing.Optional[str]` — Optional Id from which to start selection. - -
-
- -
-
- -**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50. +**id:** `str` — The id of the connection to create its SCIM configuration
@@ -24007,7 +24356,7 @@ client.connections.directory_provisioning.list_synchronized_groups(
-**q:** `typing.Optional[str]` — Query in Lucene query string syntax. Only prefix search on "name" or "email" fields are allowed, with a single wildcard suffix. Operators, modifiers, and groupings are not allowed. Terms are treated as case-insensitive. Example query: "name:engineering*". +**request:** `typing.Optional[CreateScimConfigurationRequestContent]`
@@ -24027,7 +24376,7 @@ client.connections.directory_provisioning.list_synchronized_groups(
-
client.connections.directory_provisioning.add_synchronized_group_selections(...) +
client.connections.scim_configuration.delete(...)
@@ -24039,7 +24388,7 @@ client.connections.directory_provisioning.list_synchronized_groups(
-Add synchronized group selections to a directory provisioning configuration. +Deletes a scim configuration by its `connectionId`.
@@ -24054,7 +24403,7 @@ Add synchronized group selections to a directory provisioning configuration.
```python -from auth0.management import Auth0, SynchronizedGroupPayload +from auth0.management import Auth0 from auth0.management.environment import Auth0Environment client = Auth0( @@ -24062,13 +24411,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.directory_provisioning.add_synchronized_group_selections( +client.connections.scim_configuration.delete( id="id", - groups=[ - SynchronizedGroupPayload( - id="id", - ) - ], ) ``` @@ -24085,15 +24429,7 @@ client.connections.directory_provisioning.add_synchronized_group_selections(
-**id:** `str` — The id of the connection to add synchronized groups to - -
-
- -
-
- -**groups:** `typing.List[SynchronizedGroupPayload]` — Array of Google Workspace Directory group objects to synchronize. +**id:** `str` — The id of the connection to delete its SCIM configuration
@@ -24113,7 +24449,7 @@ client.connections.directory_provisioning.add_synchronized_group_selections(
-
client.connections.directory_provisioning.set(...) +
client.connections.scim_configuration.update(...) -> UpdateScimConfigurationResponseContent
@@ -24125,7 +24461,7 @@ client.connections.directory_provisioning.add_synchronized_group_selections(
-Create or replace the selected groups for a connection directory provisioning configuration. +Update a scim configuration by its `connectionId`.
@@ -24140,7 +24476,7 @@ Create or replace the selected groups for a connection directory provisioning co
```python -from auth0.management import Auth0, SynchronizedGroupPayload +from auth0.management import Auth0, ScimMappingItem from auth0.management.environment import Auth0Environment client = Auth0( @@ -24148,12 +24484,11 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.directory_provisioning.set( +client.connections.scim_configuration.update( id="id", - groups=[ - SynchronizedGroupPayload( - id="id", - ) + user_id_attribute="user_id_attribute", + mapping=[ + ScimMappingItem() ], ) @@ -24171,7 +24506,7 @@ client.connections.directory_provisioning.set(
-**id:** `str` — The id of the connection to create or replace synchronized groups for +**id:** `str` — The id of the connection to update its SCIM configuration
@@ -24179,7 +24514,15 @@ client.connections.directory_provisioning.set(
-**groups:** `typing.List[SynchronizedGroupPayload]` — Array of Google Workspace Directory group objects to synchronize. +**user_id_attribute:** `str` — User ID attribute for generating unique user ids + +
+
+ +
+
+ +**mapping:** `typing.List[ScimMappingItem]` — The mapping between auth0 and SCIM
@@ -24199,7 +24542,7 @@ client.connections.directory_provisioning.set(
-
client.connections.directory_provisioning.delete_synchronized_group_selections(...) +
client.connections.scim_configuration.get_default_mapping(...) -> GetScimConfigurationDefaultMappingResponseContent
@@ -24211,7 +24554,7 @@ client.connections.directory_provisioning.set(
-Delete synchronized group selections for a directory provisioning configuration +Retrieves a scim configuration's default mapping by its `connectionId`.
@@ -24226,7 +24569,7 @@ Delete synchronized group selections for a directory provisioning configuration
```python -from auth0.management import Auth0, SynchronizedGroupSelectionId +from auth0.management import Auth0 from auth0.management.environment import Auth0Environment client = Auth0( @@ -24234,13 +24577,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.directory_provisioning.delete_synchronized_group_selections( +client.connections.scim_configuration.get_default_mapping( id="id", - groups=[ - SynchronizedGroupSelectionId( - id="id", - ) - ], ) ``` @@ -24257,15 +24595,7 @@ client.connections.directory_provisioning.delete_synchronized_group_selections(
-**id:** `str` — The id of the connection to delete synchronized group selections for - -
-
- -
-
- -**groups:** `typing.List[SynchronizedGroupSelectionId]` — Array of groups to remove from the selection set. +**id:** `str` — The id of the connection to retrieve its default SCIM mapping
@@ -24285,8 +24615,8 @@ client.connections.directory_provisioning.delete_synchronized_group_selections(
-## Connections ScimConfiguration -
client.connections.scim_configuration.list(...) -> ListScimConfigurationsResponseContent +## Connections Clients +
client.connections.clients.get(...) -> GetConnectionEnabledClientsResponseContent
@@ -24298,7 +24628,9 @@ client.connections.directory_provisioning.delete_synchronized_group_selections(
-Retrieve a list of SCIM configurations of a tenant. +Retrieve all clients that have the specified [connection](https://auth0.com/docs/authenticate/identity-providers) enabled. + +**Note**: The first time you call this endpoint, omit the `from` parameter. If there are more results, a `next` value is included in the response. You can use this for subsequent API calls. When `next` is no longer included in the response, no further results are remaining.
@@ -24321,9 +24653,10 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.scim_configuration.list( - from_="from", +client.connections.clients.get( + id="id", take=1, + from_="from", ) ``` @@ -24340,7 +24673,7 @@ client.connections.scim_configuration.list(
-**from:** `typing.Optional[str]` — Optional Id from which to start selection. +**id:** `str` — The id of the connection for which enabled clients are to be retrieved
@@ -24356,6 +24689,14 @@ client.connections.scim_configuration.list(
+**from:** `typing.Optional[str]` — Optional Id from which to start selection. + +
+
+ +
+
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -24368,24 +24709,10 @@ client.connections.scim_configuration.list(
-
client.connections.scim_configuration.get(...) -> GetScimConfigurationResponseContent -
-
- -#### 📝 Description - -
-
- +
client.connections.clients.update(...)
-Retrieves a scim configuration by its `connectionId`. -
-
-
-
- #### 🔌 Usage
@@ -24395,7 +24722,7 @@ Retrieves a scim configuration by its `connectionId`.
```python -from auth0.management import Auth0 +from auth0.management import Auth0, UpdateEnabledClientConnectionsRequestContentItem from auth0.management.environment import Auth0Environment client = Auth0( @@ -24403,8 +24730,14 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.scim_configuration.get( +client.connections.clients.update( id="id", + request=[ + UpdateEnabledClientConnectionsRequestContentItem( + client_id="client_id", + status=True, + ) + ], ) ``` @@ -24421,7 +24754,15 @@ client.connections.scim_configuration.get(
-**id:** `str` — The id of the connection to retrieve its SCIM configuration +**id:** `str` — The id of the connection to modify + +
+
+ +
+
+ +**request:** `UpdateEnabledClientConnectionsRequestContent`
@@ -24441,7 +24782,8 @@ client.connections.scim_configuration.get(
-
client.connections.scim_configuration.create(...) -> CreateScimConfigurationResponseContent +## Connections Keys +
client.connections.keys.get(...) -> typing.List[ConnectionKey]
@@ -24453,7 +24795,7 @@ client.connections.scim_configuration.get(
-Create a scim configuration for a connection. +Gets the connection keys for the Okta or OIDC connection strategy.
@@ -24468,7 +24810,7 @@ Create a scim configuration for a connection.
```python -from auth0.management import Auth0, CreateScimConfigurationRequestContent +from auth0.management import Auth0 from auth0.management.environment import Auth0Environment client = Auth0( @@ -24476,9 +24818,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.scim_configuration.create( +client.connections.keys.get( id="id", - request=CreateScimConfigurationRequestContent(), ) ``` @@ -24495,15 +24836,7 @@ client.connections.scim_configuration.create(
-**id:** `str` — The id of the connection to create its SCIM configuration - -
-
- -
-
- -**request:** `typing.Optional[CreateScimConfigurationRequestContent]` +**id:** `str` — ID of the connection
@@ -24523,7 +24856,7 @@ client.connections.scim_configuration.create(
-
client.connections.scim_configuration.delete(...) +
client.connections.keys.create(...) -> PostConnectionsKeysResponseContent
@@ -24535,7 +24868,7 @@ client.connections.scim_configuration.create(
-Deletes a scim configuration by its `connectionId`. +Provision initial connection keys for Okta or OIDC connection strategies. This endpoint allows you to create keys before configuring the connection to use Private Key JWT authentication, enabling zero-downtime transitions.
@@ -24550,7 +24883,7 @@ Deletes a scim configuration by its `connectionId`.
```python -from auth0.management import Auth0 +from auth0.management import Auth0, PostConnectionKeysRequestContent from auth0.management.environment import Auth0Environment client = Auth0( @@ -24558,8 +24891,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.scim_configuration.delete( +client.connections.keys.create( id="id", + request=PostConnectionKeysRequestContent(), ) ``` @@ -24576,7 +24910,15 @@ client.connections.scim_configuration.delete(
-**id:** `str` — The id of the connection to delete its SCIM configuration +**id:** `str` — ID of the connection + +
+
+ +
+
+ +**request:** `typing.Optional[PostConnectionKeysRequestContent]`
@@ -24596,7 +24938,7 @@ client.connections.scim_configuration.delete(
-
client.connections.scim_configuration.update(...) -> UpdateScimConfigurationResponseContent +
client.connections.keys.rotate(...) -> RotateConnectionsKeysResponseContent
@@ -24608,7 +24950,7 @@ client.connections.scim_configuration.delete(
-Update a scim configuration by its `connectionId`. +Rotates the connection keys for the Okta or OIDC connection strategies.
@@ -24623,7 +24965,7 @@ Update a scim configuration by its `connectionId`.
```python -from auth0.management import Auth0, ScimMappingItem +from auth0.management import Auth0, RotateConnectionKeysRequestContent from auth0.management.environment import Auth0Environment client = Auth0( @@ -24631,12 +24973,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.scim_configuration.update( +client.connections.keys.rotate( id="id", - user_id_attribute="user_id_attribute", - mapping=[ - ScimMappingItem() - ], + request=RotateConnectionKeysRequestContent(), ) ``` @@ -24653,15 +24992,7 @@ client.connections.scim_configuration.update(
-**id:** `str` — The id of the connection to update its SCIM configuration - -
-
- -
-
- -**user_id_attribute:** `str` — User ID attribute for generating unique user ids +**id:** `str` — ID of the connection
@@ -24669,7 +25000,7 @@ client.connections.scim_configuration.update(
-**mapping:** `typing.List[ScimMappingItem]` — The mapping between auth0 and SCIM +**request:** `typing.Optional[RotateConnectionKeysRequestContent]`
@@ -24689,7 +25020,8 @@ client.connections.scim_configuration.update(
-
client.connections.scim_configuration.get_default_mapping(...) -> GetScimConfigurationDefaultMappingResponseContent +## Connections Users +
client.connections.users.delete_by_email(...)
@@ -24701,7 +25033,7 @@ client.connections.scim_configuration.update(
-Retrieves a scim configuration's default mapping by its `connectionId`. +Deletes a specified connection user by its email (you cannot delete all users from specific connection). Currently, only Database Connections are supported.
@@ -24724,8 +25056,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.scim_configuration.get_default_mapping( +client.connections.users.delete_by_email( id="id", + email="email", ) ``` @@ -24742,7 +25075,15 @@ client.connections.scim_configuration.get_default_mapping(
-**id:** `str` — The id of the connection to retrieve its default SCIM mapping +**id:** `str` — The id of the connection (currently only database connections are supported) + +
+
+ +
+
+ +**email:** `str` — The email of the user to delete
@@ -24762,8 +25103,8 @@ client.connections.scim_configuration.get_default_mapping(
-## Connections Clients -
client.connections.clients.get(...) -> GetConnectionEnabledClientsResponseContent +## Connections DirectoryProvisioning Synchronizations +
client.connections.directory_provisioning.synchronizations.create(...) -> CreateDirectorySynchronizationResponseContent
@@ -24775,9 +25116,7 @@ client.connections.scim_configuration.get_default_mapping(
-Retrieve all clients that have the specified [connection](https://auth0.com/docs/authenticate/identity-providers) enabled. - -**Note**: The first time you call this endpoint, omit the `from` parameter. If there are more results, a `next` value is included in the response. You can use this for subsequent API calls. When `next` is no longer included in the response, no further results are remaining. +Request an on-demand synchronization of the directory.
@@ -24800,10 +25139,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.clients.get( +client.connections.directory_provisioning.synchronizations.create( id="id", - take=1, - from_="from", ) ``` @@ -24820,7 +25157,7 @@ client.connections.clients.get(
-**id:** `str` — The id of the connection for which enabled clients are to be retrieved +**id:** `str` — The id of the connection to trigger synchronization for
@@ -24828,38 +25165,37 @@ client.connections.clients.get(
-**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+ +
-
-
-**from:** `typing.Optional[str]` — Optional Id from which to start selection. -
+
+## Connections ScimConfiguration Tokens +
client.connections.scim_configuration.tokens.get(...) -> GetScimTokensResponseContent
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. - -
-
- - - +#### 📝 Description - - -
+
+
-
client.connections.clients.update(...)
+Retrieves all scim tokens by its connection `id`. +
+
+
+
+ #### 🔌 Usage
@@ -24869,7 +25205,7 @@ client.connections.clients.get(
```python -from auth0.management import Auth0, UpdateEnabledClientConnectionsRequestContentItem +from auth0.management import Auth0 from auth0.management.environment import Auth0Environment client = Auth0( @@ -24877,14 +25213,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.clients.update( +client.connections.scim_configuration.tokens.get( id="id", - request=[ - UpdateEnabledClientConnectionsRequestContentItem( - client_id="client_id", - status=True, - ) - ], ) ``` @@ -24901,15 +25231,7 @@ client.connections.clients.update(
-**id:** `str` — The id of the connection to modify - -
-
- -
-
- -**request:** `UpdateEnabledClientConnectionsRequestContent` +**id:** `str` — The id of the connection to retrieve its SCIM configuration
@@ -24929,8 +25251,7 @@ client.connections.clients.update(
-## Connections Keys -
client.connections.keys.get(...) -> typing.List[ConnectionKey] +
client.connections.scim_configuration.tokens.create(...) -> CreateScimTokenResponseContent
@@ -24942,7 +25263,7 @@ client.connections.clients.update(
-Gets the connection keys for the Okta or OIDC connection strategy. +Create a scim token for a scim client.
@@ -24965,7 +25286,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.keys.get( +client.connections.scim_configuration.tokens.create( id="id", ) @@ -24983,7 +25304,23 @@ client.connections.keys.get(
-**id:** `str` — ID of the connection +**id:** `str` — The id of the connection to create its SCIM token + +
+
+ +
+
+ +**scopes:** `typing.Optional[typing.List[str]]` — The scopes of the scim token + +
+
+ +
+
+ +**token_lifetime:** `typing.Optional[int]` — Lifetime of the token in seconds. Must be greater than 900
@@ -25003,7 +25340,7 @@ client.connections.keys.get(
-
client.connections.keys.create(...) -> PostConnectionsKeysResponseContent +
client.connections.scim_configuration.tokens.delete(...)
@@ -25015,7 +25352,7 @@ client.connections.keys.get(
-Provision initial connection keys for Okta or OIDC connection strategies. This endpoint allows you to create keys before configuring the connection to use Private Key JWT authentication, enabling zero-downtime transitions. +Deletes a scim token by its connection `id` and `tokenId`.
@@ -25030,7 +25367,7 @@ Provision initial connection keys for Okta or OIDC connection strategies. This e
```python -from auth0.management import Auth0, PostConnectionKeysRequestContent +from auth0.management import Auth0 from auth0.management.environment import Auth0Environment client = Auth0( @@ -25038,9 +25375,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.keys.create( +client.connections.scim_configuration.tokens.delete( id="id", - request=PostConnectionKeysRequestContent(), + token_id="tokenId", ) ``` @@ -25057,7 +25394,7 @@ client.connections.keys.create(
-**id:** `str` — ID of the connection +**id:** `str` — The connection id that owns the SCIM token to delete
@@ -25065,7 +25402,7 @@ client.connections.keys.create(
-**request:** `typing.Optional[PostConnectionKeysRequestContent]` +**token_id:** `str` — The id of the scim token to delete
@@ -25085,7 +25422,8 @@ client.connections.keys.create(
-
client.connections.keys.rotate(...) -> RotateConnectionsKeysResponseContent +## Emails Provider +
client.emails.provider.get(...) -> GetEmailProviderResponseContent
@@ -25097,7 +25435,7 @@ client.connections.keys.create(
-Rotates the connection keys for the Okta or OIDC connection strategies. +Retrieve details of the [email provider configuration](https://auth0.com/docs/customize/email/smtp-email-providers) in your tenant. A list of fields to include or exclude may also be specified.
@@ -25112,7 +25450,7 @@ Rotates the connection keys for the Okta or OIDC connection strategies.
```python -from auth0.management import Auth0, RotateConnectionKeysRequestContent +from auth0.management import Auth0 from auth0.management.environment import Auth0Environment client = Auth0( @@ -25120,9 +25458,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.keys.rotate( - id="id", - request=RotateConnectionKeysRequestContent(), +client.emails.provider.get( + fields="fields", + include_fields=True, ) ``` @@ -25139,7 +25477,7 @@ client.connections.keys.rotate(
-**id:** `str` — ID of the connection +**fields:** `typing.Optional[str]` — Comma-separated list of fields to include or exclude (dependent upon include_fields) from the result. Leave empty to retrieve `name` and `enabled`. Additional fields available include `credentials`, `default_from_address`, and `settings`.
@@ -25147,7 +25485,7 @@ client.connections.keys.rotate(
-**request:** `typing.Optional[RotateConnectionKeysRequestContent]` +**include_fields:** `typing.Optional[bool]` — Whether specified fields are to be included (true) or excluded (false).
@@ -25167,8 +25505,7 @@ client.connections.keys.rotate(
-## Connections Users -
client.connections.users.delete_by_email(...) +
client.emails.provider.create(...) -> CreateEmailProviderResponseContent
@@ -25180,7 +25517,31 @@ client.connections.keys.rotate(
-Deletes a specified connection user by its email (you cannot delete all users from specific connection). Currently, only Database Connections are supported. +Create an [email provider](https://auth0.com/docs/email/providers). The `credentials` object +requires different properties depending on the email provider (which is specified using the `name` property): + +- `mandrill` requires `api_key` +- `sendgrid` requires `api_key` +- `sparkpost` requires `api_key`. Optionally, set `region` to `eu` to use + the SparkPost service hosted in Western Europe; set to `null` to use the SparkPost service hosted in + North America. `eu` or `null` are the only valid values for `region`. +- `mailgun` requires `api_key` and `domain`. Optionally, set `region` to + `eu` to use the Mailgun service hosted in Europe; set to `null` otherwise. `eu` or + `null` are the only valid values for `region`. +- `ses` requires `accessKeyId`, `secretAccessKey`, and `region` +- `smtp` requires `smtp_host`, `smtp_port`, `smtp_user`, and + `smtp_pass` + +Depending on the type of provider it is possible to specify `settings` object with different configuration +options, which will be used when sending an email: + +- `smtp` provider, `settings` may contain `headers` object. + - When using AWS SES SMTP host, you may provide a name of configuration set in + `X-SES-Configuration-Set` header. Value must be a string. + - When using Sparkpost host, you may provide value for + `X-MSYS_API` header. Value must be an object. +- For `ses` provider, `settings` may contain `message` object, where you can provide + a name of configuration set in `configuration_set_name` property. Value must be a string.
@@ -25195,7 +25556,7 @@ Deletes a specified connection user by its email (you cannot delete all users fr
```python -from auth0.management import Auth0 +from auth0.management import Auth0, EmailProviderCredentialsSchemaZero from auth0.management.environment import Auth0Environment client = Auth0( @@ -25203,9 +25564,11 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.users.delete_by_email( - id="id", - email="email", +client.emails.provider.create( + name="mailgun", + credentials=EmailProviderCredentialsSchemaZero( + api_key="api_key", + ), ) ``` @@ -25222,7 +25585,7 @@ client.connections.users.delete_by_email(
-**id:** `str` — The id of the connection (currently only database connections are supported) +**name:** `EmailProviderNameEnum`
@@ -25230,7 +25593,31 @@ client.connections.users.delete_by_email(
-**email:** `str` — The email of the user to delete +**credentials:** `EmailProviderCredentialsSchema` + +
+
+ +
+
+ +**enabled:** `typing.Optional[bool]` — Whether the provider is enabled (true) or disabled (false). + +
+
+ +
+
+ +**default_from_address:** `typing.Optional[str]` — Email address to use as "from" when no other address specified. + +
+
+ +
+
+ +**settings:** `typing.Optional[EmailSpecificProviderSettingsWithAdditionalProperties]`
@@ -25250,8 +25637,7 @@ client.connections.users.delete_by_email(
-## Connections DirectoryProvisioning Synchronizations -
client.connections.directory_provisioning.synchronizations.create(...) -> CreateDirectorySynchronizationResponseContent +
client.emails.provider.delete()
@@ -25263,7 +25649,7 @@ client.connections.users.delete_by_email(
-Request an on-demand synchronization of the directory. +Delete the email provider.
@@ -25286,9 +25672,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.directory_provisioning.synchronizations.create( - id="id", -) +client.emails.provider.delete() ``` @@ -25304,14 +25688,6 @@ client.connections.directory_provisioning.synchronizations.create(
-**id:** `str` — The id of the connection to trigger synchronization for - -
-
- -
-
- **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -25324,8 +25700,7 @@ client.connections.directory_provisioning.synchronizations.create(
-## Connections ScimConfiguration Tokens -
client.connections.scim_configuration.tokens.get(...) -> GetScimTokensResponseContent +
client.emails.provider.update(...) -> UpdateEmailProviderResponseContent
@@ -25337,7 +25712,32 @@ client.connections.directory_provisioning.synchronizations.create(
-Retrieves all scim tokens by its connection `id`. +Update an [email provider](https://auth0.com/docs/email/providers). The `credentials` object +requires different properties depending on the email provider (which is specified using the `name` property): + +- `mandrill` requires `api_key` +- `sendgrid` requires `api_key` +- `sparkpost` requires `api_key`. Optionally, set `region` to `eu` to use + the SparkPost service hosted in Western Europe; set to `null` to use the SparkPost service hosted in + North America. `eu` or `null` are the only valid values for `region`. +- `mailgun` requires `api_key` and `domain`. Optionally, set `region` to + `eu` to use the Mailgun service hosted in Europe; set to `null` otherwise. `eu` or + `null` are the only valid values for `region`. +- `ses` requires `accessKeyId`, `secretAccessKey`, and `region` +- `smtp` requires `smtp_host`, `smtp_port`, `smtp_user`, and + `smtp_pass` + +Depending on the type of provider it is possible to specify `settings` object with different configuration +options, which will be used when sending an email: + +- `smtp` provider, `settings` may contain `headers` object. + - When using AWS SES SMTP host, you may provide a name of configuration set in + `X-SES-Configuration-Set` header. Value must be a string. + - When using Sparkpost host, you may provide value for + `X-MSYS_API` header. Value must be an object. + + For `ses` provider, `settings` may contain `message` object, where you can provide + a name of configuration set in `configuration_set_name` property. Value must be a string.
@@ -25360,9 +25760,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.scim_configuration.tokens.get( - id="id", -) +client.emails.provider.update() ``` @@ -25378,7 +25776,7 @@ client.connections.scim_configuration.tokens.get(
-**id:** `str` — The id of the connection to retrieve its SCIM configuration +**name:** `typing.Optional[EmailProviderNameEnum]`
@@ -25386,36 +25784,55 @@ client.connections.scim_configuration.tokens.get(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**enabled:** `typing.Optional[bool]` — Whether the provider is enabled (true) or disabled (false).
- -
+
+
+**default_from_address:** `typing.Optional[str]` — Email address to use as "from" when no other address specified. +
-
-
client.connections.scim_configuration.tokens.create(...) -> CreateScimTokenResponseContent
-#### 📝 Description +**credentials:** `typing.Optional[EmailProviderCredentialsSchema]` + +
+
+**settings:** `typing.Optional[EmailSpecificProviderSettingsWithAdditionalProperties]` + +
+
+
-Create a scim token for a scim client. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +
+ + + +
+ +## EventStreams Deliveries +
client.event_streams.deliveries.list(...) -> ListEventStreamDeliveriesResponseContent +
+
+ #### 🔌 Usage
@@ -25433,8 +25850,14 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.scim_configuration.tokens.create( +client.event_streams.deliveries.list( id="id", + statuses="statuses", + event_types="event_types", + date_from="date_from", + date_to="date_to", + from_="from", + take=1, ) ``` @@ -25451,7 +25874,7 @@ client.connections.scim_configuration.tokens.create(
-**id:** `str` — The id of the connection to create its SCIM token +**id:** `str` — Unique identifier for the event stream.
@@ -25459,7 +25882,7 @@ client.connections.scim_configuration.tokens.create(
-**scopes:** `typing.Optional[typing.List[str]]` — The scopes of the scim token +**statuses:** `typing.Optional[str]` — Comma-separated list of statuses by which to filter
@@ -25467,7 +25890,7 @@ client.connections.scim_configuration.tokens.create(
-**token_lifetime:** `typing.Optional[int]` — Lifetime of the token in seconds. Must be greater than 900 +**event_types:** `typing.Optional[str]` — Comma-separated list of event types by which to filter
@@ -25475,35 +25898,53 @@ client.connections.scim_configuration.tokens.create(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**date_from:** `typing.Optional[str]` — An RFC-3339 date-time for redelivery start, inclusive. Does not allow sub-second precision.
-
-
+
+
+**date_to:** `typing.Optional[str]` — An RFC-3339 date-time for redelivery end, exclusive. Does not allow sub-second precision. +
-
-
client.connections.scim_configuration.tokens.delete(...)
-#### 📝 Description +**from:** `typing.Optional[str]` — Optional Id from which to start selection. + +
+
+**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50. + +
+
+
-Deletes a scim token by its connection `id` and `tokenId`. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+ + +
+ +
client.event_streams.deliveries.get_history(...) -> GetEventStreamDeliveryHistoryResponseContent +
+
#### 🔌 Usage @@ -25522,9 +25963,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.connections.scim_configuration.tokens.delete( +client.event_streams.deliveries.get_history( id="id", - token_id="tokenId", + event_id="event_id", ) ``` @@ -25541,7 +25982,7 @@ client.connections.scim_configuration.tokens.delete(
-**id:** `str` — The connection id that owns the SCIM token to delete +**id:** `str` — Unique identifier for the event stream.
@@ -25549,7 +25990,7 @@ client.connections.scim_configuration.tokens.delete(
-**token_id:** `str` — The id of the scim token to delete +**event_id:** `str` — Unique identifier for the event
@@ -25569,25 +26010,11 @@ client.connections.scim_configuration.tokens.delete(
-## Emails Provider -
client.emails.provider.get(...) -> GetEmailProviderResponseContent -
-
- -#### 📝 Description - -
-
- +## EventStreams Redeliveries +
client.event_streams.redeliveries.create(...) -> CreateEventStreamRedeliveryResponseContent
-Retrieve details of the [email provider configuration](https://auth0.com/docs/customize/email/smtp-email-providers) in your tenant. A list of fields to include or exclude may also be specified. -
-
-
-
- #### 🔌 Usage
@@ -25605,9 +26032,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.emails.provider.get( - fields="fields", - include_fields=True, +client.event_streams.redeliveries.create( + id="id", ) ``` @@ -25624,7 +26050,7 @@ client.emails.provider.get(
-**fields:** `typing.Optional[str]` — Comma-separated list of fields to include or exclude (dependent upon include_fields) from the result. Leave empty to retrieve `name` and `enabled`. Additional fields available include `credentials`, `default_from_address`, and `settings`. +**id:** `str` — Unique identifier for the event stream.
@@ -25632,7 +26058,7 @@ client.emails.provider.get(
-**include_fields:** `typing.Optional[bool]` — Whether specified fields are to be included (true) or excluded (false). +**date_from:** `typing.Optional[datetime.datetime]` — An RFC-3339 date-time for redelivery start, inclusive. Does not allow sub-second precision.
@@ -25640,60 +26066,46 @@ client.emails.provider.get(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**date_to:** `typing.Optional[datetime.datetime]` — An RFC-3339 date-time for redelivery end, exclusive. Does not allow sub-second precision.
-
-
+
+
+**statuses:** `typing.Optional[typing.List[EventStreamDeliveryStatusEnum]]` — Filter by status +
-
-
client.emails.provider.create(...) -> CreateEmailProviderResponseContent
-#### 📝 Description - -
-
+**event_types:** `typing.Optional[typing.List[EventStreamEventTypeEnum]]` — Filter by event type + +
+
-Create an [email provider](https://auth0.com/docs/email/providers). The `credentials` object -requires different properties depending on the email provider (which is specified using the `name` property): - -- `mandrill` requires `api_key` -- `sendgrid` requires `api_key` -- `sparkpost` requires `api_key`. Optionally, set `region` to `eu` to use - the SparkPost service hosted in Western Europe; set to `null` to use the SparkPost service hosted in - North America. `eu` or `null` are the only valid values for `region`. -- `mailgun` requires `api_key` and `domain`. Optionally, set `region` to - `eu` to use the Mailgun service hosted in Europe; set to `null` otherwise. `eu` or - `null` are the only valid values for `region`. -- `ses` requires `accessKeyId`, `secretAccessKey`, and `region` -- `smtp` requires `smtp_host`, `smtp_port`, `smtp_user`, and - `smtp_pass` - -Depending on the type of provider it is possible to specify `settings` object with different configuration -options, which will be used when sending an email: - -- `smtp` provider, `settings` may contain `headers` object. - - When using AWS SES SMTP host, you may provide a name of configuration set in - `X-SES-Configuration-Set` header. Value must be a string. - - When using Sparkpost host, you may provide value for - `X-MSYS_API` header. Value must be an object. -- For `ses` provider, `settings` may contain `message` object, where you can provide - a name of configuration set in `configuration_set_name` property. Value must be a string. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +
+ + + +
+ +
client.event_streams.redeliveries.create_by_id(...) +
+
+ #### 🔌 Usage
@@ -25703,7 +26115,7 @@ options, which will be used when sending an email:
```python -from auth0.management import Auth0, EmailProviderCredentialsSchemaZero +from auth0.management import Auth0 from auth0.management.environment import Auth0Environment client = Auth0( @@ -25711,11 +26123,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.emails.provider.create( - name="mailgun", - credentials=EmailProviderCredentialsSchemaZero( - api_key="api_key", - ), +client.event_streams.redeliveries.create_by_id( + id="id", + event_id="event_id", ) ``` @@ -25732,31 +26142,7 @@ client.emails.provider.create(
-**name:** `EmailProviderNameEnum` - -
-
- -
-
- -**credentials:** `EmailProviderCredentialsSchema` - -
-
- -
-
- -**enabled:** `typing.Optional[bool]` — Whether the provider is enabled (true) or disabled (false). - -
-
- -
-
- -**default_from_address:** `typing.Optional[str]` — Email address to use as "from" when no other address specified. +**id:** `str` — Unique identifier for the event stream.
@@ -25764,7 +26150,7 @@ client.emails.provider.create(
-**settings:** `typing.Optional[EmailSpecificProviderSettingsWithAdditionalProperties]` +**event_id:** `str` — Unique identifier for the event
@@ -25784,7 +26170,8 @@ client.emails.provider.create(
-
client.emails.provider.delete() +## Experimentation Experiments +
client.experimentation.experiments.advance_ramp(...) -> AdvanceRampResponseContent
@@ -25796,7 +26183,7 @@ client.emails.provider.create(
-Delete the email provider. +Increments the current ramp index to the requested target level. Up-only: the target must be the immediate next level in the schedule. Idempotent: calling with the current level returns success without writing anything.
@@ -25819,7 +26206,10 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.emails.provider.delete() +client.experimentation.experiments.advance_ramp( + id="id", + target_level=1, +) ``` @@ -25835,61 +26225,39 @@ client.emails.provider.delete()
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**id:** `str` — The ID of the experiment to advance.
- -
- - - - -
-
client.emails.provider.update(...) -> UpdateEmailProviderResponseContent
-#### 📝 Description - -
-
+**target_level:** `int` — The target percentage level from the experiment schedule. Must be the immediate next level. + +
+
-Update an [email provider](https://auth0.com/docs/email/providers). The `credentials` object -requires different properties depending on the email provider (which is specified using the `name` property): - -- `mandrill` requires `api_key` -- `sendgrid` requires `api_key` -- `sparkpost` requires `api_key`. Optionally, set `region` to `eu` to use - the SparkPost service hosted in Western Europe; set to `null` to use the SparkPost service hosted in - North America. `eu` or `null` are the only valid values for `region`. -- `mailgun` requires `api_key` and `domain`. Optionally, set `region` to - `eu` to use the Mailgun service hosted in Europe; set to `null` otherwise. `eu` or - `null` are the only valid values for `region`. -- `ses` requires `accessKeyId`, `secretAccessKey`, and `region` -- `smtp` requires `smtp_host`, `smtp_port`, `smtp_user`, and - `smtp_pass` - -Depending on the type of provider it is possible to specify `settings` object with different configuration -options, which will be used when sending an email: - -- `smtp` provider, `settings` may contain `headers` object. - - When using AWS SES SMTP host, you may provide a name of configuration set in - `X-SES-Configuration-Set` header. Value must be a string. - - When using Sparkpost host, you may provide value for - `X-MSYS_API` header. Value must be an object. - - For `ses` provider, `settings` may contain `message` object, where you can provide - a name of configuration set in `configuration_set_name` property. Value must be a string. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +
+ + + +
+ +## Flows Executions +
client.flows.executions.list(...) -> ListFlowExecutionsPaginatedResponseContent +
+
+ #### 🔌 Usage
@@ -25907,7 +26275,12 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.emails.provider.update() +client.flows.executions.list( + flow_id="flow_id", + include_totals=True, + from_="from", + take=1, +) ```
@@ -25923,15 +26296,7 @@ client.emails.provider.update()
-**name:** `typing.Optional[EmailProviderNameEnum]` - -
-
- -
-
- -**enabled:** `typing.Optional[bool]` — Whether the provider is enabled (true) or disabled (false). +**flow_id:** `str` — Flow id
@@ -25939,7 +26304,7 @@ client.emails.provider.update()
-**default_from_address:** `typing.Optional[str]` — Email address to use as "from" when no other address specified. +**include_totals:** `typing.Optional[bool]` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default).
@@ -25947,7 +26312,7 @@ client.emails.provider.update()
-**credentials:** `typing.Optional[EmailProviderCredentialsSchema]` +**from:** `typing.Optional[str]` — Optional Id from which to start selection.
@@ -25955,7 +26320,7 @@ client.emails.provider.update()
-**settings:** `typing.Optional[EmailSpecificProviderSettingsWithAdditionalProperties]` +**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50.
@@ -25975,8 +26340,7 @@ client.emails.provider.update()
-## EventStreams Deliveries -
client.event_streams.deliveries.list(...) -> ListEventStreamDeliveriesResponseContent +
client.flows.executions.get(...) -> GetFlowExecutionResponseContent
@@ -25997,14 +26361,12 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.event_streams.deliveries.list( - id="id", - statuses="statuses", - event_types="event_types", - date_from="date_from", - date_to="date_to", - from_="from", - take=1, +client.flows.executions.get( + flow_id="flow_id", + execution_id="execution_id", + hydrate=[ + "debug" + ], ) ``` @@ -26021,39 +26383,7 @@ client.event_streams.deliveries.list(
-**id:** `str` — Unique identifier for the event stream. - -
-
- -
-
- -**statuses:** `typing.Optional[str]` — Comma-separated list of statuses by which to filter - -
-
- -
-
- -**event_types:** `typing.Optional[str]` — Comma-separated list of event types by which to filter - -
-
- -
-
- -**date_from:** `typing.Optional[str]` — An RFC-3339 date-time for redelivery start, inclusive. Does not allow sub-second precision. - -
-
- -
-
- -**date_to:** `typing.Optional[str]` — An RFC-3339 date-time for redelivery end, exclusive. Does not allow sub-second precision. +**flow_id:** `str` — Flow id
@@ -26061,7 +26391,7 @@ client.event_streams.deliveries.list(
-**from:** `typing.Optional[str]` — Optional Id from which to start selection. +**execution_id:** `str` — Flow execution id
@@ -26069,7 +26399,7 @@ client.event_streams.deliveries.list(
-**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50. +**hydrate:** `typing.Optional[typing.Union[typing.Optional[GetFlowExecutionRequestParametersHydrateEnum], typing.Sequence[typing.Optional[GetFlowExecutionRequestParametersHydrateEnum]]]]` — Hydration param
@@ -26089,7 +26419,7 @@ client.event_streams.deliveries.list(
-
client.event_streams.deliveries.get_history(...) -> GetEventStreamDeliveryHistoryResponseContent +
client.flows.executions.delete(...)
@@ -26110,9 +26440,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.event_streams.deliveries.get_history( - id="id", - event_id="event_id", +client.flows.executions.delete( + flow_id="flow_id", + execution_id="execution_id", ) ``` @@ -26129,7 +26459,7 @@ client.event_streams.deliveries.get_history(
-**id:** `str` — Unique identifier for the event stream. +**flow_id:** `str` — Flows id
@@ -26137,7 +26467,7 @@ client.event_streams.deliveries.get_history(
-**event_id:** `str` — Unique identifier for the event +**execution_id:** `str` — Flow execution identifier
@@ -26157,8 +26487,8 @@ client.event_streams.deliveries.get_history(
-## EventStreams Redeliveries -
client.event_streams.redeliveries.create(...) -> CreateEventStreamRedeliveryResponseContent +## Flows Vault Connections +
client.flows.vault.connections.list(...) -> ListFlowsVaultConnectionsOffsetPaginatedResponseContent
@@ -26179,8 +26509,10 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.event_streams.redeliveries.create( - id="id", +client.flows.vault.connections.list( + page=1, + per_page=1, + include_totals=True, ) ``` @@ -26197,23 +26529,7 @@ client.event_streams.redeliveries.create(
-**id:** `str` — Unique identifier for the event stream. - -
-
- -
-
- -**date_from:** `typing.Optional[datetime.datetime]` — An RFC-3339 date-time for redelivery start, inclusive. Does not allow sub-second precision. - -
-
- -
-
- -**date_to:** `typing.Optional[datetime.datetime]` — An RFC-3339 date-time for redelivery end, exclusive. Does not allow sub-second precision. +**page:** `typing.Optional[int]` — Page index of the results to return. First page is 0.
@@ -26221,7 +26537,7 @@ client.event_streams.redeliveries.create(
-**statuses:** `typing.Optional[typing.List[EventStreamDeliveryStatusEnum]]` — Filter by status +**per_page:** `typing.Optional[int]` — Number of results per page. Defaults to 50.
@@ -26229,7 +26545,7 @@ client.event_streams.redeliveries.create(
-**event_types:** `typing.Optional[typing.List[EventStreamEventTypeEnum]]` — Filter by event type +**include_totals:** `typing.Optional[bool]` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default).
@@ -26249,7 +26565,7 @@ client.event_streams.redeliveries.create(
-
client.event_streams.redeliveries.create_by_id(...) +
client.flows.vault.connections.create(...) -> CreateFlowsVaultConnectionResponseContent
@@ -26262,7 +26578,7 @@ client.event_streams.redeliveries.create(
```python -from auth0.management import Auth0 +from auth0.management import Auth0, CreateFlowsVaultConnectionActivecampaignApiKey, FlowsVaultConnectioSetupApiKeyWithBaseUrl from auth0.management.environment import Auth0Environment client = Auth0( @@ -26270,9 +26586,16 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.event_streams.redeliveries.create_by_id( - id="id", - event_id="event_id", +client.flows.vault.connections.create( + request=CreateFlowsVaultConnectionActivecampaignApiKey( + name="name", + app_id="ACTIVECAMPAIGN", + setup=FlowsVaultConnectioSetupApiKeyWithBaseUrl( + type="API_KEY", + api_key="api_key", + base_url="base_url", + ), + ), ) ``` @@ -26289,15 +26612,7 @@ client.event_streams.redeliveries.create_by_id(
-**id:** `str` — Unique identifier for the event stream. - -
-
- -
-
- -**event_id:** `str` — Unique identifier for the event +**request:** `CreateFlowsVaultConnectionRequestContent`
@@ -26317,8 +26632,7 @@ client.event_streams.redeliveries.create_by_id(
-## Flows Executions -
client.flows.executions.list(...) -> ListFlowExecutionsPaginatedResponseContent +
client.flows.vault.connections.get(...) -> GetFlowsVaultConnectionResponseContent
@@ -26339,11 +26653,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.flows.executions.list( - flow_id="flow_id", - include_totals=True, - from_="from", - take=1, +client.flows.vault.connections.get( + id="id", ) ``` @@ -26360,31 +26671,7 @@ client.flows.executions.list(
-**flow_id:** `str` — Flow id - -
-
- -
-
- -**include_totals:** `typing.Optional[bool]` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). - -
-
- -
-
- -**from:** `typing.Optional[str]` — Optional Id from which to start selection. - -
-
- -
-
- -**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50. +**id:** `str` — Flows Vault connection ID
@@ -26404,7 +26691,7 @@ client.flows.executions.list(
-
client.flows.executions.get(...) -> GetFlowExecutionResponseContent +
client.flows.vault.connections.delete(...)
@@ -26425,12 +26712,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.flows.executions.get( - flow_id="flow_id", - execution_id="execution_id", - hydrate=[ - "debug" - ], +client.flows.vault.connections.delete( + id="id", ) ``` @@ -26447,23 +26730,7 @@ client.flows.executions.get(
-**flow_id:** `str` — Flow id - -
-
- -
-
- -**execution_id:** `str` — Flow execution id - -
-
- -
-
- -**hydrate:** `typing.Optional[typing.Union[typing.Optional[GetFlowExecutionRequestParametersHydrateEnum], typing.Sequence[typing.Optional[GetFlowExecutionRequestParametersHydrateEnum]]]]` — Hydration param +**id:** `str` — Vault connection id
@@ -26483,7 +26750,7 @@ client.flows.executions.get(
-
client.flows.executions.delete(...) +
client.flows.vault.connections.update(...) -> UpdateFlowsVaultConnectionResponseContent
@@ -26504,9 +26771,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.flows.executions.delete( - flow_id="flow_id", - execution_id="execution_id", +client.flows.vault.connections.update( + id="id", ) ``` @@ -26523,7 +26789,7 @@ client.flows.executions.delete(
-**flow_id:** `str` — Flows id +**id:** `str` — Flows Vault connection ID
@@ -26531,7 +26797,15 @@ client.flows.executions.delete(
-**execution_id:** `str` — Flow execution identifier +**name:** `typing.Optional[str]` — Flows Vault Connection name. + +
+
+ +
+
+ +**setup:** `typing.Optional[UpdateFlowsVaultConnectionSetup]`
@@ -26551,11 +26825,25 @@ client.flows.executions.delete(
-## Flows Vault Connections -
client.flows.vault.connections.list(...) -> ListFlowsVaultConnectionsOffsetPaginatedResponseContent +## Groups Members +
client.groups.members.get(...) -> GetGroupMembersResponseContent +
+
+ +#### 📝 Description + +
+
+
+List all users that are a member of this group. +
+
+
+
+ #### 🔌 Usage
@@ -26573,10 +26861,12 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.flows.vault.connections.list( - page=1, - per_page=1, - include_totals=True, +client.groups.members.get( + id="id", + fields="fields", + include_fields=True, + from_="from", + take=1, ) ``` @@ -26593,7 +26883,23 @@ client.flows.vault.connections.list(
-**page:** `typing.Optional[int]` — Page index of the results to return. First page is 0. +**id:** `str` — Unique identifier for the group (service-generated). + +
+
+ +
+
+ +**fields:** `typing.Optional[str]` — A comma separated list of fields to include or exclude (depending on include_fields) from the result, empty to retrieve all fields + +
+
+ +
+
+ +**include_fields:** `typing.Optional[bool]` — Whether specified fields are to be included (true) or excluded (false).
@@ -26601,7 +26907,7 @@ client.flows.vault.connections.list(
-**per_page:** `typing.Optional[int]` — Number of results per page. Defaults to 50. +**from:** `typing.Optional[str]` — Optional Id from which to start selection.
@@ -26609,7 +26915,7 @@ client.flows.vault.connections.list(
-**include_totals:** `typing.Optional[bool]` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). +**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50.
@@ -26629,10 +26935,25 @@ client.flows.vault.connections.list(
-
client.flows.vault.connections.create(...) -> CreateFlowsVaultConnectionResponseContent +## Groups Roles +
client.groups.roles.list(...) -> ListGroupRolesResponseContent +
+
+ +#### 📝 Description +
+
+
+ +Lists the [roles](https://auth0.com/docs/manage-users/access-control/rbac) assigned to a group. +
+
+
+
+ #### 🔌 Usage
@@ -26642,7 +26963,7 @@ client.flows.vault.connections.list(
```python -from auth0.management import Auth0, CreateFlowsVaultConnectionActivecampaignApiKey, FlowsVaultConnectioSetupApiKeyWithBaseUrl +from auth0.management import Auth0 from auth0.management.environment import Auth0Environment client = Auth0( @@ -26650,16 +26971,10 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.flows.vault.connections.create( - request=CreateFlowsVaultConnectionActivecampaignApiKey( - name="name", - app_id="ACTIVECAMPAIGN", - setup=FlowsVaultConnectioSetupApiKeyWithBaseUrl( - type="API_KEY", - api_key="api_key", - base_url="base_url", - ), - ), +client.groups.roles.list( + id="id", + from_="from", + take=1, ) ``` @@ -26676,7 +26991,7 @@ client.flows.vault.connections.create(
-**request:** `CreateFlowsVaultConnectionRequestContent` +**id:** `str` — Unique identifier for the group (service-generated).
@@ -26684,80 +26999,51 @@ client.flows.vault.connections.create(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**from:** `typing.Optional[str]` — Optional Id from which to start selection.
-
-
- - -
-
-
-
client.flows.vault.connections.get(...) -> GetFlowsVaultConnectionResponseContent
-#### 🔌 Usage - -
-
+**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50. + +
+
-```python -from auth0.management import Auth0 -from auth0.management.environment import Auth0Environment - -client = Auth0( - token="", - environment=Auth0Environment.DEFAULT, -) - -client.flows.vault.connections.get( - id="id", -) - -``` +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +
-#### ⚙️ Parameters + + +
+ +
client.groups.roles.create(...)
+#### 📝 Description +
-**id:** `str` — Flows Vault connection ID - -
-
-
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. - -
-
+Assign one or more [roles](https://auth0.com/docs/manage-users/access-control/rbac) to a specified group.
- - -
- -
client.flows.vault.connections.delete(...) -
-
#### 🔌 Usage @@ -26776,8 +27062,11 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.flows.vault.connections.delete( +client.groups.roles.create( id="id", + roles=[ + "roles" + ], ) ``` @@ -26794,7 +27083,15 @@ client.flows.vault.connections.delete(
-**id:** `str` — Vault connection id +**id:** `str` — Unique identifier for the group (service-generated). + +
+
+ +
+
+ +**roles:** `typing.List[str]` — Array of role IDs to assign to the group.
@@ -26814,10 +27111,24 @@ client.flows.vault.connections.delete(
-
client.flows.vault.connections.update(...) -> UpdateFlowsVaultConnectionResponseContent +
client.groups.roles.delete(...) +
+
+ +#### 📝 Description +
+
+
+ +Unassign one or more [roles](https://auth0.com/docs/manage-users/access-control/rbac) from a specified group. +
+
+
+
+ #### 🔌 Usage
@@ -26835,8 +27146,11 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.flows.vault.connections.update( +client.groups.roles.delete( id="id", + roles=[ + "roles" + ], ) ``` @@ -26853,15 +27167,7 @@ client.flows.vault.connections.update(
-**id:** `str` — Flows Vault connection ID - -
-
- -
-
- -**name:** `typing.Optional[str]` — Flows Vault Connection name. +**id:** `str` — Unique identifier for the group (service-generated).
@@ -26869,7 +27175,7 @@ client.flows.vault.connections.update(
-**setup:** `typing.Optional[UpdateFlowsVaultConnectionSetup]` +**roles:** `typing.List[str]` — Array of role IDs to remove from the group.
@@ -26889,8 +27195,8 @@ client.flows.vault.connections.update(
-## Groups Members -
client.groups.members.get(...) -> GetGroupMembersResponseContent +## Guardian Enrollments +
client.guardian.enrollments.create_ticket(...) -> CreateGuardianEnrollmentTicketResponseContent
@@ -26902,7 +27208,7 @@ client.flows.vault.connections.update(
-List all users that are a member of this group. +Create a [multi-factor authentication (MFA) enrollment ticket](https://auth0.com/docs/secure/multi-factor-authentication/auth0-guardian/create-custom-enrollment-tickets), and optionally send an email with the created ticket to a given user. Enrollment tickets can specify which factor users must enroll with or allow existing MFA users to enroll in additional factors.
@@ -26925,12 +27231,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.groups.members.get( - id="id", - fields="fields", - include_fields=True, - from_="from", - take=1, +client.guardian.enrollments.create_ticket( + user_id="user_id", ) ``` @@ -26947,7 +27249,7 @@ client.groups.members.get(
-**id:** `str` — Unique identifier for the group (service-generated). +**user_id:** `str` — user_id for the enrollment ticket
@@ -26955,7 +27257,7 @@ client.groups.members.get(
-**fields:** `typing.Optional[str]` — A comma separated list of fields to include or exclude (depending on include_fields) from the result, empty to retrieve all fields +**email:** `typing.Optional[str]` — alternate email to which the enrollment email will be sent. Optional - by default, the email will be sent to the user's default address
@@ -26963,7 +27265,7 @@ client.groups.members.get(
-**include_fields:** `typing.Optional[bool]` — Whether specified fields are to be included (true) or excluded (false). +**send_mail:** `typing.Optional[bool]` — Send an email to the user to start the enrollment
@@ -26971,7 +27273,7 @@ client.groups.members.get(
-**from:** `typing.Optional[str]` — Optional Id from which to start selection. +**email_locale:** `typing.Optional[str]` — Optional. Specify the locale of the enrollment email. Used with send_email.
@@ -26979,7 +27281,15 @@ client.groups.members.get(
-**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50. +**factor:** `typing.Optional[GuardianEnrollmentFactorEnum]` + +
+
+ +
+
+ +**allow_multiple_enrollments:** `typing.Optional[bool]` — Optional. Allows a user who has previously enrolled in MFA to enroll with additional factors.
Note: Parameter can only be used with Universal Login; it cannot be used with Classic Login or custom MFA pages.
@@ -26999,8 +27309,7 @@ client.groups.members.get(
-## Groups Roles -
client.groups.roles.list(...) -> ListGroupRolesResponseContent +
client.guardian.enrollments.get(...) -> GetGuardianEnrollmentResponseContent
@@ -27012,7 +27321,7 @@ client.groups.members.get(
-Lists the [roles](https://auth0.com/docs/manage-users/access-control/rbac) assigned to a group. +Retrieve details, such as status and type, for a specific multi-factor authentication enrollment registered to a user account.
@@ -27035,10 +27344,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.groups.roles.list( +client.guardian.enrollments.get( id="id", - from_="from", - take=1, ) ``` @@ -27055,23 +27362,7 @@ client.groups.roles.list(
-**id:** `str` — Unique identifier for the group (service-generated). - -
-
- -
-
- -**from:** `typing.Optional[str]` — Optional Id from which to start selection. - -
-
- -
-
- -**take:** `typing.Optional[int]` — Number of results per page. Defaults to 50. +**id:** `str` — ID of the enrollment to be retrieve.
@@ -27091,7 +27382,7 @@ client.groups.roles.list(
-
client.groups.roles.create(...) +
client.guardian.enrollments.delete(...)
@@ -27103,7 +27394,7 @@ client.groups.roles.list(
-Assign one or more [roles](https://auth0.com/docs/manage-users/access-control/rbac) to a specified group. +Remove a specific multi-factor authentication (MFA) enrollment from a user's account. This allows the user to re-enroll with MFA. For more information, review [Reset User Multi-Factor Authentication and Recovery Codes](https://auth0.com/docs/secure/multi-factor-authentication/reset-user-mfa).
@@ -27126,11 +27417,8 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.groups.roles.create( +client.guardian.enrollments.delete( id="id", - roles=[ - "roles" - ], ) ``` @@ -27147,15 +27435,7 @@ client.groups.roles.create(
-**id:** `str` — Unique identifier for the group (service-generated). - -
-
- -
-
- -**roles:** `typing.List[str]` — Array of role IDs to assign to the group. +**id:** `str` — ID of the enrollment to be deleted.
@@ -27175,7 +27455,8 @@ client.groups.roles.create(
-
client.groups.roles.delete(...) +## Guardian Factors +
client.guardian.factors.list() -> typing.List[GuardianFactor]
@@ -27187,7 +27468,7 @@ client.groups.roles.create(
-Unassign one or more [roles](https://auth0.com/docs/manage-users/access-control/rbac) from a specified group. +Retrieve details of all multi-factor authentication factors associated with your tenant.
@@ -27210,12 +27491,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.groups.roles.delete( - id="id", - roles=[ - "roles" - ], -) +client.guardian.factors.list() ``` @@ -27231,22 +27507,6 @@ client.groups.roles.delete(
-**id:** `str` — Unique identifier for the group (service-generated). - -
-
- -
-
- -**roles:** `typing.List[str]` — Array of role IDs to remove from the group. - -
-
- -
-
- **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -27259,8 +27519,7 @@ client.groups.roles.delete(
-## Guardian Enrollments -
client.guardian.enrollments.create_ticket(...) -> CreateGuardianEnrollmentTicketResponseContent +
client.guardian.factors.set(...) -> SetGuardianFactorResponseContent
@@ -27272,7 +27531,7 @@ client.groups.roles.delete(
-Create a [multi-factor authentication (MFA) enrollment ticket](https://auth0.com/docs/secure/multi-factor-authentication/auth0-guardian/create-custom-enrollment-tickets), and optionally send an email with the created ticket to a given user. Enrollment tickets can specify which factor users must enroll with or allow existing MFA users to enroll in additional factors. +Update the status (i.e., enabled or disabled) of a specific multi-factor authentication factor.
@@ -27295,8 +27554,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.guardian.enrollments.create_ticket( - user_id="user_id", +client.guardian.factors.set( + name="push-notification", + enabled=True, ) ``` @@ -27313,39 +27573,7 @@ client.guardian.enrollments.create_ticket(
-**user_id:** `str` — user_id for the enrollment ticket - -
-
- -
-
- -**email:** `typing.Optional[str]` — alternate email to which the enrollment email will be sent. Optional - by default, the email will be sent to the user's default address - -
-
- -
-
- -**send_mail:** `typing.Optional[bool]` — Send an email to the user to start the enrollment - -
-
- -
-
- -**email_locale:** `typing.Optional[str]` — Optional. Specify the locale of the enrollment email. Used with send_email. - -
-
- -
-
- -**factor:** `typing.Optional[GuardianEnrollmentFactorEnum]` +**name:** `GuardianFactorNameEnum` — Factor name. Can be `sms`, `push-notification`, `email`, `duo` `otp` `webauthn-roaming`, `webauthn-platform`, or `recovery-code`.
@@ -27353,7 +27581,7 @@ client.guardian.enrollments.create_ticket(
-**allow_multiple_enrollments:** `typing.Optional[bool]` — Optional. Allows a user who has previously enrolled in MFA to enroll with additional factors.
Note: Parameter can only be used with Universal Login; it cannot be used with Classic Login or custom MFA pages. +**enabled:** `bool` — Whether this factor is enabled (true) or disabled (false).
@@ -27373,7 +27601,8 @@ client.guardian.enrollments.create_ticket(
-
client.guardian.enrollments.get(...) -> GetGuardianEnrollmentResponseContent +## Guardian Policies +
client.guardian.policies.list() -> ListGuardianPoliciesResponseContent
@@ -27385,7 +27614,14 @@ client.guardian.enrollments.create_ticket(
-Retrieve details, such as status and type, for a specific multi-factor authentication enrollment registered to a user account. +Retrieve the [multi-factor authentication (MFA) policies](https://auth0.com/docs/secure/multi-factor-authentication/enable-mfa) configured for your tenant. + +The following policies are supported: + +- `all-applications` policy prompts with MFA for all logins. +- `confidence-score` policy prompts with MFA only for low confidence logins. + +**Note**: The `confidence-score` policy is part of the [Adaptive MFA feature](https://auth0.com/docs/secure/multi-factor-authentication/adaptive-mfa). Adaptive MFA requires an add-on for the Enterprise plan; review [Auth0 Pricing](https://auth0.com/pricing) for more details.
@@ -27408,9 +27644,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.guardian.enrollments.get( - id="id", -) +client.guardian.policies.list() ``` @@ -27426,14 +27660,6 @@ client.guardian.enrollments.get(
-**id:** `str` — ID of the enrollment to be retrieve. - -
-
- -
-
- **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -27446,7 +27672,7 @@ client.guardian.enrollments.get(
-
client.guardian.enrollments.delete(...) +
client.guardian.policies.set(...) -> SetGuardianPoliciesResponseContent
@@ -27458,7 +27684,14 @@ client.guardian.enrollments.get(
-Remove a specific multi-factor authentication (MFA) enrollment from a user's account. This allows the user to re-enroll with MFA. For more information, review [Reset User Multi-Factor Authentication and Recovery Codes](https://auth0.com/docs/secure/multi-factor-authentication/reset-user-mfa). +Set [multi-factor authentication (MFA) policies](https://auth0.com/docs/secure/multi-factor-authentication/enable-mfa) for your tenant. + +The following policies are supported: + +- `all-applications` policy prompts with MFA for all logins. +- `confidence-score` policy prompts with MFA only for low confidence logins. + +**Note**: The `confidence-score` policy is part of the [Adaptive MFA feature](https://auth0.com/docs/secure/multi-factor-authentication/adaptive-mfa). Adaptive MFA requires an add-on for the Enterprise plan; review [Auth0 Pricing](https://auth0.com/pricing) for more details.
@@ -27481,8 +27714,10 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.guardian.enrollments.delete( - id="id", +client.guardian.policies.set( + request=[ + "all-applications" + ], ) ``` @@ -27499,7 +27734,7 @@ client.guardian.enrollments.delete(
-**id:** `str` — ID of the enrollment to be deleted. +**request:** `SetGuardianPoliciesRequestContent`
@@ -27519,8 +27754,8 @@ client.guardian.enrollments.delete(
-## Guardian Factors -
client.guardian.factors.list() -> typing.List[GuardianFactor] +## Guardian Factors Email +
client.guardian.factors.email.get() -> GetEmailFactorSettingsResponseContent
@@ -27532,7 +27767,7 @@ client.guardian.enrollments.delete(
-Retrieve details of all multi-factor authentication factors associated with your tenant. +TODO: Link this endpoint to relevant documentation when available.
@@ -27555,7 +27790,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.guardian.factors.list() +client.guardian.factors.email.get() ``` @@ -27583,7 +27818,7 @@ client.guardian.factors.list()
-
client.guardian.factors.set(...) -> SetGuardianFactorResponseContent +
client.guardian.factors.email.set(...) -> SetEmailFactorSettingsResponseContent
@@ -27595,7 +27830,7 @@ client.guardian.factors.list()
-Update the status (i.e., enabled or disabled) of a specific multi-factor authentication factor. +TODO: Link this endpoint to relevant documentation when available.
@@ -27618,9 +27853,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.guardian.factors.set( - name="push-notification", - enabled=True, +client.guardian.factors.email.set( + otp_length=1, + otp_expiration_time=1, ) ``` @@ -27637,7 +27872,7 @@ client.guardian.factors.set(
-**name:** `GuardianFactorNameEnum` — Factor name. Can be `sms`, `push-notification`, `email`, `duo` `otp` `webauthn-roaming`, `webauthn-platform`, or `recovery-code`. +**otp_length:** `int` — The length of the OTP code.
@@ -27645,7 +27880,7 @@ client.guardian.factors.set(
-**enabled:** `bool` — Whether this factor is enabled (true) or disabled (false). +**otp_expiration_time:** `int` — The OTP expiration time in seconds.
@@ -27665,8 +27900,8 @@ client.guardian.factors.set(
-## Guardian Policies -
client.guardian.policies.list() -> ListGuardianPoliciesResponseContent +## Guardian Factors Phone +
client.guardian.factors.phone.get_message_types() -> GetGuardianFactorPhoneMessageTypesResponseContent
@@ -27678,14 +27913,7 @@ client.guardian.factors.set(
-Retrieve the [multi-factor authentication (MFA) policies](https://auth0.com/docs/secure/multi-factor-authentication/enable-mfa) configured for your tenant. - -The following policies are supported: - -- `all-applications` policy prompts with MFA for all logins. -- `confidence-score` policy prompts with MFA only for low confidence logins. - -**Note**: The `confidence-score` policy is part of the [Adaptive MFA feature](https://auth0.com/docs/secure/multi-factor-authentication/adaptive-mfa). Adaptive MFA requires an add-on for the Enterprise plan; review [Auth0 Pricing](https://auth0.com/pricing) for more details. +Retrieve list of phone-type MFA factors (i.e., sms and voice) that are enabled for your tenant.
@@ -27708,7 +27936,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.guardian.policies.list() +client.guardian.factors.phone.get_message_types() ``` @@ -27736,7 +27964,7 @@ client.guardian.policies.list()
-
client.guardian.policies.set(...) -> SetGuardianPoliciesResponseContent +
client.guardian.factors.phone.set_message_types(...) -> SetGuardianFactorPhoneMessageTypesResponseContent
@@ -27748,14 +27976,7 @@ client.guardian.policies.list()
-Set [multi-factor authentication (MFA) policies](https://auth0.com/docs/secure/multi-factor-authentication/enable-mfa) for your tenant. - -The following policies are supported: - -- `all-applications` policy prompts with MFA for all logins. -- `confidence-score` policy prompts with MFA only for low confidence logins. - -**Note**: The `confidence-score` policy is part of the [Adaptive MFA feature](https://auth0.com/docs/secure/multi-factor-authentication/adaptive-mfa). Adaptive MFA requires an add-on for the Enterprise plan; review [Auth0 Pricing](https://auth0.com/pricing) for more details. +Replace the list of phone-type MFA factors (i.e., sms and voice) that are enabled for your tenant.
@@ -27778,9 +27999,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.guardian.policies.set( - request=[ - "all-applications" +client.guardian.factors.phone.set_message_types( + message_types=[ + "sms" ], ) @@ -27798,7 +28019,7 @@ client.guardian.policies.set(
-**request:** `SetGuardianPoliciesRequestContent` +**message_types:** `typing.List[GuardianFactorPhoneFactorMessageTypeEnum]` — The list of phone factors to enable on the tenant. Can include `sms` and `voice`.
@@ -27818,8 +28039,7 @@ client.guardian.policies.set(
-## Guardian Factors Phone -
client.guardian.factors.phone.get_message_types() -> GetGuardianFactorPhoneMessageTypesResponseContent +
client.guardian.factors.phone.get_twilio_provider() -> GetGuardianFactorsProviderPhoneTwilioResponseContent
@@ -27831,7 +28051,7 @@ client.guardian.policies.set(
-Retrieve list of phone-type MFA factors (i.e., sms and voice) that are enabled for your tenant. +Retrieve configuration details for a Twilio phone provider that has been set up in your tenant. To learn more, review Configure SMS and Voice Notifications for MFA.
@@ -27854,7 +28074,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.guardian.factors.phone.get_message_types() +client.guardian.factors.phone.get_twilio_provider() ``` @@ -27882,7 +28102,7 @@ client.guardian.factors.phone.get_message_types()
-
client.guardian.factors.phone.set_message_types(...) -> SetGuardianFactorPhoneMessageTypesResponseContent +
client.guardian.factors.phone.set_twilio_provider(...) -> SetGuardianFactorsProviderPhoneTwilioResponseContent
@@ -27894,7 +28114,7 @@ client.guardian.factors.phone.get_message_types()
-Replace the list of phone-type MFA factors (i.e., sms and voice) that are enabled for your tenant. +Update the configuration of a Twilio phone provider that has been set up in your tenant. To learn more, review Configure SMS and Voice Notifications for MFA.
@@ -27917,11 +28137,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.guardian.factors.phone.set_message_types( - message_types=[ - "sms" - ], -) +client.guardian.factors.phone.set_twilio_provider() ``` @@ -27937,7 +28153,31 @@ client.guardian.factors.phone.set_message_types(
-**message_types:** `typing.List[GuardianFactorPhoneFactorMessageTypeEnum]` — The list of phone factors to enable on the tenant. Can include `sms` and `voice`. +**from:** `typing.Optional[str]` — From number + +
+
+ +
+
+ +**messaging_service_sid:** `typing.Optional[str]` — Copilot SID + +
+
+ +
+
+ +**auth_token:** `typing.Optional[str]` — Twilio Authentication token + +
+
+ +
+
+ +**sid:** `typing.Optional[str]` — Twilio SID
@@ -27957,7 +28197,7 @@ client.guardian.factors.phone.set_message_types(
-
client.guardian.factors.phone.get_twilio_provider() -> GetGuardianFactorsProviderPhoneTwilioResponseContent +
client.guardian.factors.phone.get_selected_provider() -> GetGuardianFactorsProviderPhoneResponseContent
@@ -27969,7 +28209,7 @@ client.guardian.factors.phone.set_message_types(
-Retrieve configuration details for a Twilio phone provider that has been set up in your tenant. To learn more, review Configure SMS and Voice Notifications for MFA. +Retrieve details of the multi-factor authentication phone provider configured for your tenant.
@@ -27992,7 +28232,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.guardian.factors.phone.get_twilio_provider() +client.guardian.factors.phone.get_selected_provider() ``` @@ -28020,24 +28260,10 @@ client.guardian.factors.phone.get_twilio_provider()
-
client.guardian.factors.phone.set_twilio_provider(...) -> SetGuardianFactorsProviderPhoneTwilioResponseContent -
-
- -#### 📝 Description - -
-
- +
client.guardian.factors.phone.set_provider(...) -> SetGuardianFactorsProviderPhoneResponseContent
-Update the configuration of a Twilio phone provider that has been set up in your tenant. To learn more, review Configure SMS and Voice Notifications for MFA. -
-
-
-
- #### 🔌 Usage
@@ -28055,7 +28281,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.guardian.factors.phone.set_twilio_provider() +client.guardian.factors.phone.set_provider( + provider="auth0", +) ```
@@ -28071,31 +28299,7 @@ client.guardian.factors.phone.set_twilio_provider()
-**from:** `typing.Optional[str]` — From number - -
-
- -
-
- -**messaging_service_sid:** `typing.Optional[str]` — Copilot SID - -
-
- -
-
- -**auth_token:** `typing.Optional[str]` — Twilio Authentication token - -
-
- -
-
- -**sid:** `typing.Optional[str]` — Twilio SID +**provider:** `GuardianFactorsProviderSmsProviderEnum`
@@ -28115,7 +28319,7 @@ client.guardian.factors.phone.set_twilio_provider()
-
client.guardian.factors.phone.get_selected_provider() -> GetGuardianFactorsProviderPhoneResponseContent +
client.guardian.factors.phone.get() -> GetPhoneFactorSettingsResponseContent
@@ -28127,7 +28331,7 @@ client.guardian.factors.phone.set_twilio_provider()
-Retrieve details of the multi-factor authentication phone provider configured for your tenant. +TODO: Link this endpoint to relevant documentation when available.
@@ -28150,7 +28354,7 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.guardian.factors.phone.get_selected_provider() +client.guardian.factors.phone.get() ``` @@ -28178,10 +28382,24 @@ client.guardian.factors.phone.get_selected_provider()
-
client.guardian.factors.phone.set_provider(...) -> SetGuardianFactorsProviderPhoneResponseContent +
client.guardian.factors.phone.set(...) -> SetPhoneFactorSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+
+TODO: Link this endpoint to relevant documentation when available. +
+
+
+
+ #### 🔌 Usage
@@ -28199,8 +28417,9 @@ client = Auth0( environment=Auth0Environment.DEFAULT, ) -client.guardian.factors.phone.set_provider( - provider="auth0", +client.guardian.factors.phone.set( + otp_length=1, + otp_expiration_time=1, ) ``` @@ -28217,7 +28436,15 @@ client.guardian.factors.phone.set_provider(
-**provider:** `GuardianFactorsProviderSmsProviderEnum` +**otp_length:** `int` — The length of the OTP code. + +
+
+ +
+
+ +**otp_expiration_time:** `int` — The OTP expiration time in seconds.
diff --git a/src/auth0/management/__init__.py b/src/auth0/management/__init__.py index 1723f3ca..d9396e43 100644 --- a/src/auth0/management/__init__.py +++ b/src/auth0/management/__init__.py @@ -60,9 +60,11 @@ AculOrganizationMetadata, AculRenderingModeEnum, AddOrganizationConnectionResponseContent, + AdvanceRampResponseContent, AgentMetadata, AgentResponseContent, AnomalyIpFormat, + AnonymousSessions, AppMetadata, AssessorsTypeEnum, AssociateOrganizationClientGrantResponseContent, @@ -798,6 +800,7 @@ CreateActionModuleResponseContent, CreateActionModuleVersionResponseContent, CreateActionResponseContent, + CreateAnonymousSessions, CreateBrandingPhoneProviderResponseContent, CreateBrandingThemeResponseContent, CreateClientAuthenticationMethodSelfSignedTlsClientAuth, @@ -3079,6 +3082,7 @@ GetDefaultDomainResponseContent, GetDirectoryProvisioningDefaultMappingResponseContent, GetDirectoryProvisioningResponseContent, + GetEmailFactorSettingsResponseContent, GetEmailProviderResponseContent, GetEmailTemplateResponseContent, GetEncryptionKeyResponseContent, @@ -3104,6 +3108,7 @@ GetGuardianFactorsProviderSmsResponseContent, GetGuardianFactorsProviderSmsTwilioResponseContent, GetGuardianFactorsProviderSnsResponseContent, + GetGuardianSettingsResponseContent, GetHookResponseContent, GetHookSecretResponseContent, GetJobErrorResponseContent, @@ -3124,6 +3129,7 @@ GetOrganizationInvitationResponseContent, GetOrganizationResponseContent, GetPartialsResponseContent, + GetPhoneFactorSettingsResponseContent, GetPhoneProviderProtectionResponseContent, GetPhoneTemplateResponseContent, GetRateLimitPolicyResponseContent, @@ -3230,7 +3236,6 @@ ListOrganizationMembersPaginatedResponseContent, ListOrganizationRoleGroupsResponseContent, ListOrganizationRoleMembersResponseContent, - ListOrganizationTemplatesPaginatedResponseContent, ListOrganizationsPaginatedResponseContent, ListPhoneTemplatesResponseContent, ListRateLimitPoliciesPaginatedResponseContent, @@ -3245,7 +3250,6 @@ ListSelfServiceProfileCustomTextResponseContent, ListSelfServiceProfilesPaginatedResponseContent, ListSynchronizedGroupsResponseContent, - ListTemplateOrganizationsPaginatedResponseContent, ListTokenExchangeProfileResponseContent, ListUserAttributeProfileTemplateResponseContent, ListUserAttributeProfilesPaginatedResponseContent, @@ -3372,9 +3376,9 @@ OrganizationMemberEffectiveRoleSource, OrganizationMemberRole, OrganizationMetadata, + OrganizationSortFieldEnum, OrganizationTemplate, OrganizationTemplateAllowedStrategyEnum, - OrganizationTemplateAssignedOrganization, OrganizationTemplateRoleVisibilityEnum, OrganizationTemplateRoleVisibilityOverride, OrganizationTemplateRoleVisibilityPolicy, @@ -3456,7 +3460,11 @@ ResourceServerProofOfPossessionMechanismEnum, ResourceServerProofOfPossessionRequiredForEnum, ResourceServerScope, + ResourceServerSearchResponse, + ResourceServerSortFieldEnum, ResourceServerSubjectTypeAuthorization, + ResourceServerSubjectTypeAuthorizationAnonymousUser, + ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum, ResourceServerSubjectTypeAuthorizationClient, ResourceServerSubjectTypeAuthorizationClientPolicyEnum, ResourceServerSubjectTypeAuthorizationUser, @@ -3487,6 +3495,10 @@ ScimTokenItem, ScreenGroupNameEnum, SearchEngineVersionsEnum, + SearchOrganization, + SearchOrganizationsPaginatedResponseContent, + SearchParserEnum, + SearchResourceServersResponseContent, SelfServiceProfile, SelfServiceProfileAllowedStrategyEnum, SelfServiceProfileBranding, @@ -3523,6 +3535,7 @@ SessionMetadata, SessionResponseContent, SetCustomSigningKeysResponseContent, + SetEmailFactorSettingsResponseContent, SetEmailTemplateResponseContent, SetGuardianFactorDuoSettingsResponseContent, SetGuardianFactorPhoneMessageTypesResponseContent, @@ -3540,8 +3553,10 @@ SetGuardianFactorsProviderSmsTwilioResponseContent, SetGuardianPoliciesRequestContent, SetGuardianPoliciesResponseContent, + SetGuardianSettingsResponseContent, SetNetworkAclsResponseContent, SetPartialsRequestContent, + SetPhoneFactorSettingsResponseContent, SetRulesConfigResponseContent, SetSelfServiceProfileCustomTextRequestContent, SetSelfServiceProfileCustomTextResponseContent, @@ -3583,6 +3598,7 @@ TenantSettingsPasswordPage, TenantSettingsResourceParameterProfile, TenantSettingsSessions, + TenantSettingsSessionsAnonymous, TenantSettingsSupportedLocalesEnum, TestActionPayload, TestActionResponseContent, @@ -3611,6 +3627,7 @@ UpdateActionModuleResponseContent, UpdateActionResponseContent, UpdateAculResponseContent, + UpdateAnonymousSessions, UpdateAttackProtectionCaptchaResponseContent, UpdateBotDetectionSettingsResponseContent, UpdateBrandingColors, @@ -3796,6 +3813,7 @@ ConflictError, ContentTooLargeError, ForbiddenError, + GatewayTimeoutError, GoneError, InternalServerError, NotFoundError, @@ -3822,6 +3840,7 @@ emails, event_streams, events, + experimentation, flows, forms, groups, @@ -3832,7 +3851,6 @@ log_streams, logs, network_acls, - organization_templates, organizations, prompts, rate_limit_policies, @@ -3916,9 +3934,11 @@ "AculOrganizationMetadata": ".types", "AculRenderingModeEnum": ".types", "AddOrganizationConnectionResponseContent": ".types", + "AdvanceRampResponseContent": ".types", "AgentMetadata": ".types", "AgentResponseContent": ".types", "AnomalyIpFormat": ".types", + "AnonymousSessions": ".types", "AppMetadata": ".types", "AssessorsTypeEnum": ".types", "AssociateOrganizationClientGrantResponseContent": ".types", @@ -4662,6 +4682,7 @@ "CreateActionModuleResponseContent": ".types", "CreateActionModuleVersionResponseContent": ".types", "CreateActionResponseContent": ".types", + "CreateAnonymousSessions": ".types", "CreateBrandingPhoneProviderResponseContent": ".types", "CreateBrandingThemeResponseContent": ".types", "CreateClientAuthenticationMethodSelfSignedTlsClientAuth": ".types", @@ -6914,6 +6935,7 @@ "FormWidgetTypeGMapsAddressConst": ".types", "FormWidgetTypeRecaptchaConst": ".types", "FormsRequestParametersHydrateEnum": ".types", + "GatewayTimeoutError": ".errors", "GetActionExecutionResponseContent": ".types", "GetActionModuleActionsResponseContent": ".types", "GetActionModuleResponseContent": ".types", @@ -6948,6 +6970,7 @@ "GetDefaultDomainResponseContent": ".types", "GetDirectoryProvisioningDefaultMappingResponseContent": ".types", "GetDirectoryProvisioningResponseContent": ".types", + "GetEmailFactorSettingsResponseContent": ".types", "GetEmailProviderResponseContent": ".types", "GetEmailTemplateResponseContent": ".types", "GetEncryptionKeyResponseContent": ".types", @@ -6973,6 +6996,7 @@ "GetGuardianFactorsProviderSmsResponseContent": ".types", "GetGuardianFactorsProviderSmsTwilioResponseContent": ".types", "GetGuardianFactorsProviderSnsResponseContent": ".types", + "GetGuardianSettingsResponseContent": ".types", "GetHookResponseContent": ".types", "GetHookSecretResponseContent": ".types", "GetJobErrorResponseContent": ".types", @@ -6993,6 +7017,7 @@ "GetOrganizationInvitationResponseContent": ".types", "GetOrganizationResponseContent": ".types", "GetPartialsResponseContent": ".types", + "GetPhoneFactorSettingsResponseContent": ".types", "GetPhoneProviderProtectionResponseContent": ".types", "GetPhoneTemplateResponseContent": ".types", "GetRateLimitPolicyResponseContent": ".types", @@ -7101,7 +7126,6 @@ "ListOrganizationMembersPaginatedResponseContent": ".types", "ListOrganizationRoleGroupsResponseContent": ".types", "ListOrganizationRoleMembersResponseContent": ".types", - "ListOrganizationTemplatesPaginatedResponseContent": ".types", "ListOrganizationsPaginatedResponseContent": ".types", "ListPhoneTemplatesResponseContent": ".types", "ListRateLimitPoliciesPaginatedResponseContent": ".types", @@ -7116,7 +7140,6 @@ "ListSelfServiceProfileCustomTextResponseContent": ".types", "ListSelfServiceProfilesPaginatedResponseContent": ".types", "ListSynchronizedGroupsResponseContent": ".types", - "ListTemplateOrganizationsPaginatedResponseContent": ".types", "ListTokenExchangeProfileResponseContent": ".types", "ListUserAttributeProfileTemplateResponseContent": ".types", "ListUserAttributeProfilesPaginatedResponseContent": ".types", @@ -7245,9 +7268,9 @@ "OrganizationMemberEffectiveRoleSource": ".types", "OrganizationMemberRole": ".types", "OrganizationMetadata": ".types", + "OrganizationSortFieldEnum": ".types", "OrganizationTemplate": ".types", "OrganizationTemplateAllowedStrategyEnum": ".types", - "OrganizationTemplateAssignedOrganization": ".types", "OrganizationTemplateRoleVisibilityEnum": ".types", "OrganizationTemplateRoleVisibilityOverride": ".types", "OrganizationTemplateRoleVisibilityPolicy": ".types", @@ -7331,7 +7354,11 @@ "ResourceServerProofOfPossessionMechanismEnum": ".types", "ResourceServerProofOfPossessionRequiredForEnum": ".types", "ResourceServerScope": ".types", + "ResourceServerSearchResponse": ".types", + "ResourceServerSortFieldEnum": ".types", "ResourceServerSubjectTypeAuthorization": ".types", + "ResourceServerSubjectTypeAuthorizationAnonymousUser": ".types", + "ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum": ".types", "ResourceServerSubjectTypeAuthorizationClient": ".types", "ResourceServerSubjectTypeAuthorizationClientPolicyEnum": ".types", "ResourceServerSubjectTypeAuthorizationUser": ".types", @@ -7362,6 +7389,10 @@ "ScimTokenItem": ".types", "ScreenGroupNameEnum": ".types", "SearchEngineVersionsEnum": ".types", + "SearchOrganization": ".types", + "SearchOrganizationsPaginatedResponseContent": ".types", + "SearchParserEnum": ".types", + "SearchResourceServersResponseContent": ".types", "SelfServiceProfile": ".types", "SelfServiceProfileAllowedStrategyEnum": ".types", "SelfServiceProfileBranding": ".types", @@ -7399,6 +7430,7 @@ "SessionMetadata": ".types", "SessionResponseContent": ".types", "SetCustomSigningKeysResponseContent": ".types", + "SetEmailFactorSettingsResponseContent": ".types", "SetEmailTemplateResponseContent": ".types", "SetGuardianFactorDuoSettingsResponseContent": ".types", "SetGuardianFactorPhoneMessageTypesResponseContent": ".types", @@ -7416,8 +7448,10 @@ "SetGuardianFactorsProviderSmsTwilioResponseContent": ".types", "SetGuardianPoliciesRequestContent": ".types", "SetGuardianPoliciesResponseContent": ".types", + "SetGuardianSettingsResponseContent": ".types", "SetNetworkAclsResponseContent": ".types", "SetPartialsRequestContent": ".types", + "SetPhoneFactorSettingsResponseContent": ".types", "SetRulesConfigResponseContent": ".types", "SetSelfServiceProfileCustomTextRequestContent": ".types", "SetSelfServiceProfileCustomTextResponseContent": ".types", @@ -7459,6 +7493,7 @@ "TenantSettingsPasswordPage": ".types", "TenantSettingsResourceParameterProfile": ".types", "TenantSettingsSessions": ".types", + "TenantSettingsSessionsAnonymous": ".types", "TenantSettingsSupportedLocalesEnum": ".types", "TestActionPayload": ".types", "TestActionResponseContent": ".types", @@ -7491,6 +7526,7 @@ "UpdateActionModuleResponseContent": ".types", "UpdateActionResponseContent": ".types", "UpdateAculResponseContent": ".types", + "UpdateAnonymousSessions": ".types", "UpdateAttackProtectionCaptchaResponseContent": ".types", "UpdateBotDetectionSettingsResponseContent": ".types", "UpdateBrandingColors": ".types", @@ -7686,6 +7722,7 @@ "emails": ".emails", "event_streams": ".event_streams", "events": ".events", + "experimentation": ".experimentation", "flows": ".flows", "forms": ".forms", "groups": ".groups", @@ -7696,7 +7733,6 @@ "log_streams": ".log_streams", "logs": ".logs", "network_acls": ".network_acls", - "organization_templates": ".organization_templates", "organizations": ".organizations", "prompts": ".prompts", "rate_limit_policies": ".rate_limit_policies", @@ -7796,9 +7832,11 @@ def __dir__(): "AculOrganizationMetadata", "AculRenderingModeEnum", "AddOrganizationConnectionResponseContent", + "AdvanceRampResponseContent", "AgentMetadata", "AgentResponseContent", "AnomalyIpFormat", + "AnonymousSessions", "AppMetadata", "AssessorsTypeEnum", "AssociateOrganizationClientGrantResponseContent", @@ -8542,6 +8580,7 @@ def __dir__(): "CreateActionModuleResponseContent", "CreateActionModuleVersionResponseContent", "CreateActionResponseContent", + "CreateAnonymousSessions", "CreateBrandingPhoneProviderResponseContent", "CreateBrandingThemeResponseContent", "CreateClientAuthenticationMethodSelfSignedTlsClientAuth", @@ -10794,6 +10833,7 @@ def __dir__(): "FormWidgetTypeGMapsAddressConst", "FormWidgetTypeRecaptchaConst", "FormsRequestParametersHydrateEnum", + "GatewayTimeoutError", "GetActionExecutionResponseContent", "GetActionModuleActionsResponseContent", "GetActionModuleResponseContent", @@ -10828,6 +10868,7 @@ def __dir__(): "GetDefaultDomainResponseContent", "GetDirectoryProvisioningDefaultMappingResponseContent", "GetDirectoryProvisioningResponseContent", + "GetEmailFactorSettingsResponseContent", "GetEmailProviderResponseContent", "GetEmailTemplateResponseContent", "GetEncryptionKeyResponseContent", @@ -10853,6 +10894,7 @@ def __dir__(): "GetGuardianFactorsProviderSmsResponseContent", "GetGuardianFactorsProviderSmsTwilioResponseContent", "GetGuardianFactorsProviderSnsResponseContent", + "GetGuardianSettingsResponseContent", "GetHookResponseContent", "GetHookSecretResponseContent", "GetJobErrorResponseContent", @@ -10873,6 +10915,7 @@ def __dir__(): "GetOrganizationInvitationResponseContent", "GetOrganizationResponseContent", "GetPartialsResponseContent", + "GetPhoneFactorSettingsResponseContent", "GetPhoneProviderProtectionResponseContent", "GetPhoneTemplateResponseContent", "GetRateLimitPolicyResponseContent", @@ -10981,7 +11024,6 @@ def __dir__(): "ListOrganizationMembersPaginatedResponseContent", "ListOrganizationRoleGroupsResponseContent", "ListOrganizationRoleMembersResponseContent", - "ListOrganizationTemplatesPaginatedResponseContent", "ListOrganizationsPaginatedResponseContent", "ListPhoneTemplatesResponseContent", "ListRateLimitPoliciesPaginatedResponseContent", @@ -10996,7 +11038,6 @@ def __dir__(): "ListSelfServiceProfileCustomTextResponseContent", "ListSelfServiceProfilesPaginatedResponseContent", "ListSynchronizedGroupsResponseContent", - "ListTemplateOrganizationsPaginatedResponseContent", "ListTokenExchangeProfileResponseContent", "ListUserAttributeProfileTemplateResponseContent", "ListUserAttributeProfilesPaginatedResponseContent", @@ -11125,9 +11166,9 @@ def __dir__(): "OrganizationMemberEffectiveRoleSource", "OrganizationMemberRole", "OrganizationMetadata", + "OrganizationSortFieldEnum", "OrganizationTemplate", "OrganizationTemplateAllowedStrategyEnum", - "OrganizationTemplateAssignedOrganization", "OrganizationTemplateRoleVisibilityEnum", "OrganizationTemplateRoleVisibilityOverride", "OrganizationTemplateRoleVisibilityPolicy", @@ -11211,7 +11252,11 @@ def __dir__(): "ResourceServerProofOfPossessionMechanismEnum", "ResourceServerProofOfPossessionRequiredForEnum", "ResourceServerScope", + "ResourceServerSearchResponse", + "ResourceServerSortFieldEnum", "ResourceServerSubjectTypeAuthorization", + "ResourceServerSubjectTypeAuthorizationAnonymousUser", + "ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum", "ResourceServerSubjectTypeAuthorizationClient", "ResourceServerSubjectTypeAuthorizationClientPolicyEnum", "ResourceServerSubjectTypeAuthorizationUser", @@ -11242,6 +11287,10 @@ def __dir__(): "ScimTokenItem", "ScreenGroupNameEnum", "SearchEngineVersionsEnum", + "SearchOrganization", + "SearchOrganizationsPaginatedResponseContent", + "SearchParserEnum", + "SearchResourceServersResponseContent", "SelfServiceProfile", "SelfServiceProfileAllowedStrategyEnum", "SelfServiceProfileBranding", @@ -11279,6 +11328,7 @@ def __dir__(): "SessionMetadata", "SessionResponseContent", "SetCustomSigningKeysResponseContent", + "SetEmailFactorSettingsResponseContent", "SetEmailTemplateResponseContent", "SetGuardianFactorDuoSettingsResponseContent", "SetGuardianFactorPhoneMessageTypesResponseContent", @@ -11296,8 +11346,10 @@ def __dir__(): "SetGuardianFactorsProviderSmsTwilioResponseContent", "SetGuardianPoliciesRequestContent", "SetGuardianPoliciesResponseContent", + "SetGuardianSettingsResponseContent", "SetNetworkAclsResponseContent", "SetPartialsRequestContent", + "SetPhoneFactorSettingsResponseContent", "SetRulesConfigResponseContent", "SetSelfServiceProfileCustomTextRequestContent", "SetSelfServiceProfileCustomTextResponseContent", @@ -11339,6 +11391,7 @@ def __dir__(): "TenantSettingsPasswordPage", "TenantSettingsResourceParameterProfile", "TenantSettingsSessions", + "TenantSettingsSessionsAnonymous", "TenantSettingsSupportedLocalesEnum", "TestActionPayload", "TestActionResponseContent", @@ -11371,6 +11424,7 @@ def __dir__(): "UpdateActionModuleResponseContent", "UpdateActionResponseContent", "UpdateAculResponseContent", + "UpdateAnonymousSessions", "UpdateAttackProtectionCaptchaResponseContent", "UpdateBotDetectionSettingsResponseContent", "UpdateBrandingColors", @@ -11566,6 +11620,7 @@ def __dir__(): "emails", "event_streams", "events", + "experimentation", "flows", "forms", "groups", @@ -11576,7 +11631,6 @@ def __dir__(): "log_streams", "logs", "network_acls", - "organization_templates", "organizations", "prompts", "rate_limit_policies", diff --git a/src/auth0/management/client.py b/src/auth0/management/client.py index 46214e6a..d333a975 100644 --- a/src/auth0/management/client.py +++ b/src/auth0/management/client.py @@ -25,6 +25,7 @@ from .emails.client import AsyncEmailsClient, EmailsClient from .event_streams.client import AsyncEventStreamsClient, EventStreamsClient from .events.client import AsyncEventsClient, EventsClient + from .experimentation.client import AsyncExperimentationClient, ExperimentationClient from .flows.client import AsyncFlowsClient, FlowsClient from .forms.client import AsyncFormsClient, FormsClient from .groups.client import AsyncGroupsClient, GroupsClient @@ -35,7 +36,6 @@ from .log_streams.client import AsyncLogStreamsClient, LogStreamsClient from .logs.client import AsyncLogsClient, LogsClient from .network_acls.client import AsyncNetworkAclsClient, NetworkAclsClient - from .organization_templates.client import AsyncOrganizationTemplatesClient, OrganizationTemplatesClient from .organizations.client import AsyncOrganizationsClient, OrganizationsClient from .prompts.client import AsyncPromptsClient, PromptsClient from .rate_limit_policies.client import AsyncRateLimitPoliciesClient, RateLimitPoliciesClient @@ -171,12 +171,12 @@ def __init__( self._forms: typing.Optional[FormsClient] = None self._user_grants: typing.Optional[UserGrantsClient] = None self._groups: typing.Optional[GroupsClient] = None + self._guardian: typing.Optional[GuardianClient] = None self._hooks: typing.Optional[HooksClient] = None self._jobs: typing.Optional[JobsClient] = None self._log_streams: typing.Optional[LogStreamsClient] = None self._logs: typing.Optional[LogsClient] = None self._network_acls: typing.Optional[NetworkAclsClient] = None - self._organization_templates: typing.Optional[OrganizationTemplatesClient] = None self._organizations: typing.Optional[OrganizationsClient] = None self._prompts: typing.Optional[PromptsClient] = None self._rate_limit_policies: typing.Optional[RateLimitPoliciesClient] = None @@ -197,7 +197,7 @@ def __init__( self._anomaly: typing.Optional[AnomalyClient] = None self._attack_protection: typing.Optional[AttackProtectionClient] = None self._emails: typing.Optional[EmailsClient] = None - self._guardian: typing.Optional[GuardianClient] = None + self._experimentation: typing.Optional[ExperimentationClient] = None self._keys: typing.Optional[KeysClient] = None self._risk_assessments: typing.Optional[RiskAssessmentsClient] = None self._tenants: typing.Optional[TenantsClient] = None @@ -331,6 +331,14 @@ def groups(self): self._groups = GroupsClient(client_wrapper=self._client_wrapper) return self._groups + @property + def guardian(self): + if self._guardian is None: + from .guardian.client import GuardianClient # noqa: E402 + + self._guardian = GuardianClient(client_wrapper=self._client_wrapper) + return self._guardian + @property def hooks(self): if self._hooks is None: @@ -371,14 +379,6 @@ def network_acls(self): self._network_acls = NetworkAclsClient(client_wrapper=self._client_wrapper) return self._network_acls - @property - def organization_templates(self): - if self._organization_templates is None: - from .organization_templates.client import OrganizationTemplatesClient # noqa: E402 - - self._organization_templates = OrganizationTemplatesClient(client_wrapper=self._client_wrapper) - return self._organization_templates - @property def organizations(self): if self._organizations is None: @@ -540,12 +540,12 @@ def emails(self): return self._emails @property - def guardian(self): - if self._guardian is None: - from .guardian.client import GuardianClient # noqa: E402 + def experimentation(self): + if self._experimentation is None: + from .experimentation.client import ExperimentationClient # noqa: E402 - self._guardian = GuardianClient(client_wrapper=self._client_wrapper) - return self._guardian + self._experimentation = ExperimentationClient(client_wrapper=self._client_wrapper) + return self._experimentation @property def keys(self): @@ -713,12 +713,12 @@ def __init__( self._forms: typing.Optional[AsyncFormsClient] = None self._user_grants: typing.Optional[AsyncUserGrantsClient] = None self._groups: typing.Optional[AsyncGroupsClient] = None + self._guardian: typing.Optional[AsyncGuardianClient] = None self._hooks: typing.Optional[AsyncHooksClient] = None self._jobs: typing.Optional[AsyncJobsClient] = None self._log_streams: typing.Optional[AsyncLogStreamsClient] = None self._logs: typing.Optional[AsyncLogsClient] = None self._network_acls: typing.Optional[AsyncNetworkAclsClient] = None - self._organization_templates: typing.Optional[AsyncOrganizationTemplatesClient] = None self._organizations: typing.Optional[AsyncOrganizationsClient] = None self._prompts: typing.Optional[AsyncPromptsClient] = None self._rate_limit_policies: typing.Optional[AsyncRateLimitPoliciesClient] = None @@ -739,7 +739,7 @@ def __init__( self._anomaly: typing.Optional[AsyncAnomalyClient] = None self._attack_protection: typing.Optional[AsyncAttackProtectionClient] = None self._emails: typing.Optional[AsyncEmailsClient] = None - self._guardian: typing.Optional[AsyncGuardianClient] = None + self._experimentation: typing.Optional[AsyncExperimentationClient] = None self._keys: typing.Optional[AsyncKeysClient] = None self._risk_assessments: typing.Optional[AsyncRiskAssessmentsClient] = None self._tenants: typing.Optional[AsyncTenantsClient] = None @@ -873,6 +873,14 @@ def groups(self): self._groups = AsyncGroupsClient(client_wrapper=self._client_wrapper) return self._groups + @property + def guardian(self): + if self._guardian is None: + from .guardian.client import AsyncGuardianClient # noqa: E402 + + self._guardian = AsyncGuardianClient(client_wrapper=self._client_wrapper) + return self._guardian + @property def hooks(self): if self._hooks is None: @@ -913,14 +921,6 @@ def network_acls(self): self._network_acls = AsyncNetworkAclsClient(client_wrapper=self._client_wrapper) return self._network_acls - @property - def organization_templates(self): - if self._organization_templates is None: - from .organization_templates.client import AsyncOrganizationTemplatesClient # noqa: E402 - - self._organization_templates = AsyncOrganizationTemplatesClient(client_wrapper=self._client_wrapper) - return self._organization_templates - @property def organizations(self): if self._organizations is None: @@ -1082,12 +1082,12 @@ def emails(self): return self._emails @property - def guardian(self): - if self._guardian is None: - from .guardian.client import AsyncGuardianClient # noqa: E402 + def experimentation(self): + if self._experimentation is None: + from .experimentation.client import AsyncExperimentationClient # noqa: E402 - self._guardian = AsyncGuardianClient(client_wrapper=self._client_wrapper) - return self._guardian + self._experimentation = AsyncExperimentationClient(client_wrapper=self._client_wrapper) + return self._experimentation @property def keys(self): diff --git a/src/auth0/management/clients/client.py b/src/auth0/management/clients/client.py index 0f6c2b83..1afcf22d 100644 --- a/src/auth0/management/clients/client.py +++ b/src/auth0/management/clients/client.py @@ -47,6 +47,7 @@ ClientTokenVaultPrivilegedAccessWithCredentialId, ) from ..types.client_token_vault_privileged_access_with_public_key import ClientTokenVaultPrivilegedAccessWithPublicKey +from ..types.create_anonymous_sessions import CreateAnonymousSessions from ..types.create_client_response_content import CreateClientResponseContent from ..types.create_identity_assertion_authorization_grant import CreateIdentityAssertionAuthorizationGrant from ..types.create_token_quota import CreateTokenQuota @@ -61,6 +62,7 @@ from ..types.preview_cimd_metadata_response_content import PreviewCimdMetadataResponseContent from ..types.register_cimd_client_response_content import RegisterCimdClientResponseContent from ..types.rotate_client_secret_response_content import RotateClientSecretResponseContent +from ..types.update_anonymous_sessions import UpdateAnonymousSessions from ..types.update_client_response_content import UpdateClientResponseContent from ..types.update_identity_assertion_authorization_grant import UpdateIdentityAssertionAuthorizationGrant from ..types.update_token_quota import UpdateTokenQuota @@ -266,6 +268,7 @@ def create( token_quota: typing.Optional[CreateTokenQuota] = OMIT, resource_server_identifier: typing.Optional[str] = OMIT, identity_assertion_authorization_grant: typing.Optional[CreateIdentityAssertionAuthorizationGrant] = OMIT, + anonymous_sessions: typing.Optional[CreateAnonymousSessions] = OMIT, third_party_security_mode: typing.Optional[ClientThirdPartySecurityModeEnum] = OMIT, redirection_policy: typing.Optional[ClientRedirectionPolicyEnum] = OMIT, express_configuration: typing.Optional[ExpressConfiguration] = OMIT, @@ -427,6 +430,8 @@ def create( identity_assertion_authorization_grant : typing.Optional[CreateIdentityAssertionAuthorizationGrant] + anonymous_sessions : typing.Optional[CreateAnonymousSessions] + third_party_security_mode : typing.Optional[ClientThirdPartySecurityModeEnum] redirection_policy : typing.Optional[ClientRedirectionPolicyEnum] @@ -510,6 +515,7 @@ def create( token_quota=token_quota, resource_server_identifier=resource_server_identifier, identity_assertion_authorization_grant=identity_assertion_authorization_grant, + anonymous_sessions=anonymous_sessions, third_party_security_mode=third_party_security_mode, redirection_policy=redirection_policy, express_configuration=express_configuration, @@ -739,6 +745,7 @@ def update( custom_login_page_preview: typing.Optional[str] = OMIT, token_quota: typing.Optional[UpdateTokenQuota] = OMIT, identity_assertion_authorization_grant: typing.Optional[UpdateIdentityAssertionAuthorizationGrant] = OMIT, + anonymous_sessions: typing.Optional[UpdateAnonymousSessions] = OMIT, form_template: typing.Optional[str] = OMIT, addons: typing.Optional[ClientAddons] = OMIT, client_metadata: typing.Optional[ClientMetadata] = OMIT, @@ -869,6 +876,8 @@ def update( identity_assertion_authorization_grant : typing.Optional[UpdateIdentityAssertionAuthorizationGrant] + anonymous_sessions : typing.Optional[UpdateAnonymousSessions] + form_template : typing.Optional[str] Form template for WS-Federation protocol @@ -984,6 +993,7 @@ def update( custom_login_page_preview=custom_login_page_preview, token_quota=token_quota, identity_assertion_authorization_grant=identity_assertion_authorization_grant, + anonymous_sessions=anonymous_sessions, form_template=form_template, addons=addons, client_metadata=client_metadata, @@ -1271,6 +1281,7 @@ async def create( token_quota: typing.Optional[CreateTokenQuota] = OMIT, resource_server_identifier: typing.Optional[str] = OMIT, identity_assertion_authorization_grant: typing.Optional[CreateIdentityAssertionAuthorizationGrant] = OMIT, + anonymous_sessions: typing.Optional[CreateAnonymousSessions] = OMIT, third_party_security_mode: typing.Optional[ClientThirdPartySecurityModeEnum] = OMIT, redirection_policy: typing.Optional[ClientRedirectionPolicyEnum] = OMIT, express_configuration: typing.Optional[ExpressConfiguration] = OMIT, @@ -1432,6 +1443,8 @@ async def create( identity_assertion_authorization_grant : typing.Optional[CreateIdentityAssertionAuthorizationGrant] + anonymous_sessions : typing.Optional[CreateAnonymousSessions] + third_party_security_mode : typing.Optional[ClientThirdPartySecurityModeEnum] redirection_policy : typing.Optional[ClientRedirectionPolicyEnum] @@ -1523,6 +1536,7 @@ async def main() -> None: token_quota=token_quota, resource_server_identifier=resource_server_identifier, identity_assertion_authorization_grant=identity_assertion_authorization_grant, + anonymous_sessions=anonymous_sessions, third_party_security_mode=third_party_security_mode, redirection_policy=redirection_policy, express_configuration=express_configuration, @@ -1784,6 +1798,7 @@ async def update( custom_login_page_preview: typing.Optional[str] = OMIT, token_quota: typing.Optional[UpdateTokenQuota] = OMIT, identity_assertion_authorization_grant: typing.Optional[UpdateIdentityAssertionAuthorizationGrant] = OMIT, + anonymous_sessions: typing.Optional[UpdateAnonymousSessions] = OMIT, form_template: typing.Optional[str] = OMIT, addons: typing.Optional[ClientAddons] = OMIT, client_metadata: typing.Optional[ClientMetadata] = OMIT, @@ -1914,6 +1929,8 @@ async def update( identity_assertion_authorization_grant : typing.Optional[UpdateIdentityAssertionAuthorizationGrant] + anonymous_sessions : typing.Optional[UpdateAnonymousSessions] + form_template : typing.Optional[str] Form template for WS-Federation protocol @@ -2037,6 +2054,7 @@ async def main() -> None: custom_login_page_preview=custom_login_page_preview, token_quota=token_quota, identity_assertion_authorization_grant=identity_assertion_authorization_grant, + anonymous_sessions=anonymous_sessions, form_template=form_template, addons=addons, client_metadata=client_metadata, diff --git a/src/auth0/management/clients/raw_client.py b/src/auth0/management/clients/raw_client.py index abecfcbc..26e09a59 100644 --- a/src/auth0/management/clients/raw_client.py +++ b/src/auth0/management/clients/raw_client.py @@ -59,6 +59,7 @@ ClientTokenVaultPrivilegedAccessWithCredentialId, ) from ..types.client_token_vault_privileged_access_with_public_key import ClientTokenVaultPrivilegedAccessWithPublicKey +from ..types.create_anonymous_sessions import CreateAnonymousSessions from ..types.create_client_response_content import CreateClientResponseContent from ..types.create_identity_assertion_authorization_grant import CreateIdentityAssertionAuthorizationGrant from ..types.create_token_quota import CreateTokenQuota @@ -73,6 +74,7 @@ from ..types.preview_cimd_metadata_response_content import PreviewCimdMetadataResponseContent from ..types.register_cimd_client_response_content import RegisterCimdClientResponseContent from ..types.rotate_client_secret_response_content import RotateClientSecretResponseContent +from ..types.update_anonymous_sessions import UpdateAnonymousSessions from ..types.update_client_response_content import UpdateClientResponseContent from ..types.update_identity_assertion_authorization_grant import UpdateIdentityAssertionAuthorizationGrant from ..types.update_token_quota import UpdateTokenQuota @@ -319,6 +321,7 @@ def create( token_quota: typing.Optional[CreateTokenQuota] = OMIT, resource_server_identifier: typing.Optional[str] = OMIT, identity_assertion_authorization_grant: typing.Optional[CreateIdentityAssertionAuthorizationGrant] = OMIT, + anonymous_sessions: typing.Optional[CreateAnonymousSessions] = OMIT, third_party_security_mode: typing.Optional[ClientThirdPartySecurityModeEnum] = OMIT, redirection_policy: typing.Optional[ClientRedirectionPolicyEnum] = OMIT, express_configuration: typing.Optional[ExpressConfiguration] = OMIT, @@ -480,6 +483,8 @@ def create( identity_assertion_authorization_grant : typing.Optional[CreateIdentityAssertionAuthorizationGrant] + anonymous_sessions : typing.Optional[CreateAnonymousSessions] + third_party_security_mode : typing.Optional[ClientThirdPartySecurityModeEnum] redirection_policy : typing.Optional[ClientRedirectionPolicyEnum] @@ -601,6 +606,9 @@ def create( annotation=CreateIdentityAssertionAuthorizationGrant, direction="write", ), + "anonymous_sessions": convert_and_respect_annotation_metadata( + object_=anonymous_sessions, annotation=CreateAnonymousSessions, direction="write" + ), "third_party_security_mode": third_party_security_mode, "redirection_policy": redirection_policy, "express_configuration": convert_and_respect_annotation_metadata( @@ -1178,6 +1186,7 @@ def update( custom_login_page_preview: typing.Optional[str] = OMIT, token_quota: typing.Optional[UpdateTokenQuota] = OMIT, identity_assertion_authorization_grant: typing.Optional[UpdateIdentityAssertionAuthorizationGrant] = OMIT, + anonymous_sessions: typing.Optional[UpdateAnonymousSessions] = OMIT, form_template: typing.Optional[str] = OMIT, addons: typing.Optional[ClientAddons] = OMIT, client_metadata: typing.Optional[ClientMetadata] = OMIT, @@ -1308,6 +1317,8 @@ def update( identity_assertion_authorization_grant : typing.Optional[UpdateIdentityAssertionAuthorizationGrant] + anonymous_sessions : typing.Optional[UpdateAnonymousSessions] + form_template : typing.Optional[str] Form template for WS-Federation protocol @@ -1432,6 +1443,9 @@ def update( annotation=typing.Optional[UpdateIdentityAssertionAuthorizationGrant], direction="write", ), + "anonymous_sessions": convert_and_respect_annotation_metadata( + object_=anonymous_sessions, annotation=typing.Optional[UpdateAnonymousSessions], direction="write" + ), "form_template": form_template, "addons": convert_and_respect_annotation_metadata( object_=addons, annotation=ClientAddons, direction="write" @@ -1925,6 +1939,7 @@ async def create( token_quota: typing.Optional[CreateTokenQuota] = OMIT, resource_server_identifier: typing.Optional[str] = OMIT, identity_assertion_authorization_grant: typing.Optional[CreateIdentityAssertionAuthorizationGrant] = OMIT, + anonymous_sessions: typing.Optional[CreateAnonymousSessions] = OMIT, third_party_security_mode: typing.Optional[ClientThirdPartySecurityModeEnum] = OMIT, redirection_policy: typing.Optional[ClientRedirectionPolicyEnum] = OMIT, express_configuration: typing.Optional[ExpressConfiguration] = OMIT, @@ -2086,6 +2101,8 @@ async def create( identity_assertion_authorization_grant : typing.Optional[CreateIdentityAssertionAuthorizationGrant] + anonymous_sessions : typing.Optional[CreateAnonymousSessions] + third_party_security_mode : typing.Optional[ClientThirdPartySecurityModeEnum] redirection_policy : typing.Optional[ClientRedirectionPolicyEnum] @@ -2207,6 +2224,9 @@ async def create( annotation=CreateIdentityAssertionAuthorizationGrant, direction="write", ), + "anonymous_sessions": convert_and_respect_annotation_metadata( + object_=anonymous_sessions, annotation=CreateAnonymousSessions, direction="write" + ), "third_party_security_mode": third_party_security_mode, "redirection_policy": redirection_policy, "express_configuration": convert_and_respect_annotation_metadata( @@ -2786,6 +2806,7 @@ async def update( custom_login_page_preview: typing.Optional[str] = OMIT, token_quota: typing.Optional[UpdateTokenQuota] = OMIT, identity_assertion_authorization_grant: typing.Optional[UpdateIdentityAssertionAuthorizationGrant] = OMIT, + anonymous_sessions: typing.Optional[UpdateAnonymousSessions] = OMIT, form_template: typing.Optional[str] = OMIT, addons: typing.Optional[ClientAddons] = OMIT, client_metadata: typing.Optional[ClientMetadata] = OMIT, @@ -2916,6 +2937,8 @@ async def update( identity_assertion_authorization_grant : typing.Optional[UpdateIdentityAssertionAuthorizationGrant] + anonymous_sessions : typing.Optional[UpdateAnonymousSessions] + form_template : typing.Optional[str] Form template for WS-Federation protocol @@ -3040,6 +3063,9 @@ async def update( annotation=typing.Optional[UpdateIdentityAssertionAuthorizationGrant], direction="write", ), + "anonymous_sessions": convert_and_respect_annotation_metadata( + object_=anonymous_sessions, annotation=typing.Optional[UpdateAnonymousSessions], direction="write" + ), "form_template": form_template, "addons": convert_and_respect_annotation_metadata( object_=addons, annotation=ClientAddons, direction="write" diff --git a/src/auth0/management/core/client_wrapper.py b/src/auth0/management/core/client_wrapper.py index fd991f52..abce2c81 100644 --- a/src/auth0/management/core/client_wrapper.py +++ b/src/auth0/management/core/client_wrapper.py @@ -1,11 +1,6 @@ # 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 @@ -35,18 +30,7 @@ def __init__( 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()}" diff --git a/src/auth0/management/device_credentials/client.py b/src/auth0/management/device_credentials/client.py index e813868e..f5ebdc82 100644 --- a/src/auth0/management/device_credentials/client.py +++ b/src/auth0/management/device_credentials/client.py @@ -73,7 +73,7 @@ def list( client_id of the devices to retrieve. type : typing.Optional[DeviceCredentialTypeEnum] - Type of credentials to retrieve. Must be `public_key`, `refresh_token` or `rotating_refresh_token`. The property will default to `refresh_token` when paging is requested + Type of credentials to retrieve. Must be `public_key`, `refresh_token` or `rotating_refresh_token`. If none is provided a combined list of `refresh_tokens` and `public_keys` will be returned (and no `rotating_refresh_token`), in this case `page`, `per_page` and `include_totals` will be ignored. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -267,7 +267,7 @@ async def list( client_id of the devices to retrieve. type : typing.Optional[DeviceCredentialTypeEnum] - Type of credentials to retrieve. Must be `public_key`, `refresh_token` or `rotating_refresh_token`. The property will default to `refresh_token` when paging is requested + Type of credentials to retrieve. Must be `public_key`, `refresh_token` or `rotating_refresh_token`. If none is provided a combined list of `refresh_tokens` and `public_keys` will be returned (and no `rotating_refresh_token`), in this case `page`, `per_page` and `include_totals` will be ignored. request_options : typing.Optional[RequestOptions] Request-specific configuration. diff --git a/src/auth0/management/device_credentials/raw_client.py b/src/auth0/management/device_credentials/raw_client.py index 5178819f..8a8d025d 100644 --- a/src/auth0/management/device_credentials/raw_client.py +++ b/src/auth0/management/device_credentials/raw_client.py @@ -73,7 +73,7 @@ def list( client_id of the devices to retrieve. type : typing.Optional[DeviceCredentialTypeEnum] - Type of credentials to retrieve. Must be `public_key`, `refresh_token` or `rotating_refresh_token`. The property will default to `refresh_token` when paging is requested + Type of credentials to retrieve. Must be `public_key`, `refresh_token` or `rotating_refresh_token`. If none is provided a combined list of `refresh_tokens` and `public_keys` will be returned (and no `rotating_refresh_token`), in this case `page`, `per_page` and `include_totals` will be ignored. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -427,7 +427,7 @@ async def list( client_id of the devices to retrieve. type : typing.Optional[DeviceCredentialTypeEnum] - Type of credentials to retrieve. Must be `public_key`, `refresh_token` or `rotating_refresh_token`. The property will default to `refresh_token` when paging is requested + Type of credentials to retrieve. Must be `public_key`, `refresh_token` or `rotating_refresh_token`. If none is provided a combined list of `refresh_tokens` and `public_keys` will be returned (and no `rotating_refresh_token`), in this case `page`, `per_page` and `include_totals` will be ignored. request_options : typing.Optional[RequestOptions] Request-specific configuration. diff --git a/src/auth0/management/errors/__init__.py b/src/auth0/management/errors/__init__.py index 01a117bf..11a6e4ce 100644 --- a/src/auth0/management/errors/__init__.py +++ b/src/auth0/management/errors/__init__.py @@ -10,6 +10,7 @@ from .conflict_error import ConflictError from .content_too_large_error import ContentTooLargeError from .forbidden_error import ForbiddenError + from .gateway_timeout_error import GatewayTimeoutError from .gone_error import GoneError from .internal_server_error import InternalServerError from .not_found_error import NotFoundError @@ -24,6 +25,7 @@ "ConflictError": ".conflict_error", "ContentTooLargeError": ".content_too_large_error", "ForbiddenError": ".forbidden_error", + "GatewayTimeoutError": ".gateway_timeout_error", "GoneError": ".gone_error", "InternalServerError": ".internal_server_error", "NotFoundError": ".not_found_error", @@ -62,6 +64,7 @@ def __dir__(): "ConflictError", "ContentTooLargeError", "ForbiddenError", + "GatewayTimeoutError", "GoneError", "InternalServerError", "NotFoundError", diff --git a/src/auth0/management/errors/gateway_timeout_error.py b/src/auth0/management/errors/gateway_timeout_error.py new file mode 100644 index 00000000..b4a41342 --- /dev/null +++ b/src/auth0/management/errors/gateway_timeout_error.py @@ -0,0 +1,10 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from ..core.api_error import ApiError + + +class GatewayTimeoutError(ApiError): + def __init__(self, body: typing.Any, headers: typing.Optional[typing.Dict[str, str]] = None): + super().__init__(status_code=504, headers=headers, body=body) diff --git a/src/auth0/management/experimentation/__init__.py b/src/auth0/management/experimentation/__init__.py new file mode 100644 index 00000000..ae95c3f6 --- /dev/null +++ b/src/auth0/management/experimentation/__init__.py @@ -0,0 +1,34 @@ +# This file was auto-generated by Fern from our API Definition. + +# isort: skip_file + +import typing +from importlib import import_module + +if typing.TYPE_CHECKING: + from . import experiments +_dynamic_imports: typing.Dict[str, str] = {"experiments": ".experiments"} + + +def __getattr__(attr_name: str) -> typing.Any: + module_name = _dynamic_imports.get(attr_name) + if module_name is None: + raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}") + try: + module = import_module(module_name, __package__) + if module_name == f".{attr_name}": + return module + else: + return getattr(module, attr_name) + except ImportError as e: + raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e + except AttributeError as e: + raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e + + +def __dir__(): + lazy_attrs = list(_dynamic_imports.keys()) + return sorted(lazy_attrs) + + +__all__ = ["experiments"] diff --git a/src/auth0/management/experimentation/client.py b/src/auth0/management/experimentation/client.py new file mode 100644 index 00000000..bdb6c823 --- /dev/null +++ b/src/auth0/management/experimentation/client.py @@ -0,0 +1,63 @@ +# This file was auto-generated by Fern from our API Definition. + +from __future__ import annotations + +import typing + +from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from .raw_client import AsyncRawExperimentationClient, RawExperimentationClient + +if typing.TYPE_CHECKING: + from .experiments.client import AsyncExperimentsClient, ExperimentsClient + + +class ExperimentationClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._raw_client = RawExperimentationClient(client_wrapper=client_wrapper) + self._client_wrapper = client_wrapper + self._experiments: typing.Optional[ExperimentsClient] = None + + @property + def with_raw_response(self) -> RawExperimentationClient: + """ + Retrieves a raw implementation of this client that returns raw responses. + + Returns + ------- + RawExperimentationClient + """ + return self._raw_client + + @property + def experiments(self): + if self._experiments is None: + from .experiments.client import ExperimentsClient # noqa: E402 + + self._experiments = ExperimentsClient(client_wrapper=self._client_wrapper) + return self._experiments + + +class AsyncExperimentationClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._raw_client = AsyncRawExperimentationClient(client_wrapper=client_wrapper) + self._client_wrapper = client_wrapper + self._experiments: typing.Optional[AsyncExperimentsClient] = None + + @property + def with_raw_response(self) -> AsyncRawExperimentationClient: + """ + Retrieves a raw implementation of this client that returns raw responses. + + Returns + ------- + AsyncRawExperimentationClient + """ + return self._raw_client + + @property + def experiments(self): + if self._experiments is None: + from .experiments.client import AsyncExperimentsClient # noqa: E402 + + self._experiments = AsyncExperimentsClient(client_wrapper=self._client_wrapper) + return self._experiments diff --git a/src/auth0/management/organization_templates/__init__.py b/src/auth0/management/experimentation/experiments/__init__.py similarity index 100% rename from src/auth0/management/organization_templates/__init__.py rename to src/auth0/management/experimentation/experiments/__init__.py diff --git a/src/auth0/management/experimentation/experiments/client.py b/src/auth0/management/experimentation/experiments/client.py new file mode 100644 index 00000000..11593bfd --- /dev/null +++ b/src/auth0/management/experimentation/experiments/client.py @@ -0,0 +1,125 @@ +# 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.advance_ramp_response_content import AdvanceRampResponseContent +from .raw_client import AsyncRawExperimentsClient, RawExperimentsClient + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class ExperimentsClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._raw_client = RawExperimentsClient(client_wrapper=client_wrapper) + + @property + def with_raw_response(self) -> RawExperimentsClient: + """ + Retrieves a raw implementation of this client that returns raw responses. + + Returns + ------- + RawExperimentsClient + """ + return self._raw_client + + def advance_ramp( + self, id: str, *, target_level: int, request_options: typing.Optional[RequestOptions] = None + ) -> AdvanceRampResponseContent: + """ + Increments the current ramp index to the requested target level. Up-only: the target must be the immediate next level in the schedule. Idempotent: calling with the current level returns success without writing anything. + + Parameters + ---------- + id : str + The ID of the experiment to advance. + + target_level : int + The target percentage level from the experiment schedule. Must be the immediate next level. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AdvanceRampResponseContent + Ramp advanced successfully. + + Examples + -------- + from auth0 import Auth0 + + client = Auth0( + token="YOUR_TOKEN", + ) + client.experimentation.experiments.advance_ramp( + id="id", + target_level=1, + ) + """ + _response = self._raw_client.advance_ramp(id, target_level=target_level, request_options=request_options) + return _response.data + + +class AsyncExperimentsClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._raw_client = AsyncRawExperimentsClient(client_wrapper=client_wrapper) + + @property + def with_raw_response(self) -> AsyncRawExperimentsClient: + """ + Retrieves a raw implementation of this client that returns raw responses. + + Returns + ------- + AsyncRawExperimentsClient + """ + return self._raw_client + + async def advance_ramp( + self, id: str, *, target_level: int, request_options: typing.Optional[RequestOptions] = None + ) -> AdvanceRampResponseContent: + """ + Increments the current ramp index to the requested target level. Up-only: the target must be the immediate next level in the schedule. Idempotent: calling with the current level returns success without writing anything. + + Parameters + ---------- + id : str + The ID of the experiment to advance. + + target_level : int + The target percentage level from the experiment schedule. Must be the immediate next level. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AdvanceRampResponseContent + Ramp advanced successfully. + + Examples + -------- + import asyncio + + from auth0 import AsyncAuth0 + + client = AsyncAuth0( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.experimentation.experiments.advance_ramp( + id="id", + target_level=1, + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.advance_ramp(id, target_level=target_level, request_options=request_options) + return _response.data diff --git a/src/auth0/management/experimentation/experiments/raw_client.py b/src/auth0/management/experimentation/experiments/raw_client.py new file mode 100644 index 00000000..30e3b1aa --- /dev/null +++ b/src/auth0/management/experimentation/experiments/raw_client.py @@ -0,0 +1,271 @@ +# 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 ...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.advance_ramp_response_content import AdvanceRampResponseContent +from pydantic import ValidationError + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class RawExperimentsClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._client_wrapper = client_wrapper + + def advance_ramp( + self, id: str, *, target_level: int, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[AdvanceRampResponseContent]: + """ + Increments the current ramp index to the requested target level. Up-only: the target must be the immediate next level in the schedule. Idempotent: calling with the current level returns success without writing anything. + + Parameters + ---------- + id : str + The ID of the experiment to advance. + + target_level : int + The target percentage level from the experiment schedule. Must be the immediate next level. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[AdvanceRampResponseContent] + Ramp advanced successfully. + """ + _response = self._client_wrapper.httpx_client.request( + f"experimentation/experiments/{quote_path_param(id)}/advance-ramp", + method="POST", + json={ + "target_level": target_level, + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + AdvanceRampResponseContent, + parse_obj_as( + type_=AdvanceRampResponseContent, # 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 AsyncRawExperimentsClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper + + async def advance_ramp( + self, id: str, *, target_level: int, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[AdvanceRampResponseContent]: + """ + Increments the current ramp index to the requested target level. Up-only: the target must be the immediate next level in the schedule. Idempotent: calling with the current level returns success without writing anything. + + Parameters + ---------- + id : str + The ID of the experiment to advance. + + target_level : int + The target percentage level from the experiment schedule. Must be the immediate next level. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[AdvanceRampResponseContent] + Ramp advanced successfully. + """ + _response = await self._client_wrapper.httpx_client.request( + f"experimentation/experiments/{quote_path_param(id)}/advance-ramp", + method="POST", + json={ + "target_level": target_level, + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + AdvanceRampResponseContent, + parse_obj_as( + type_=AdvanceRampResponseContent, # 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/experimentation/raw_client.py b/src/auth0/management/experimentation/raw_client.py new file mode 100644 index 00000000..0364beba --- /dev/null +++ b/src/auth0/management/experimentation/raw_client.py @@ -0,0 +1,13 @@ +# This file was auto-generated by Fern from our API Definition. + +from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper + + +class RawExperimentationClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._client_wrapper = client_wrapper + + +class AsyncRawExperimentationClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper diff --git a/src/auth0/management/guardian/client.py b/src/auth0/management/guardian/client.py index 9dcab484..6cb2053a 100644 --- a/src/auth0/management/guardian/client.py +++ b/src/auth0/management/guardian/client.py @@ -5,12 +5,17 @@ import typing from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ..core.request_options import RequestOptions +from ..types.get_guardian_settings_response_content import GetGuardianSettingsResponseContent +from ..types.set_guardian_settings_response_content import SetGuardianSettingsResponseContent from .raw_client import AsyncRawGuardianClient, RawGuardianClient if typing.TYPE_CHECKING: from .enrollments.client import AsyncEnrollmentsClient, EnrollmentsClient from .factors.client import AsyncFactorsClient, FactorsClient from .policies.client import AsyncPoliciesClient, PoliciesClient +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) class GuardianClient: @@ -32,6 +37,89 @@ def with_raw_response(self) -> RawGuardianClient: """ return self._raw_client + def get(self, *, request_options: typing.Optional[RequestOptions] = None) -> GetGuardianSettingsResponseContent: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + GetGuardianSettingsResponseContent + Returns the Guardian settings. + + Examples + -------- + from auth0 import Auth0 + + client = Auth0( + token="YOUR_TOKEN", + ) + client.guardian.get() + """ + _response = self._raw_client.get(request_options=request_options) + return _response.data + + def set( + self, + *, + display_remember_me_checkbox: bool, + remember_me_default_value: bool, + mfa_session_inactivity_timeout: int, + mfa_session_overall_timeout: int, + request_options: typing.Optional[RequestOptions] = None, + ) -> SetGuardianSettingsResponseContent: + """ + Update a tenant's guardian settings such as Remember Me + + Parameters + ---------- + display_remember_me_checkbox : bool + Determines whether to display the "Remember Me" checkbox on the MFA prompt in Universal Login. + + remember_me_default_value : bool + Determines the default state of the "Remember Me" checkbox on the MFA prompt in Universal Login. + + mfa_session_inactivity_timeout : int + Duration of inactivity after which the user will be prompted for MFA. Represented as seconds. Minimum duration is 1 hour, maximum is 30 days, and cannot exceed the overall timeout. + + mfa_session_overall_timeout : int + Maximum duration after which the user will be prompted for MFA regardless of activity. Represented as seconds. Minimum duration is 1 hour, maximum is 90 days. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + SetGuardianSettingsResponseContent + The Guardian settings have been successfully set. + + Examples + -------- + from auth0 import Auth0 + + client = Auth0( + token="YOUR_TOKEN", + ) + client.guardian.set( + display_remember_me_checkbox=True, + remember_me_default_value=True, + mfa_session_inactivity_timeout=1, + mfa_session_overall_timeout=1, + ) + """ + _response = self._raw_client.set( + display_remember_me_checkbox=display_remember_me_checkbox, + remember_me_default_value=remember_me_default_value, + mfa_session_inactivity_timeout=mfa_session_inactivity_timeout, + mfa_session_overall_timeout=mfa_session_overall_timeout, + request_options=request_options, + ) + return _response.data + @property def enrollments(self): if self._enrollments is None: @@ -76,6 +164,107 @@ def with_raw_response(self) -> AsyncRawGuardianClient: """ return self._raw_client + async def get( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> GetGuardianSettingsResponseContent: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + GetGuardianSettingsResponseContent + Returns the Guardian settings. + + Examples + -------- + import asyncio + + from auth0 import AsyncAuth0 + + client = AsyncAuth0( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.guardian.get() + + + asyncio.run(main()) + """ + _response = await self._raw_client.get(request_options=request_options) + return _response.data + + async def set( + self, + *, + display_remember_me_checkbox: bool, + remember_me_default_value: bool, + mfa_session_inactivity_timeout: int, + mfa_session_overall_timeout: int, + request_options: typing.Optional[RequestOptions] = None, + ) -> SetGuardianSettingsResponseContent: + """ + Update a tenant's guardian settings such as Remember Me + + Parameters + ---------- + display_remember_me_checkbox : bool + Determines whether to display the "Remember Me" checkbox on the MFA prompt in Universal Login. + + remember_me_default_value : bool + Determines the default state of the "Remember Me" checkbox on the MFA prompt in Universal Login. + + mfa_session_inactivity_timeout : int + Duration of inactivity after which the user will be prompted for MFA. Represented as seconds. Minimum duration is 1 hour, maximum is 30 days, and cannot exceed the overall timeout. + + mfa_session_overall_timeout : int + Maximum duration after which the user will be prompted for MFA regardless of activity. Represented as seconds. Minimum duration is 1 hour, maximum is 90 days. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + SetGuardianSettingsResponseContent + The Guardian settings have been successfully set. + + Examples + -------- + import asyncio + + from auth0 import AsyncAuth0 + + client = AsyncAuth0( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.guardian.set( + display_remember_me_checkbox=True, + remember_me_default_value=True, + mfa_session_inactivity_timeout=1, + mfa_session_overall_timeout=1, + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.set( + display_remember_me_checkbox=display_remember_me_checkbox, + remember_me_default_value=remember_me_default_value, + mfa_session_inactivity_timeout=mfa_session_inactivity_timeout, + mfa_session_overall_timeout=mfa_session_overall_timeout, + request_options=request_options, + ) + return _response.data + @property def enrollments(self): if self._enrollments is None: diff --git a/src/auth0/management/guardian/factors/__init__.py b/src/auth0/management/guardian/factors/__init__.py index 4fd6d250..e8abbe21 100644 --- a/src/auth0/management/guardian/factors/__init__.py +++ b/src/auth0/management/guardian/factors/__init__.py @@ -6,9 +6,10 @@ from importlib import import_module if typing.TYPE_CHECKING: - from . import duo, phone, push_notification, sms + from . import duo, email, phone, push_notification, sms _dynamic_imports: typing.Dict[str, str] = { "duo": ".duo", + "email": ".email", "phone": ".phone", "push_notification": ".push_notification", "sms": ".sms", @@ -36,4 +37,4 @@ def __dir__(): return sorted(lazy_attrs) -__all__ = ["duo", "phone", "push_notification", "sms"] +__all__ = ["duo", "email", "phone", "push_notification", "sms"] diff --git a/src/auth0/management/guardian/factors/client.py b/src/auth0/management/guardian/factors/client.py index 52975de1..19481b5f 100644 --- a/src/auth0/management/guardian/factors/client.py +++ b/src/auth0/management/guardian/factors/client.py @@ -13,6 +13,7 @@ if typing.TYPE_CHECKING: from .duo.client import AsyncDuoClient, DuoClient + from .email.client import AsyncEmailClient, EmailClient from .phone.client import AsyncPhoneClient, PhoneClient from .push_notification.client import AsyncPushNotificationClient, PushNotificationClient from .sms.client import AsyncSmsClient, SmsClient @@ -24,6 +25,7 @@ class FactorsClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._raw_client = RawFactorsClient(client_wrapper=client_wrapper) self._client_wrapper = client_wrapper + self._email: typing.Optional[EmailClient] = None self._phone: typing.Optional[PhoneClient] = None self._push_notification: typing.Optional[PushNotificationClient] = None self._sms: typing.Optional[SmsClient] = None @@ -103,6 +105,14 @@ def set( _response = self._raw_client.set(name, enabled=enabled, request_options=request_options) return _response.data + @property + def email(self): + if self._email is None: + from .email.client import EmailClient # noqa: E402 + + self._email = EmailClient(client_wrapper=self._client_wrapper) + return self._email + @property def phone(self): if self._phone is None: @@ -140,6 +150,7 @@ class AsyncFactorsClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._raw_client = AsyncRawFactorsClient(client_wrapper=client_wrapper) self._client_wrapper = client_wrapper + self._email: typing.Optional[AsyncEmailClient] = None self._phone: typing.Optional[AsyncPhoneClient] = None self._push_notification: typing.Optional[AsyncPushNotificationClient] = None self._sms: typing.Optional[AsyncSmsClient] = None @@ -235,6 +246,14 @@ async def main() -> None: _response = await self._raw_client.set(name, enabled=enabled, request_options=request_options) return _response.data + @property + def email(self): + if self._email is None: + from .email.client import AsyncEmailClient # noqa: E402 + + self._email = AsyncEmailClient(client_wrapper=self._client_wrapper) + return self._email + @property def phone(self): if self._phone is None: diff --git a/src/auth0/management/guardian/factors/email/__init__.py b/src/auth0/management/guardian/factors/email/__init__.py new file mode 100644 index 00000000..5cde0202 --- /dev/null +++ b/src/auth0/management/guardian/factors/email/__init__.py @@ -0,0 +1,4 @@ +# This file was auto-generated by Fern from our API Definition. + +# isort: skip_file + diff --git a/src/auth0/management/guardian/factors/email/client.py b/src/auth0/management/guardian/factors/email/client.py new file mode 100644 index 00000000..15166abe --- /dev/null +++ b/src/auth0/management/guardian/factors/email/client.py @@ -0,0 +1,192 @@ +# 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.get_email_factor_settings_response_content import GetEmailFactorSettingsResponseContent +from ....types.set_email_factor_settings_response_content import SetEmailFactorSettingsResponseContent +from .raw_client import AsyncRawEmailClient, RawEmailClient + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class EmailClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._raw_client = RawEmailClient(client_wrapper=client_wrapper) + + @property + def with_raw_response(self) -> RawEmailClient: + """ + Retrieves a raw implementation of this client that returns raw responses. + + Returns + ------- + RawEmailClient + """ + return self._raw_client + + def get(self, *, request_options: typing.Optional[RequestOptions] = None) -> GetEmailFactorSettingsResponseContent: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + GetEmailFactorSettingsResponseContent + Returns the email factor settings. + + Examples + -------- + from auth0 import Auth0 + + client = Auth0( + token="YOUR_TOKEN", + ) + client.guardian.factors.email.get() + """ + _response = self._raw_client.get(request_options=request_options) + return _response.data + + def set( + self, *, otp_length: int, otp_expiration_time: int, request_options: typing.Optional[RequestOptions] = None + ) -> SetEmailFactorSettingsResponseContent: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + otp_length : int + The length of the OTP code. + + otp_expiration_time : int + The OTP expiration time in seconds. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + SetEmailFactorSettingsResponseContent + The email factor settings have been successfully set. + + Examples + -------- + from auth0 import Auth0 + + client = Auth0( + token="YOUR_TOKEN", + ) + client.guardian.factors.email.set( + otp_length=1, + otp_expiration_time=1, + ) + """ + _response = self._raw_client.set( + otp_length=otp_length, otp_expiration_time=otp_expiration_time, request_options=request_options + ) + return _response.data + + +class AsyncEmailClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._raw_client = AsyncRawEmailClient(client_wrapper=client_wrapper) + + @property + def with_raw_response(self) -> AsyncRawEmailClient: + """ + Retrieves a raw implementation of this client that returns raw responses. + + Returns + ------- + AsyncRawEmailClient + """ + return self._raw_client + + async def get( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> GetEmailFactorSettingsResponseContent: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + GetEmailFactorSettingsResponseContent + Returns the email factor settings. + + Examples + -------- + import asyncio + + from auth0 import AsyncAuth0 + + client = AsyncAuth0( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.guardian.factors.email.get() + + + asyncio.run(main()) + """ + _response = await self._raw_client.get(request_options=request_options) + return _response.data + + async def set( + self, *, otp_length: int, otp_expiration_time: int, request_options: typing.Optional[RequestOptions] = None + ) -> SetEmailFactorSettingsResponseContent: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + otp_length : int + The length of the OTP code. + + otp_expiration_time : int + The OTP expiration time in seconds. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + SetEmailFactorSettingsResponseContent + The email factor settings have been successfully set. + + Examples + -------- + import asyncio + + from auth0 import AsyncAuth0 + + client = AsyncAuth0( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.guardian.factors.email.set( + otp_length=1, + otp_expiration_time=1, + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.set( + otp_length=otp_length, otp_expiration_time=otp_expiration_time, request_options=request_options + ) + return _response.data diff --git a/src/auth0/management/guardian/factors/email/raw_client.py b/src/auth0/management/guardian/factors/email/raw_client.py new file mode 100644 index 00000000..7c31a38b --- /dev/null +++ b/src/auth0/management/guardian/factors/email/raw_client.py @@ -0,0 +1,373 @@ +# 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.parse_error import ParsingError +from ....core.pydantic_utilities import parse_obj_as +from ....core.request_options import RequestOptions +from ....errors.bad_request_error import BadRequestError +from ....errors.forbidden_error import ForbiddenError +from ....errors.too_many_requests_error import TooManyRequestsError +from ....errors.unauthorized_error import UnauthorizedError +from ....types.get_email_factor_settings_response_content import GetEmailFactorSettingsResponseContent +from ....types.set_email_factor_settings_response_content import SetEmailFactorSettingsResponseContent +from pydantic import ValidationError + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class RawEmailClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._client_wrapper = client_wrapper + + def get( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[GetEmailFactorSettingsResponseContent]: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[GetEmailFactorSettingsResponseContent] + Returns the email factor settings. + """ + _response = self._client_wrapper.httpx_client.request( + "guardian/factors/email/settings", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + GetEmailFactorSettingsResponseContent, + parse_obj_as( + type_=GetEmailFactorSettingsResponseContent, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + 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 set( + self, *, otp_length: int, otp_expiration_time: int, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[SetEmailFactorSettingsResponseContent]: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + otp_length : int + The length of the OTP code. + + otp_expiration_time : int + The OTP expiration time in seconds. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[SetEmailFactorSettingsResponseContent] + The email factor settings have been successfully set. + """ + _response = self._client_wrapper.httpx_client.request( + "guardian/factors/email/settings", + method="PUT", + json={ + "otp_length": otp_length, + "otp_expiration_time": otp_expiration_time, + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + SetEmailFactorSettingsResponseContent, + parse_obj_as( + type_=SetEmailFactorSettingsResponseContent, # 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) + + +class AsyncRawEmailClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper + + async def get( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[GetEmailFactorSettingsResponseContent]: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[GetEmailFactorSettingsResponseContent] + Returns the email factor settings. + """ + _response = await self._client_wrapper.httpx_client.request( + "guardian/factors/email/settings", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + GetEmailFactorSettingsResponseContent, + parse_obj_as( + type_=GetEmailFactorSettingsResponseContent, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + 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 set( + self, *, otp_length: int, otp_expiration_time: int, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[SetEmailFactorSettingsResponseContent]: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + otp_length : int + The length of the OTP code. + + otp_expiration_time : int + The OTP expiration time in seconds. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[SetEmailFactorSettingsResponseContent] + The email factor settings have been successfully set. + """ + _response = await self._client_wrapper.httpx_client.request( + "guardian/factors/email/settings", + method="PUT", + json={ + "otp_length": otp_length, + "otp_expiration_time": otp_expiration_time, + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + SetEmailFactorSettingsResponseContent, + parse_obj_as( + type_=SetEmailFactorSettingsResponseContent, # 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) diff --git a/src/auth0/management/guardian/factors/phone/client.py b/src/auth0/management/guardian/factors/phone/client.py index da291fbd..b2efa9ae 100644 --- a/src/auth0/management/guardian/factors/phone/client.py +++ b/src/auth0/management/guardian/factors/phone/client.py @@ -16,6 +16,7 @@ from ....types.get_guardian_factors_provider_phone_twilio_response_content import ( GetGuardianFactorsProviderPhoneTwilioResponseContent, ) +from ....types.get_phone_factor_settings_response_content import GetPhoneFactorSettingsResponseContent from ....types.guardian_factor_phone_factor_message_type_enum import GuardianFactorPhoneFactorMessageTypeEnum from ....types.guardian_factors_provider_sms_provider_enum import GuardianFactorsProviderSmsProviderEnum from ....types.set_guardian_factor_phone_message_types_response_content import ( @@ -30,6 +31,7 @@ from ....types.set_guardian_factors_provider_phone_twilio_response_content import ( SetGuardianFactorsProviderPhoneTwilioResponseContent, ) +from ....types.set_phone_factor_settings_response_content import SetPhoneFactorSettingsResponseContent from .raw_client import AsyncRawPhoneClient, RawPhoneClient # this is used as the default value for optional parameters @@ -256,6 +258,71 @@ def set_provider( _response = self._raw_client.set_provider(provider=provider, request_options=request_options) return _response.data + def get(self, *, request_options: typing.Optional[RequestOptions] = None) -> GetPhoneFactorSettingsResponseContent: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + GetPhoneFactorSettingsResponseContent + Returns the phone factor settings. + + Examples + -------- + from auth0 import Auth0 + + client = Auth0( + token="YOUR_TOKEN", + ) + client.guardian.factors.phone.get() + """ + _response = self._raw_client.get(request_options=request_options) + return _response.data + + def set( + self, *, otp_length: int, otp_expiration_time: int, request_options: typing.Optional[RequestOptions] = None + ) -> SetPhoneFactorSettingsResponseContent: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + otp_length : int + The length of the OTP code. + + otp_expiration_time : int + The OTP expiration time in seconds. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + SetPhoneFactorSettingsResponseContent + The phone factor settings have been successfully set. + + Examples + -------- + from auth0 import Auth0 + + client = Auth0( + token="YOUR_TOKEN", + ) + client.guardian.factors.phone.set( + otp_length=1, + otp_expiration_time=1, + ) + """ + _response = self._raw_client.set( + otp_length=otp_length, otp_expiration_time=otp_expiration_time, request_options=request_options + ) + return _response.data + def get_templates( self, *, request_options: typing.Optional[RequestOptions] = None ) -> GetGuardianFactorPhoneTemplatesResponseContent: @@ -600,6 +667,89 @@ async def main() -> None: _response = await self._raw_client.set_provider(provider=provider, request_options=request_options) return _response.data + async def get( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> GetPhoneFactorSettingsResponseContent: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + GetPhoneFactorSettingsResponseContent + Returns the phone factor settings. + + Examples + -------- + import asyncio + + from auth0 import AsyncAuth0 + + client = AsyncAuth0( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.guardian.factors.phone.get() + + + asyncio.run(main()) + """ + _response = await self._raw_client.get(request_options=request_options) + return _response.data + + async def set( + self, *, otp_length: int, otp_expiration_time: int, request_options: typing.Optional[RequestOptions] = None + ) -> SetPhoneFactorSettingsResponseContent: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + otp_length : int + The length of the OTP code. + + otp_expiration_time : int + The OTP expiration time in seconds. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + SetPhoneFactorSettingsResponseContent + The phone factor settings have been successfully set. + + Examples + -------- + import asyncio + + from auth0 import AsyncAuth0 + + client = AsyncAuth0( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.guardian.factors.phone.set( + otp_length=1, + otp_expiration_time=1, + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.set( + otp_length=otp_length, otp_expiration_time=otp_expiration_time, request_options=request_options + ) + return _response.data + async def get_templates( self, *, request_options: typing.Optional[RequestOptions] = None ) -> GetGuardianFactorPhoneTemplatesResponseContent: diff --git a/src/auth0/management/guardian/factors/phone/raw_client.py b/src/auth0/management/guardian/factors/phone/raw_client.py index deb721b0..1cdb74cb 100644 --- a/src/auth0/management/guardian/factors/phone/raw_client.py +++ b/src/auth0/management/guardian/factors/phone/raw_client.py @@ -12,6 +12,7 @@ from ....errors.bad_request_error import BadRequestError 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.get_guardian_factor_phone_message_types_response_content import ( GetGuardianFactorPhoneMessageTypesResponseContent, @@ -25,6 +26,7 @@ from ....types.get_guardian_factors_provider_phone_twilio_response_content import ( GetGuardianFactorsProviderPhoneTwilioResponseContent, ) +from ....types.get_phone_factor_settings_response_content import GetPhoneFactorSettingsResponseContent from ....types.guardian_factor_phone_factor_message_type_enum import GuardianFactorPhoneFactorMessageTypeEnum from ....types.guardian_factors_provider_sms_provider_enum import GuardianFactorsProviderSmsProviderEnum from ....types.set_guardian_factor_phone_message_types_response_content import ( @@ -39,6 +41,7 @@ from ....types.set_guardian_factors_provider_phone_twilio_response_content import ( SetGuardianFactorsProviderPhoneTwilioResponseContent, ) +from ....types.set_phone_factor_settings_response_content import SetPhoneFactorSettingsResponseContent from pydantic import ValidationError # this is used as the default value for optional parameters @@ -549,6 +552,177 @@ def set_provider( ) raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + def get( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[GetPhoneFactorSettingsResponseContent]: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[GetPhoneFactorSettingsResponseContent] + Returns the phone factor settings. + """ + _response = self._client_wrapper.httpx_client.request( + "guardian/factors/phone/settings", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + GetPhoneFactorSettingsResponseContent, + parse_obj_as( + type_=GetPhoneFactorSettingsResponseContent, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + 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 set( + self, *, otp_length: int, otp_expiration_time: int, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[SetPhoneFactorSettingsResponseContent]: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + otp_length : int + The length of the OTP code. + + otp_expiration_time : int + The OTP expiration time in seconds. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[SetPhoneFactorSettingsResponseContent] + The phone factor settings have been successfully set. + """ + _response = self._client_wrapper.httpx_client.request( + "guardian/factors/phone/settings", + method="PUT", + json={ + "otp_length": otp_length, + "otp_expiration_time": otp_expiration_time, + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + SetPhoneFactorSettingsResponseContent, + parse_obj_as( + type_=SetPhoneFactorSettingsResponseContent, # 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_templates( self, *, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[GetGuardianFactorPhoneTemplatesResponseContent]: @@ -1218,6 +1392,177 @@ async def set_provider( ) raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + async def get( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[GetPhoneFactorSettingsResponseContent]: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[GetPhoneFactorSettingsResponseContent] + Returns the phone factor settings. + """ + _response = await self._client_wrapper.httpx_client.request( + "guardian/factors/phone/settings", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + GetPhoneFactorSettingsResponseContent, + parse_obj_as( + type_=GetPhoneFactorSettingsResponseContent, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + 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 set( + self, *, otp_length: int, otp_expiration_time: int, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[SetPhoneFactorSettingsResponseContent]: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + otp_length : int + The length of the OTP code. + + otp_expiration_time : int + The OTP expiration time in seconds. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[SetPhoneFactorSettingsResponseContent] + The phone factor settings have been successfully set. + """ + _response = await self._client_wrapper.httpx_client.request( + "guardian/factors/phone/settings", + method="PUT", + json={ + "otp_length": otp_length, + "otp_expiration_time": otp_expiration_time, + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + SetPhoneFactorSettingsResponseContent, + parse_obj_as( + type_=SetPhoneFactorSettingsResponseContent, # 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_templates( self, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[GetGuardianFactorPhoneTemplatesResponseContent]: diff --git a/src/auth0/management/guardian/raw_client.py b/src/auth0/management/guardian/raw_client.py index 944c20d1..c3ff6067 100644 --- a/src/auth0/management/guardian/raw_client.py +++ b/src/auth0/management/guardian/raw_client.py @@ -1,13 +1,401 @@ # 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.parse_error import ParsingError +from ..core.pydantic_utilities import parse_obj_as +from ..core.request_options import RequestOptions +from ..errors.bad_request_error import BadRequestError +from ..errors.forbidden_error import ForbiddenError +from ..errors.too_many_requests_error import TooManyRequestsError +from ..errors.unauthorized_error import UnauthorizedError +from ..types.get_guardian_settings_response_content import GetGuardianSettingsResponseContent +from ..types.set_guardian_settings_response_content import SetGuardianSettingsResponseContent +from pydantic import ValidationError + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) class RawGuardianClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper + def get( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[GetGuardianSettingsResponseContent]: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[GetGuardianSettingsResponseContent] + Returns the Guardian settings. + """ + _response = self._client_wrapper.httpx_client.request( + "guardian/settings", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + GetGuardianSettingsResponseContent, + parse_obj_as( + type_=GetGuardianSettingsResponseContent, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + 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 set( + self, + *, + display_remember_me_checkbox: bool, + remember_me_default_value: bool, + mfa_session_inactivity_timeout: int, + mfa_session_overall_timeout: int, + request_options: typing.Optional[RequestOptions] = None, + ) -> HttpResponse[SetGuardianSettingsResponseContent]: + """ + Update a tenant's guardian settings such as Remember Me + + Parameters + ---------- + display_remember_me_checkbox : bool + Determines whether to display the "Remember Me" checkbox on the MFA prompt in Universal Login. + + remember_me_default_value : bool + Determines the default state of the "Remember Me" checkbox on the MFA prompt in Universal Login. + + mfa_session_inactivity_timeout : int + Duration of inactivity after which the user will be prompted for MFA. Represented as seconds. Minimum duration is 1 hour, maximum is 30 days, and cannot exceed the overall timeout. + + mfa_session_overall_timeout : int + Maximum duration after which the user will be prompted for MFA regardless of activity. Represented as seconds. Minimum duration is 1 hour, maximum is 90 days. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[SetGuardianSettingsResponseContent] + The Guardian settings have been successfully set. + """ + _response = self._client_wrapper.httpx_client.request( + "guardian/settings", + method="PUT", + json={ + "display_remember_me_checkbox": display_remember_me_checkbox, + "remember_me_default_value": remember_me_default_value, + "mfa_session_inactivity_timeout": mfa_session_inactivity_timeout, + "mfa_session_overall_timeout": mfa_session_overall_timeout, + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + SetGuardianSettingsResponseContent, + parse_obj_as( + type_=SetGuardianSettingsResponseContent, # 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) + class AsyncRawGuardianClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper + + async def get( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[GetGuardianSettingsResponseContent]: + """ + TODO: Link this endpoint to relevant documentation when available. + + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[GetGuardianSettingsResponseContent] + Returns the Guardian settings. + """ + _response = await self._client_wrapper.httpx_client.request( + "guardian/settings", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + GetGuardianSettingsResponseContent, + parse_obj_as( + type_=GetGuardianSettingsResponseContent, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + 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 set( + self, + *, + display_remember_me_checkbox: bool, + remember_me_default_value: bool, + mfa_session_inactivity_timeout: int, + mfa_session_overall_timeout: int, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncHttpResponse[SetGuardianSettingsResponseContent]: + """ + Update a tenant's guardian settings such as Remember Me + + Parameters + ---------- + display_remember_me_checkbox : bool + Determines whether to display the "Remember Me" checkbox on the MFA prompt in Universal Login. + + remember_me_default_value : bool + Determines the default state of the "Remember Me" checkbox on the MFA prompt in Universal Login. + + mfa_session_inactivity_timeout : int + Duration of inactivity after which the user will be prompted for MFA. Represented as seconds. Minimum duration is 1 hour, maximum is 30 days, and cannot exceed the overall timeout. + + mfa_session_overall_timeout : int + Maximum duration after which the user will be prompted for MFA regardless of activity. Represented as seconds. Minimum duration is 1 hour, maximum is 90 days. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[SetGuardianSettingsResponseContent] + The Guardian settings have been successfully set. + """ + _response = await self._client_wrapper.httpx_client.request( + "guardian/settings", + method="PUT", + json={ + "display_remember_me_checkbox": display_remember_me_checkbox, + "remember_me_default_value": remember_me_default_value, + "mfa_session_inactivity_timeout": mfa_session_inactivity_timeout, + "mfa_session_overall_timeout": mfa_session_overall_timeout, + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + SetGuardianSettingsResponseContent, + parse_obj_as( + type_=SetGuardianSettingsResponseContent, # 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) diff --git a/src/auth0/management/organization_templates/client.py b/src/auth0/management/organization_templates/client.py deleted file mode 100644 index be94cb2f..00000000 --- a/src/auth0/management/organization_templates/client.py +++ /dev/null @@ -1,746 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper -from ..core.pagination import AsyncPager, SyncPager -from ..core.request_options import RequestOptions -from ..types.connection_deletion_behavior_enum import ConnectionDeletionBehaviorEnum -from ..types.list_organization_templates_paginated_response_content import ( - ListOrganizationTemplatesPaginatedResponseContent, -) -from ..types.list_template_organizations_paginated_response_content import ( - ListTemplateOrganizationsPaginatedResponseContent, -) -from ..types.organization_deletion_behavior_enum import OrganizationDeletionBehaviorEnum -from ..types.organization_template import OrganizationTemplate -from ..types.organization_template_allowed_strategy_enum import OrganizationTemplateAllowedStrategyEnum -from ..types.organization_template_assigned_organization import OrganizationTemplateAssignedOrganization -from ..types.organization_template_role_visibility_policy import OrganizationTemplateRoleVisibilityPolicy -from ..types.organization_template_use_for_organization_discovery import OrganizationTemplateUseForOrganizationDiscovery -from .raw_client import AsyncRawOrganizationTemplatesClient, RawOrganizationTemplatesClient - -# this is used as the default value for optional parameters -OMIT = typing.cast(typing.Any, ...) - - -class OrganizationTemplatesClient: - def __init__(self, *, client_wrapper: SyncClientWrapper): - self._raw_client = RawOrganizationTemplatesClient(client_wrapper=client_wrapper) - - @property - def with_raw_response(self) -> RawOrganizationTemplatesClient: - """ - Retrieves a raw implementation of this client that returns raw responses. - - Returns - ------- - RawOrganizationTemplatesClient - """ - return self._raw_client - - def list( - self, - *, - from_: typing.Optional[str] = None, - take: typing.Optional[int] = 5, - request_options: typing.Optional[RequestOptions] = None, - ) -> SyncPager[OrganizationTemplate, ListOrganizationTemplatesPaginatedResponseContent]: - """ - Retrieve a list of Organization Templates. This endpoint supports Checkpoint pagination. Results are returned in a stable order, sorted by their identifier (`id`) in ascending order. - - Parameters - ---------- - from_ : typing.Optional[str] - Optional Id from which to start selection. - - take : typing.Optional[int] - Number of results per page. Defaults to 5. Values greater than 10 are capped at 10. - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - SyncPager[OrganizationTemplate, ListOrganizationTemplatesPaginatedResponseContent] - Organization templates successfully retrieved. - - Examples - -------- - from auth0 import Auth0 - - client = Auth0( - token="YOUR_TOKEN", - ) - response = client.organization_templates.list( - from_="from", - take=1, - ) - for item in response: - yield item - # alternatively, you can paginate page-by-page - for page in response.iter_pages(): - yield page - """ - return self._raw_client.list(from_=from_, take=take, request_options=request_options) - - def create( - self, - *, - name: str, - organization_deletion_behavior: OrganizationDeletionBehaviorEnum, - enforce_permission_ceiling: bool, - enforce_self_assignment_restriction: bool, - is_default: typing.Optional[bool] = OMIT, - connection_deletion_behavior: typing.Optional[ConnectionDeletionBehaviorEnum] = OMIT, - connection_profile_id: typing.Optional[str] = OMIT, - user_attribute_profile_id: typing.Optional[str] = OMIT, - allowed_strategies: typing.Optional[typing.Sequence[OrganizationTemplateAllowedStrategyEnum]] = OMIT, - invitation_landing_client_id: typing.Optional[str] = OMIT, - admin_roles_assignment: typing.Optional[typing.Sequence[str]] = OMIT, - use_for_organization_discovery: typing.Optional[OrganizationTemplateUseForOrganizationDiscovery] = OMIT, - role_visibility_policy: typing.Optional[OrganizationTemplateRoleVisibilityPolicy] = OMIT, - request_options: typing.Optional[RequestOptions] = None, - ) -> OrganizationTemplate: - """ - Create an Organization Template. - - Parameters - ---------- - name : str - The name of the organization template. - - organization_deletion_behavior : OrganizationDeletionBehaviorEnum - - enforce_permission_ceiling : bool - Whether to enforce permission ceiling for organizations using this template. - - enforce_self_assignment_restriction : bool - Whether to enforce self-assignment restrictions for organizations using this template. - - is_default : typing.Optional[bool] - Whether this is the default template applied to new organizations. - - connection_deletion_behavior : typing.Optional[ConnectionDeletionBehaviorEnum] - - connection_profile_id : typing.Optional[str] - The connection profile to apply to new connections. - - user_attribute_profile_id : typing.Optional[str] - The user attribute profile to apply to organizations. - - allowed_strategies : typing.Optional[typing.Sequence[OrganizationTemplateAllowedStrategyEnum]] - List of allowed connection strategies for this template. - - invitation_landing_client_id : typing.Optional[str] - The client ID for the invitation landing page. - - admin_roles_assignment : typing.Optional[typing.Sequence[str]] - Default admin roles to assign to organization creators. - - use_for_organization_discovery : typing.Optional[OrganizationTemplateUseForOrganizationDiscovery] - - role_visibility_policy : typing.Optional[OrganizationTemplateRoleVisibilityPolicy] - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - OrganizationTemplate - Organization template successfully created. - - Examples - -------- - from auth0 import Auth0 - - client = Auth0( - token="YOUR_TOKEN", - ) - client.organization_templates.create( - name="name", - organization_deletion_behavior="allow", - enforce_permission_ceiling=True, - enforce_self_assignment_restriction=True, - ) - """ - _response = self._raw_client.create( - name=name, - organization_deletion_behavior=organization_deletion_behavior, - enforce_permission_ceiling=enforce_permission_ceiling, - enforce_self_assignment_restriction=enforce_self_assignment_restriction, - is_default=is_default, - connection_deletion_behavior=connection_deletion_behavior, - connection_profile_id=connection_profile_id, - user_attribute_profile_id=user_attribute_profile_id, - allowed_strategies=allowed_strategies, - invitation_landing_client_id=invitation_landing_client_id, - admin_roles_assignment=admin_roles_assignment, - use_for_organization_discovery=use_for_organization_discovery, - role_visibility_policy=role_visibility_policy, - request_options=request_options, - ) - return _response.data - - def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> OrganizationTemplate: - """ - Retrieve details about a single Organization Template specified by ID. - - Parameters - ---------- - id : str - Organization Template identifier. - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - OrganizationTemplate - Organization template successfully retrieved. - - Examples - -------- - from auth0 import Auth0 - - client = Auth0( - token="YOUR_TOKEN", - ) - client.organization_templates.get( - id="id", - ) - """ - _response = self._raw_client.get(id, request_options=request_options) - return _response.data - - def update( - self, - id: str, - *, - name: typing.Optional[str] = OMIT, - is_default: typing.Optional[bool] = OMIT, - organization_deletion_behavior: typing.Optional[OrganizationDeletionBehaviorEnum] = OMIT, - connection_deletion_behavior: typing.Optional[ConnectionDeletionBehaviorEnum] = OMIT, - enforce_permission_ceiling: typing.Optional[bool] = OMIT, - enforce_self_assignment_restriction: typing.Optional[bool] = OMIT, - connection_profile_id: typing.Optional[str] = OMIT, - user_attribute_profile_id: typing.Optional[str] = OMIT, - allowed_strategies: typing.Optional[typing.Sequence[OrganizationTemplateAllowedStrategyEnum]] = OMIT, - invitation_landing_client_id: typing.Optional[str] = OMIT, - admin_roles_assignment: typing.Optional[typing.Sequence[str]] = OMIT, - use_for_organization_discovery: typing.Optional[OrganizationTemplateUseForOrganizationDiscovery] = OMIT, - role_visibility_policy: typing.Optional[OrganizationTemplateRoleVisibilityPolicy] = OMIT, - request_options: typing.Optional[RequestOptions] = None, - ) -> OrganizationTemplate: - """ - Update the details of a specific Organization Template. - - Parameters - ---------- - id : str - Organization Template identifier. - - name : typing.Optional[str] - The name of the organization template. - - is_default : typing.Optional[bool] - Whether this is the default template applied to new organizations. - - organization_deletion_behavior : typing.Optional[OrganizationDeletionBehaviorEnum] - - connection_deletion_behavior : typing.Optional[ConnectionDeletionBehaviorEnum] - - enforce_permission_ceiling : typing.Optional[bool] - Whether to enforce permission ceiling for organizations using this template. - - enforce_self_assignment_restriction : typing.Optional[bool] - Whether to enforce self-assignment restrictions for organizations using this template. - - connection_profile_id : typing.Optional[str] - The connection profile to apply to new connections. - - user_attribute_profile_id : typing.Optional[str] - The user attribute profile to apply to organizations. - - allowed_strategies : typing.Optional[typing.Sequence[OrganizationTemplateAllowedStrategyEnum]] - List of allowed connection strategies for this template. - - invitation_landing_client_id : typing.Optional[str] - The client ID for the invitation landing page. - - admin_roles_assignment : typing.Optional[typing.Sequence[str]] - Default admin roles to assign to organization creators. - - use_for_organization_discovery : typing.Optional[OrganizationTemplateUseForOrganizationDiscovery] - - role_visibility_policy : typing.Optional[OrganizationTemplateRoleVisibilityPolicy] - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - OrganizationTemplate - Organization template successfully updated. - - Examples - -------- - from auth0 import Auth0 - - client = Auth0( - token="YOUR_TOKEN", - ) - client.organization_templates.update( - id="id", - ) - """ - _response = self._raw_client.update( - id, - name=name, - is_default=is_default, - organization_deletion_behavior=organization_deletion_behavior, - connection_deletion_behavior=connection_deletion_behavior, - enforce_permission_ceiling=enforce_permission_ceiling, - enforce_self_assignment_restriction=enforce_self_assignment_restriction, - connection_profile_id=connection_profile_id, - user_attribute_profile_id=user_attribute_profile_id, - allowed_strategies=allowed_strategies, - invitation_landing_client_id=invitation_landing_client_id, - admin_roles_assignment=admin_roles_assignment, - use_for_organization_discovery=use_for_organization_discovery, - role_visibility_policy=role_visibility_policy, - request_options=request_options, - ) - return _response.data - - def list_organizations( - self, - id: str, - *, - from_: typing.Optional[str] = None, - take: typing.Optional[int] = 5, - request_options: typing.Optional[RequestOptions] = None, - ) -> SyncPager[OrganizationTemplateAssignedOrganization, ListTemplateOrganizationsPaginatedResponseContent]: - """ - Retrieve a list of organizations assigned to an Organization Template. This endpoint supports Checkpoint pagination. Results are returned in a stable order, sorted by their identifier (`id`) in ascending order. - - Parameters - ---------- - id : str - The ID of the organization template. - - from_ : typing.Optional[str] - Optional Id from which to start selection. - - take : typing.Optional[int] - Number of results per page. Defaults to 5. Values greater than 10 are capped at 10. - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - SyncPager[OrganizationTemplateAssignedOrganization, ListTemplateOrganizationsPaginatedResponseContent] - Organizations successfully retrieved. - - Examples - -------- - from auth0 import Auth0 - - client = Auth0( - token="YOUR_TOKEN", - ) - response = client.organization_templates.list_organizations( - id="id", - from_="from", - take=1, - ) - for item in response: - yield item - # alternatively, you can paginate page-by-page - for page in response.iter_pages(): - yield page - """ - return self._raw_client.list_organizations(id, from_=from_, take=take, request_options=request_options) - - -class AsyncOrganizationTemplatesClient: - def __init__(self, *, client_wrapper: AsyncClientWrapper): - self._raw_client = AsyncRawOrganizationTemplatesClient(client_wrapper=client_wrapper) - - @property - def with_raw_response(self) -> AsyncRawOrganizationTemplatesClient: - """ - Retrieves a raw implementation of this client that returns raw responses. - - Returns - ------- - AsyncRawOrganizationTemplatesClient - """ - return self._raw_client - - async def list( - self, - *, - from_: typing.Optional[str] = None, - take: typing.Optional[int] = 5, - request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncPager[OrganizationTemplate, ListOrganizationTemplatesPaginatedResponseContent]: - """ - Retrieve a list of Organization Templates. This endpoint supports Checkpoint pagination. Results are returned in a stable order, sorted by their identifier (`id`) in ascending order. - - Parameters - ---------- - from_ : typing.Optional[str] - Optional Id from which to start selection. - - take : typing.Optional[int] - Number of results per page. Defaults to 5. Values greater than 10 are capped at 10. - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - AsyncPager[OrganizationTemplate, ListOrganizationTemplatesPaginatedResponseContent] - Organization templates successfully retrieved. - - Examples - -------- - import asyncio - - from auth0 import AsyncAuth0 - - client = AsyncAuth0( - token="YOUR_TOKEN", - ) - - - async def main() -> None: - response = await client.organization_templates.list( - from_="from", - take=1, - ) - async for item in response: - yield item - - # alternatively, you can paginate page-by-page - async for page in response.iter_pages(): - yield page - - - asyncio.run(main()) - """ - return await self._raw_client.list(from_=from_, take=take, request_options=request_options) - - async def create( - self, - *, - name: str, - organization_deletion_behavior: OrganizationDeletionBehaviorEnum, - enforce_permission_ceiling: bool, - enforce_self_assignment_restriction: bool, - is_default: typing.Optional[bool] = OMIT, - connection_deletion_behavior: typing.Optional[ConnectionDeletionBehaviorEnum] = OMIT, - connection_profile_id: typing.Optional[str] = OMIT, - user_attribute_profile_id: typing.Optional[str] = OMIT, - allowed_strategies: typing.Optional[typing.Sequence[OrganizationTemplateAllowedStrategyEnum]] = OMIT, - invitation_landing_client_id: typing.Optional[str] = OMIT, - admin_roles_assignment: typing.Optional[typing.Sequence[str]] = OMIT, - use_for_organization_discovery: typing.Optional[OrganizationTemplateUseForOrganizationDiscovery] = OMIT, - role_visibility_policy: typing.Optional[OrganizationTemplateRoleVisibilityPolicy] = OMIT, - request_options: typing.Optional[RequestOptions] = None, - ) -> OrganizationTemplate: - """ - Create an Organization Template. - - Parameters - ---------- - name : str - The name of the organization template. - - organization_deletion_behavior : OrganizationDeletionBehaviorEnum - - enforce_permission_ceiling : bool - Whether to enforce permission ceiling for organizations using this template. - - enforce_self_assignment_restriction : bool - Whether to enforce self-assignment restrictions for organizations using this template. - - is_default : typing.Optional[bool] - Whether this is the default template applied to new organizations. - - connection_deletion_behavior : typing.Optional[ConnectionDeletionBehaviorEnum] - - connection_profile_id : typing.Optional[str] - The connection profile to apply to new connections. - - user_attribute_profile_id : typing.Optional[str] - The user attribute profile to apply to organizations. - - allowed_strategies : typing.Optional[typing.Sequence[OrganizationTemplateAllowedStrategyEnum]] - List of allowed connection strategies for this template. - - invitation_landing_client_id : typing.Optional[str] - The client ID for the invitation landing page. - - admin_roles_assignment : typing.Optional[typing.Sequence[str]] - Default admin roles to assign to organization creators. - - use_for_organization_discovery : typing.Optional[OrganizationTemplateUseForOrganizationDiscovery] - - role_visibility_policy : typing.Optional[OrganizationTemplateRoleVisibilityPolicy] - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - OrganizationTemplate - Organization template successfully created. - - Examples - -------- - import asyncio - - from auth0 import AsyncAuth0 - - client = AsyncAuth0( - token="YOUR_TOKEN", - ) - - - async def main() -> None: - await client.organization_templates.create( - name="name", - organization_deletion_behavior="allow", - enforce_permission_ceiling=True, - enforce_self_assignment_restriction=True, - ) - - - asyncio.run(main()) - """ - _response = await self._raw_client.create( - name=name, - organization_deletion_behavior=organization_deletion_behavior, - enforce_permission_ceiling=enforce_permission_ceiling, - enforce_self_assignment_restriction=enforce_self_assignment_restriction, - is_default=is_default, - connection_deletion_behavior=connection_deletion_behavior, - connection_profile_id=connection_profile_id, - user_attribute_profile_id=user_attribute_profile_id, - allowed_strategies=allowed_strategies, - invitation_landing_client_id=invitation_landing_client_id, - admin_roles_assignment=admin_roles_assignment, - use_for_organization_discovery=use_for_organization_discovery, - role_visibility_policy=role_visibility_policy, - request_options=request_options, - ) - return _response.data - - async def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> OrganizationTemplate: - """ - Retrieve details about a single Organization Template specified by ID. - - Parameters - ---------- - id : str - Organization Template identifier. - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - OrganizationTemplate - Organization template successfully retrieved. - - Examples - -------- - import asyncio - - from auth0 import AsyncAuth0 - - client = AsyncAuth0( - token="YOUR_TOKEN", - ) - - - async def main() -> None: - await client.organization_templates.get( - id="id", - ) - - - asyncio.run(main()) - """ - _response = await self._raw_client.get(id, request_options=request_options) - return _response.data - - async def update( - self, - id: str, - *, - name: typing.Optional[str] = OMIT, - is_default: typing.Optional[bool] = OMIT, - organization_deletion_behavior: typing.Optional[OrganizationDeletionBehaviorEnum] = OMIT, - connection_deletion_behavior: typing.Optional[ConnectionDeletionBehaviorEnum] = OMIT, - enforce_permission_ceiling: typing.Optional[bool] = OMIT, - enforce_self_assignment_restriction: typing.Optional[bool] = OMIT, - connection_profile_id: typing.Optional[str] = OMIT, - user_attribute_profile_id: typing.Optional[str] = OMIT, - allowed_strategies: typing.Optional[typing.Sequence[OrganizationTemplateAllowedStrategyEnum]] = OMIT, - invitation_landing_client_id: typing.Optional[str] = OMIT, - admin_roles_assignment: typing.Optional[typing.Sequence[str]] = OMIT, - use_for_organization_discovery: typing.Optional[OrganizationTemplateUseForOrganizationDiscovery] = OMIT, - role_visibility_policy: typing.Optional[OrganizationTemplateRoleVisibilityPolicy] = OMIT, - request_options: typing.Optional[RequestOptions] = None, - ) -> OrganizationTemplate: - """ - Update the details of a specific Organization Template. - - Parameters - ---------- - id : str - Organization Template identifier. - - name : typing.Optional[str] - The name of the organization template. - - is_default : typing.Optional[bool] - Whether this is the default template applied to new organizations. - - organization_deletion_behavior : typing.Optional[OrganizationDeletionBehaviorEnum] - - connection_deletion_behavior : typing.Optional[ConnectionDeletionBehaviorEnum] - - enforce_permission_ceiling : typing.Optional[bool] - Whether to enforce permission ceiling for organizations using this template. - - enforce_self_assignment_restriction : typing.Optional[bool] - Whether to enforce self-assignment restrictions for organizations using this template. - - connection_profile_id : typing.Optional[str] - The connection profile to apply to new connections. - - user_attribute_profile_id : typing.Optional[str] - The user attribute profile to apply to organizations. - - allowed_strategies : typing.Optional[typing.Sequence[OrganizationTemplateAllowedStrategyEnum]] - List of allowed connection strategies for this template. - - invitation_landing_client_id : typing.Optional[str] - The client ID for the invitation landing page. - - admin_roles_assignment : typing.Optional[typing.Sequence[str]] - Default admin roles to assign to organization creators. - - use_for_organization_discovery : typing.Optional[OrganizationTemplateUseForOrganizationDiscovery] - - role_visibility_policy : typing.Optional[OrganizationTemplateRoleVisibilityPolicy] - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - OrganizationTemplate - Organization template successfully updated. - - Examples - -------- - import asyncio - - from auth0 import AsyncAuth0 - - client = AsyncAuth0( - token="YOUR_TOKEN", - ) - - - async def main() -> None: - await client.organization_templates.update( - id="id", - ) - - - asyncio.run(main()) - """ - _response = await self._raw_client.update( - id, - name=name, - is_default=is_default, - organization_deletion_behavior=organization_deletion_behavior, - connection_deletion_behavior=connection_deletion_behavior, - enforce_permission_ceiling=enforce_permission_ceiling, - enforce_self_assignment_restriction=enforce_self_assignment_restriction, - connection_profile_id=connection_profile_id, - user_attribute_profile_id=user_attribute_profile_id, - allowed_strategies=allowed_strategies, - invitation_landing_client_id=invitation_landing_client_id, - admin_roles_assignment=admin_roles_assignment, - use_for_organization_discovery=use_for_organization_discovery, - role_visibility_policy=role_visibility_policy, - request_options=request_options, - ) - return _response.data - - async def list_organizations( - self, - id: str, - *, - from_: typing.Optional[str] = None, - take: typing.Optional[int] = 5, - request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncPager[OrganizationTemplateAssignedOrganization, ListTemplateOrganizationsPaginatedResponseContent]: - """ - Retrieve a list of organizations assigned to an Organization Template. This endpoint supports Checkpoint pagination. Results are returned in a stable order, sorted by their identifier (`id`) in ascending order. - - Parameters - ---------- - id : str - The ID of the organization template. - - from_ : typing.Optional[str] - Optional Id from which to start selection. - - take : typing.Optional[int] - Number of results per page. Defaults to 5. Values greater than 10 are capped at 10. - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - AsyncPager[OrganizationTemplateAssignedOrganization, ListTemplateOrganizationsPaginatedResponseContent] - Organizations successfully retrieved. - - Examples - -------- - import asyncio - - from auth0 import AsyncAuth0 - - client = AsyncAuth0( - token="YOUR_TOKEN", - ) - - - async def main() -> None: - response = await client.organization_templates.list_organizations( - id="id", - from_="from", - take=1, - ) - async for item in response: - yield item - - # alternatively, you can paginate page-by-page - async for page in response.iter_pages(): - yield page - - - asyncio.run(main()) - """ - return await self._raw_client.list_organizations(id, from_=from_, take=take, request_options=request_options) diff --git a/src/auth0/management/organization_templates/raw_client.py b/src/auth0/management/organization_templates/raw_client.py deleted file mode 100644 index 46e5ca60..00000000 --- a/src/auth0/management/organization_templates/raw_client.py +++ /dev/null @@ -1,1357 +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.pagination import AsyncPager, SyncPager -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.connection_deletion_behavior_enum import ConnectionDeletionBehaviorEnum -from ..types.list_organization_templates_paginated_response_content import ( - ListOrganizationTemplatesPaginatedResponseContent, -) -from ..types.list_template_organizations_paginated_response_content import ( - ListTemplateOrganizationsPaginatedResponseContent, -) -from ..types.organization_deletion_behavior_enum import OrganizationDeletionBehaviorEnum -from ..types.organization_template import OrganizationTemplate -from ..types.organization_template_allowed_strategy_enum import OrganizationTemplateAllowedStrategyEnum -from ..types.organization_template_assigned_organization import OrganizationTemplateAssignedOrganization -from ..types.organization_template_role_visibility_policy import OrganizationTemplateRoleVisibilityPolicy -from ..types.organization_template_use_for_organization_discovery import OrganizationTemplateUseForOrganizationDiscovery -from pydantic import ValidationError - -# this is used as the default value for optional parameters -OMIT = typing.cast(typing.Any, ...) - - -class RawOrganizationTemplatesClient: - def __init__(self, *, client_wrapper: SyncClientWrapper): - self._client_wrapper = client_wrapper - - def list( - self, - *, - from_: typing.Optional[str] = None, - take: typing.Optional[int] = 5, - request_options: typing.Optional[RequestOptions] = None, - ) -> SyncPager[OrganizationTemplate, ListOrganizationTemplatesPaginatedResponseContent]: - """ - Retrieve a list of Organization Templates. This endpoint supports Checkpoint pagination. Results are returned in a stable order, sorted by their identifier (`id`) in ascending order. - - Parameters - ---------- - from_ : typing.Optional[str] - Optional Id from which to start selection. - - take : typing.Optional[int] - Number of results per page. Defaults to 5. Values greater than 10 are capped at 10. - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - SyncPager[OrganizationTemplate, ListOrganizationTemplatesPaginatedResponseContent] - Organization templates successfully retrieved. - """ - _response = self._client_wrapper.httpx_client.request( - "organization-templates", - method="GET", - params={ - "from": from_, - "take": take, - }, - request_options=request_options, - ) - try: - if 200 <= _response.status_code < 300: - _parsed_response = typing.cast( - ListOrganizationTemplatesPaginatedResponseContent, - parse_obj_as( - type_=ListOrganizationTemplatesPaginatedResponseContent, # type: ignore - object_=_response.json(), - ), - ) - _items = _parsed_response.organization_templates - _parsed_next = _parsed_response.next - _has_next = _parsed_next is not None and _parsed_next != "" - _get_next = lambda: self.list( - from_=_parsed_next, - take=take, - request_options=request_options, - ) - return SyncPager(has_next=_has_next, items=_items, get_next=_get_next, response=_parsed_response) - 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 create( - self, - *, - name: str, - organization_deletion_behavior: OrganizationDeletionBehaviorEnum, - enforce_permission_ceiling: bool, - enforce_self_assignment_restriction: bool, - is_default: typing.Optional[bool] = OMIT, - connection_deletion_behavior: typing.Optional[ConnectionDeletionBehaviorEnum] = OMIT, - connection_profile_id: typing.Optional[str] = OMIT, - user_attribute_profile_id: typing.Optional[str] = OMIT, - allowed_strategies: typing.Optional[typing.Sequence[OrganizationTemplateAllowedStrategyEnum]] = OMIT, - invitation_landing_client_id: typing.Optional[str] = OMIT, - admin_roles_assignment: typing.Optional[typing.Sequence[str]] = OMIT, - use_for_organization_discovery: typing.Optional[OrganizationTemplateUseForOrganizationDiscovery] = OMIT, - role_visibility_policy: typing.Optional[OrganizationTemplateRoleVisibilityPolicy] = OMIT, - request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[OrganizationTemplate]: - """ - Create an Organization Template. - - Parameters - ---------- - name : str - The name of the organization template. - - organization_deletion_behavior : OrganizationDeletionBehaviorEnum - - enforce_permission_ceiling : bool - Whether to enforce permission ceiling for organizations using this template. - - enforce_self_assignment_restriction : bool - Whether to enforce self-assignment restrictions for organizations using this template. - - is_default : typing.Optional[bool] - Whether this is the default template applied to new organizations. - - connection_deletion_behavior : typing.Optional[ConnectionDeletionBehaviorEnum] - - connection_profile_id : typing.Optional[str] - The connection profile to apply to new connections. - - user_attribute_profile_id : typing.Optional[str] - The user attribute profile to apply to organizations. - - allowed_strategies : typing.Optional[typing.Sequence[OrganizationTemplateAllowedStrategyEnum]] - List of allowed connection strategies for this template. - - invitation_landing_client_id : typing.Optional[str] - The client ID for the invitation landing page. - - admin_roles_assignment : typing.Optional[typing.Sequence[str]] - Default admin roles to assign to organization creators. - - use_for_organization_discovery : typing.Optional[OrganizationTemplateUseForOrganizationDiscovery] - - role_visibility_policy : typing.Optional[OrganizationTemplateRoleVisibilityPolicy] - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - HttpResponse[OrganizationTemplate] - Organization template successfully created. - """ - _response = self._client_wrapper.httpx_client.request( - "organization-templates", - method="POST", - json={ - "name": name, - "is_default": is_default, - "organization_deletion_behavior": organization_deletion_behavior, - "connection_deletion_behavior": connection_deletion_behavior, - "enforce_permission_ceiling": enforce_permission_ceiling, - "enforce_self_assignment_restriction": enforce_self_assignment_restriction, - "connection_profile_id": connection_profile_id, - "user_attribute_profile_id": user_attribute_profile_id, - "allowed_strategies": allowed_strategies, - "invitation_landing_client_id": invitation_landing_client_id, - "admin_roles_assignment": admin_roles_assignment, - "use_for_organization_discovery": convert_and_respect_annotation_metadata( - object_=use_for_organization_discovery, - annotation=typing.Optional[OrganizationTemplateUseForOrganizationDiscovery], - direction="write", - ), - "role_visibility_policy": convert_and_respect_annotation_metadata( - object_=role_visibility_policy, - annotation=typing.Optional[OrganizationTemplateRoleVisibilityPolicy], - direction="write", - ), - }, - headers={ - "content-type": "application/json", - }, - request_options=request_options, - omit=OMIT, - ) - try: - if 200 <= _response.status_code < 300: - _data = typing.cast( - OrganizationTemplate, - parse_obj_as( - type_=OrganizationTemplate, # 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 == 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[OrganizationTemplate]: - """ - Retrieve details about a single Organization Template specified by ID. - - Parameters - ---------- - id : str - Organization Template identifier. - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - HttpResponse[OrganizationTemplate] - Organization template successfully retrieved. - """ - _response = self._client_wrapper.httpx_client.request( - f"organization-templates/{quote_path_param(id)}", - method="GET", - request_options=request_options, - ) - try: - if 200 <= _response.status_code < 300: - _data = typing.cast( - OrganizationTemplate, - parse_obj_as( - type_=OrganizationTemplate, # type: ignore - object_=_response.json(), - ), - ) - return HttpResponse(response=_response, data=_data) - 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, - is_default: typing.Optional[bool] = OMIT, - organization_deletion_behavior: typing.Optional[OrganizationDeletionBehaviorEnum] = OMIT, - connection_deletion_behavior: typing.Optional[ConnectionDeletionBehaviorEnum] = OMIT, - enforce_permission_ceiling: typing.Optional[bool] = OMIT, - enforce_self_assignment_restriction: typing.Optional[bool] = OMIT, - connection_profile_id: typing.Optional[str] = OMIT, - user_attribute_profile_id: typing.Optional[str] = OMIT, - allowed_strategies: typing.Optional[typing.Sequence[OrganizationTemplateAllowedStrategyEnum]] = OMIT, - invitation_landing_client_id: typing.Optional[str] = OMIT, - admin_roles_assignment: typing.Optional[typing.Sequence[str]] = OMIT, - use_for_organization_discovery: typing.Optional[OrganizationTemplateUseForOrganizationDiscovery] = OMIT, - role_visibility_policy: typing.Optional[OrganizationTemplateRoleVisibilityPolicy] = OMIT, - request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[OrganizationTemplate]: - """ - Update the details of a specific Organization Template. - - Parameters - ---------- - id : str - Organization Template identifier. - - name : typing.Optional[str] - The name of the organization template. - - is_default : typing.Optional[bool] - Whether this is the default template applied to new organizations. - - organization_deletion_behavior : typing.Optional[OrganizationDeletionBehaviorEnum] - - connection_deletion_behavior : typing.Optional[ConnectionDeletionBehaviorEnum] - - enforce_permission_ceiling : typing.Optional[bool] - Whether to enforce permission ceiling for organizations using this template. - - enforce_self_assignment_restriction : typing.Optional[bool] - Whether to enforce self-assignment restrictions for organizations using this template. - - connection_profile_id : typing.Optional[str] - The connection profile to apply to new connections. - - user_attribute_profile_id : typing.Optional[str] - The user attribute profile to apply to organizations. - - allowed_strategies : typing.Optional[typing.Sequence[OrganizationTemplateAllowedStrategyEnum]] - List of allowed connection strategies for this template. - - invitation_landing_client_id : typing.Optional[str] - The client ID for the invitation landing page. - - admin_roles_assignment : typing.Optional[typing.Sequence[str]] - Default admin roles to assign to organization creators. - - use_for_organization_discovery : typing.Optional[OrganizationTemplateUseForOrganizationDiscovery] - - role_visibility_policy : typing.Optional[OrganizationTemplateRoleVisibilityPolicy] - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - HttpResponse[OrganizationTemplate] - Organization template successfully updated. - """ - _response = self._client_wrapper.httpx_client.request( - f"organization-templates/{quote_path_param(id)}", - method="PATCH", - json={ - "name": name, - "is_default": is_default, - "organization_deletion_behavior": organization_deletion_behavior, - "connection_deletion_behavior": connection_deletion_behavior, - "enforce_permission_ceiling": enforce_permission_ceiling, - "enforce_self_assignment_restriction": enforce_self_assignment_restriction, - "connection_profile_id": connection_profile_id, - "user_attribute_profile_id": user_attribute_profile_id, - "allowed_strategies": allowed_strategies, - "invitation_landing_client_id": invitation_landing_client_id, - "admin_roles_assignment": admin_roles_assignment, - "use_for_organization_discovery": convert_and_respect_annotation_metadata( - object_=use_for_organization_discovery, - annotation=typing.Optional[OrganizationTemplateUseForOrganizationDiscovery], - direction="write", - ), - "role_visibility_policy": convert_and_respect_annotation_metadata( - object_=role_visibility_policy, - annotation=typing.Optional[OrganizationTemplateRoleVisibilityPolicy], - direction="write", - ), - }, - headers={ - "content-type": "application/json", - }, - request_options=request_options, - omit=OMIT, - ) - try: - if 200 <= _response.status_code < 300: - _data = typing.cast( - OrganizationTemplate, - parse_obj_as( - type_=OrganizationTemplate, # 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 list_organizations( - self, - id: str, - *, - from_: typing.Optional[str] = None, - take: typing.Optional[int] = 5, - request_options: typing.Optional[RequestOptions] = None, - ) -> SyncPager[OrganizationTemplateAssignedOrganization, ListTemplateOrganizationsPaginatedResponseContent]: - """ - Retrieve a list of organizations assigned to an Organization Template. This endpoint supports Checkpoint pagination. Results are returned in a stable order, sorted by their identifier (`id`) in ascending order. - - Parameters - ---------- - id : str - The ID of the organization template. - - from_ : typing.Optional[str] - Optional Id from which to start selection. - - take : typing.Optional[int] - Number of results per page. Defaults to 5. Values greater than 10 are capped at 10. - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - SyncPager[OrganizationTemplateAssignedOrganization, ListTemplateOrganizationsPaginatedResponseContent] - Organizations successfully retrieved. - """ - _response = self._client_wrapper.httpx_client.request( - f"organization-templates/{quote_path_param(id)}/organizations", - method="GET", - params={ - "from": from_, - "take": take, - }, - request_options=request_options, - ) - try: - if 200 <= _response.status_code < 300: - _parsed_response = typing.cast( - ListTemplateOrganizationsPaginatedResponseContent, - parse_obj_as( - type_=ListTemplateOrganizationsPaginatedResponseContent, # type: ignore - object_=_response.json(), - ), - ) - _items = _parsed_response.organizations - _parsed_next = _parsed_response.next - _has_next = _parsed_next is not None and _parsed_next != "" - _get_next = lambda: self.list_organizations( - id, - from_=_parsed_next, - take=take, - request_options=request_options, - ) - return SyncPager(has_next=_has_next, items=_items, get_next=_get_next, response=_parsed_response) - 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) - - -class AsyncRawOrganizationTemplatesClient: - def __init__(self, *, client_wrapper: AsyncClientWrapper): - self._client_wrapper = client_wrapper - - async def list( - self, - *, - from_: typing.Optional[str] = None, - take: typing.Optional[int] = 5, - request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncPager[OrganizationTemplate, ListOrganizationTemplatesPaginatedResponseContent]: - """ - Retrieve a list of Organization Templates. This endpoint supports Checkpoint pagination. Results are returned in a stable order, sorted by their identifier (`id`) in ascending order. - - Parameters - ---------- - from_ : typing.Optional[str] - Optional Id from which to start selection. - - take : typing.Optional[int] - Number of results per page. Defaults to 5. Values greater than 10 are capped at 10. - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - AsyncPager[OrganizationTemplate, ListOrganizationTemplatesPaginatedResponseContent] - Organization templates successfully retrieved. - """ - _response = await self._client_wrapper.httpx_client.request( - "organization-templates", - method="GET", - params={ - "from": from_, - "take": take, - }, - request_options=request_options, - ) - try: - if 200 <= _response.status_code < 300: - _parsed_response = typing.cast( - ListOrganizationTemplatesPaginatedResponseContent, - parse_obj_as( - type_=ListOrganizationTemplatesPaginatedResponseContent, # type: ignore - object_=_response.json(), - ), - ) - _items = _parsed_response.organization_templates - _parsed_next = _parsed_response.next - _has_next = _parsed_next is not None and _parsed_next != "" - - async def _get_next(): - return await self.list( - from_=_parsed_next, - take=take, - request_options=request_options, - ) - - return AsyncPager(has_next=_has_next, items=_items, get_next=_get_next, response=_parsed_response) - 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 create( - self, - *, - name: str, - organization_deletion_behavior: OrganizationDeletionBehaviorEnum, - enforce_permission_ceiling: bool, - enforce_self_assignment_restriction: bool, - is_default: typing.Optional[bool] = OMIT, - connection_deletion_behavior: typing.Optional[ConnectionDeletionBehaviorEnum] = OMIT, - connection_profile_id: typing.Optional[str] = OMIT, - user_attribute_profile_id: typing.Optional[str] = OMIT, - allowed_strategies: typing.Optional[typing.Sequence[OrganizationTemplateAllowedStrategyEnum]] = OMIT, - invitation_landing_client_id: typing.Optional[str] = OMIT, - admin_roles_assignment: typing.Optional[typing.Sequence[str]] = OMIT, - use_for_organization_discovery: typing.Optional[OrganizationTemplateUseForOrganizationDiscovery] = OMIT, - role_visibility_policy: typing.Optional[OrganizationTemplateRoleVisibilityPolicy] = OMIT, - request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[OrganizationTemplate]: - """ - Create an Organization Template. - - Parameters - ---------- - name : str - The name of the organization template. - - organization_deletion_behavior : OrganizationDeletionBehaviorEnum - - enforce_permission_ceiling : bool - Whether to enforce permission ceiling for organizations using this template. - - enforce_self_assignment_restriction : bool - Whether to enforce self-assignment restrictions for organizations using this template. - - is_default : typing.Optional[bool] - Whether this is the default template applied to new organizations. - - connection_deletion_behavior : typing.Optional[ConnectionDeletionBehaviorEnum] - - connection_profile_id : typing.Optional[str] - The connection profile to apply to new connections. - - user_attribute_profile_id : typing.Optional[str] - The user attribute profile to apply to organizations. - - allowed_strategies : typing.Optional[typing.Sequence[OrganizationTemplateAllowedStrategyEnum]] - List of allowed connection strategies for this template. - - invitation_landing_client_id : typing.Optional[str] - The client ID for the invitation landing page. - - admin_roles_assignment : typing.Optional[typing.Sequence[str]] - Default admin roles to assign to organization creators. - - use_for_organization_discovery : typing.Optional[OrganizationTemplateUseForOrganizationDiscovery] - - role_visibility_policy : typing.Optional[OrganizationTemplateRoleVisibilityPolicy] - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - AsyncHttpResponse[OrganizationTemplate] - Organization template successfully created. - """ - _response = await self._client_wrapper.httpx_client.request( - "organization-templates", - method="POST", - json={ - "name": name, - "is_default": is_default, - "organization_deletion_behavior": organization_deletion_behavior, - "connection_deletion_behavior": connection_deletion_behavior, - "enforce_permission_ceiling": enforce_permission_ceiling, - "enforce_self_assignment_restriction": enforce_self_assignment_restriction, - "connection_profile_id": connection_profile_id, - "user_attribute_profile_id": user_attribute_profile_id, - "allowed_strategies": allowed_strategies, - "invitation_landing_client_id": invitation_landing_client_id, - "admin_roles_assignment": admin_roles_assignment, - "use_for_organization_discovery": convert_and_respect_annotation_metadata( - object_=use_for_organization_discovery, - annotation=typing.Optional[OrganizationTemplateUseForOrganizationDiscovery], - direction="write", - ), - "role_visibility_policy": convert_and_respect_annotation_metadata( - object_=role_visibility_policy, - annotation=typing.Optional[OrganizationTemplateRoleVisibilityPolicy], - direction="write", - ), - }, - headers={ - "content-type": "application/json", - }, - request_options=request_options, - omit=OMIT, - ) - try: - if 200 <= _response.status_code < 300: - _data = typing.cast( - OrganizationTemplate, - parse_obj_as( - type_=OrganizationTemplate, # 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 == 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[OrganizationTemplate]: - """ - Retrieve details about a single Organization Template specified by ID. - - Parameters - ---------- - id : str - Organization Template identifier. - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - AsyncHttpResponse[OrganizationTemplate] - Organization template successfully retrieved. - """ - _response = await self._client_wrapper.httpx_client.request( - f"organization-templates/{quote_path_param(id)}", - method="GET", - request_options=request_options, - ) - try: - if 200 <= _response.status_code < 300: - _data = typing.cast( - OrganizationTemplate, - parse_obj_as( - type_=OrganizationTemplate, # type: ignore - object_=_response.json(), - ), - ) - return AsyncHttpResponse(response=_response, data=_data) - 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, - is_default: typing.Optional[bool] = OMIT, - organization_deletion_behavior: typing.Optional[OrganizationDeletionBehaviorEnum] = OMIT, - connection_deletion_behavior: typing.Optional[ConnectionDeletionBehaviorEnum] = OMIT, - enforce_permission_ceiling: typing.Optional[bool] = OMIT, - enforce_self_assignment_restriction: typing.Optional[bool] = OMIT, - connection_profile_id: typing.Optional[str] = OMIT, - user_attribute_profile_id: typing.Optional[str] = OMIT, - allowed_strategies: typing.Optional[typing.Sequence[OrganizationTemplateAllowedStrategyEnum]] = OMIT, - invitation_landing_client_id: typing.Optional[str] = OMIT, - admin_roles_assignment: typing.Optional[typing.Sequence[str]] = OMIT, - use_for_organization_discovery: typing.Optional[OrganizationTemplateUseForOrganizationDiscovery] = OMIT, - role_visibility_policy: typing.Optional[OrganizationTemplateRoleVisibilityPolicy] = OMIT, - request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[OrganizationTemplate]: - """ - Update the details of a specific Organization Template. - - Parameters - ---------- - id : str - Organization Template identifier. - - name : typing.Optional[str] - The name of the organization template. - - is_default : typing.Optional[bool] - Whether this is the default template applied to new organizations. - - organization_deletion_behavior : typing.Optional[OrganizationDeletionBehaviorEnum] - - connection_deletion_behavior : typing.Optional[ConnectionDeletionBehaviorEnum] - - enforce_permission_ceiling : typing.Optional[bool] - Whether to enforce permission ceiling for organizations using this template. - - enforce_self_assignment_restriction : typing.Optional[bool] - Whether to enforce self-assignment restrictions for organizations using this template. - - connection_profile_id : typing.Optional[str] - The connection profile to apply to new connections. - - user_attribute_profile_id : typing.Optional[str] - The user attribute profile to apply to organizations. - - allowed_strategies : typing.Optional[typing.Sequence[OrganizationTemplateAllowedStrategyEnum]] - List of allowed connection strategies for this template. - - invitation_landing_client_id : typing.Optional[str] - The client ID for the invitation landing page. - - admin_roles_assignment : typing.Optional[typing.Sequence[str]] - Default admin roles to assign to organization creators. - - use_for_organization_discovery : typing.Optional[OrganizationTemplateUseForOrganizationDiscovery] - - role_visibility_policy : typing.Optional[OrganizationTemplateRoleVisibilityPolicy] - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - AsyncHttpResponse[OrganizationTemplate] - Organization template successfully updated. - """ - _response = await self._client_wrapper.httpx_client.request( - f"organization-templates/{quote_path_param(id)}", - method="PATCH", - json={ - "name": name, - "is_default": is_default, - "organization_deletion_behavior": organization_deletion_behavior, - "connection_deletion_behavior": connection_deletion_behavior, - "enforce_permission_ceiling": enforce_permission_ceiling, - "enforce_self_assignment_restriction": enforce_self_assignment_restriction, - "connection_profile_id": connection_profile_id, - "user_attribute_profile_id": user_attribute_profile_id, - "allowed_strategies": allowed_strategies, - "invitation_landing_client_id": invitation_landing_client_id, - "admin_roles_assignment": admin_roles_assignment, - "use_for_organization_discovery": convert_and_respect_annotation_metadata( - object_=use_for_organization_discovery, - annotation=typing.Optional[OrganizationTemplateUseForOrganizationDiscovery], - direction="write", - ), - "role_visibility_policy": convert_and_respect_annotation_metadata( - object_=role_visibility_policy, - annotation=typing.Optional[OrganizationTemplateRoleVisibilityPolicy], - direction="write", - ), - }, - headers={ - "content-type": "application/json", - }, - request_options=request_options, - omit=OMIT, - ) - try: - if 200 <= _response.status_code < 300: - _data = typing.cast( - OrganizationTemplate, - parse_obj_as( - type_=OrganizationTemplate, # 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 list_organizations( - self, - id: str, - *, - from_: typing.Optional[str] = None, - take: typing.Optional[int] = 5, - request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncPager[OrganizationTemplateAssignedOrganization, ListTemplateOrganizationsPaginatedResponseContent]: - """ - Retrieve a list of organizations assigned to an Organization Template. This endpoint supports Checkpoint pagination. Results are returned in a stable order, sorted by their identifier (`id`) in ascending order. - - Parameters - ---------- - id : str - The ID of the organization template. - - from_ : typing.Optional[str] - Optional Id from which to start selection. - - take : typing.Optional[int] - Number of results per page. Defaults to 5. Values greater than 10 are capped at 10. - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - AsyncPager[OrganizationTemplateAssignedOrganization, ListTemplateOrganizationsPaginatedResponseContent] - Organizations successfully retrieved. - """ - _response = await self._client_wrapper.httpx_client.request( - f"organization-templates/{quote_path_param(id)}/organizations", - method="GET", - params={ - "from": from_, - "take": take, - }, - request_options=request_options, - ) - try: - if 200 <= _response.status_code < 300: - _parsed_response = typing.cast( - ListTemplateOrganizationsPaginatedResponseContent, - parse_obj_as( - type_=ListTemplateOrganizationsPaginatedResponseContent, # type: ignore - object_=_response.json(), - ), - ) - _items = _parsed_response.organizations - _parsed_next = _parsed_response.next - _has_next = _parsed_next is not None and _parsed_next != "" - - async def _get_next(): - return await self.list_organizations( - id, - from_=_parsed_next, - take=take, - request_options=request_options, - ) - - return AsyncPager(has_next=_has_next, items=_items, get_next=_get_next, response=_parsed_response) - 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) diff --git a/src/auth0/management/organizations/client.py b/src/auth0/management/organizations/client.py index 62788052..0299632d 100644 --- a/src/auth0/management/organizations/client.py +++ b/src/auth0/management/organizations/client.py @@ -16,7 +16,11 @@ from ..types.organization import Organization from ..types.organization_branding import OrganizationBranding from ..types.organization_metadata import OrganizationMetadata +from ..types.organization_sort_field_enum import OrganizationSortFieldEnum from ..types.organization_third_party_client_access_enum import OrganizationThirdPartyClientAccessEnum +from ..types.search_organization import SearchOrganization +from ..types.search_organizations_paginated_response_content import SearchOrganizationsPaginatedResponseContent +from ..types.search_parser_enum import SearchParserEnum from ..types.update_organization_response_content import UpdateOrganizationResponseContent from ..types.update_token_quota import UpdateTokenQuota from .raw_client import AsyncRawOrganizationsClient, RawOrganizationsClient @@ -248,6 +252,82 @@ def get_by_name( _response = self._raw_client.get_by_name(name, request_options=request_options) return _response.data + def search( + self, + *, + q: typing.Optional[str] = None, + parser: typing.Optional[SearchParserEnum] = None, + take: typing.Optional[int] = 50, + from_: typing.Optional[str] = None, + sort: typing.Optional[OrganizationSortFieldEnum] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> SyncPager[SearchOrganization, SearchOrganizationsPaginatedResponseContent]: + """ + Retrieve details of organizations matching a search criteria. It is possible to: + + - Specify a search criteria for organizations + - Search via `name` + - Search via `display_name` + - Substring matching (`contains` and `ends-with`) requires at least 3 characters + - Use wildcards + + The `q` query parameter can be used to get organizations that match the specified criteria on `name` OR `display_name`. + + This endpoint supports SCIM or Lucene filter syntax with low-latency, cursor-based pagination. Use the `parser` parameter to specify "scim" or "lucene" syntax (default: "lucene"). + + Results are eventually consistent and may not reflect recent updates immediately. + + **Sortable fields:** `name`, `display_name`, `created_at` (ascending only). Defaults to insertion order (oldest first). + + Parameters + ---------- + q : typing.Optional[str] + Filter expression in SCIM or Lucene syntax (depending on parser parameter, default: Lucene). Lucene examples: `name:acme*`, `display_name:*auth*`. SCIM examples: `name eq "Auth0"`, `display_name sw "auth" and created_at gt "2024-01-01"`. SCIM operators: eq, ne, sw, ew, co, pr, gt, ge, lt, le, and, or.

Supported Fields:
  • id - Organization ID (case-sensitive, exact match)
  • name - Organization name (supports contains, starts-with, ends-with operators; sortable)
  • display_name - Organization display name (supports contains, starts-with, ends-with operators; sortable)
  • created_at - Creation timestamp (supports date range operators; sortable)
  • metadata.{key} - Filter by organization metadata key-value pairs
Maximum 5 filter operations per query. Results are eventually consistent and may not reflect recent updates. + + parser : typing.Optional[SearchParserEnum] + Query parser to use for the filter expression. Use "scim" for SCIM filter syntax or "lucene" for Lucene query syntax (default). + + take : typing.Optional[int] + Maximum number of results to return per page (1-100). Defaults to 50. + + from_ : typing.Optional[str] + Cursor for the next page of results. Use the value from the next field in the previous response. + + sort : typing.Optional[OrganizationSortFieldEnum] + Field name to sort results by in ascending order only. Defaults to insertion order (oldest first) if not provided. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + SyncPager[SearchOrganization, SearchOrganizationsPaginatedResponseContent] + Organizations successfully retrieved. + + Examples + -------- + from auth0 import Auth0 + + client = Auth0( + token="YOUR_TOKEN", + ) + response = client.organizations.search( + q="q", + parser="scim", + take=1, + from_="from", + sort="name", + ) + for item in response: + yield item + # alternatively, you can paginate page-by-page + for page in response.iter_pages(): + yield page + """ + return self._raw_client.search( + q=q, parser=parser, take=take, from_=from_, sort=sort, request_options=request_options + ) + def get( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> GetOrganizationResponseContent: @@ -701,6 +781,91 @@ async def main() -> None: _response = await self._raw_client.get_by_name(name, request_options=request_options) return _response.data + async def search( + self, + *, + q: typing.Optional[str] = None, + parser: typing.Optional[SearchParserEnum] = None, + take: typing.Optional[int] = 50, + from_: typing.Optional[str] = None, + sort: typing.Optional[OrganizationSortFieldEnum] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncPager[SearchOrganization, SearchOrganizationsPaginatedResponseContent]: + """ + Retrieve details of organizations matching a search criteria. It is possible to: + + - Specify a search criteria for organizations + - Search via `name` + - Search via `display_name` + - Substring matching (`contains` and `ends-with`) requires at least 3 characters + - Use wildcards + + The `q` query parameter can be used to get organizations that match the specified criteria on `name` OR `display_name`. + + This endpoint supports SCIM or Lucene filter syntax with low-latency, cursor-based pagination. Use the `parser` parameter to specify "scim" or "lucene" syntax (default: "lucene"). + + Results are eventually consistent and may not reflect recent updates immediately. + + **Sortable fields:** `name`, `display_name`, `created_at` (ascending only). Defaults to insertion order (oldest first). + + Parameters + ---------- + q : typing.Optional[str] + Filter expression in SCIM or Lucene syntax (depending on parser parameter, default: Lucene). Lucene examples: `name:acme*`, `display_name:*auth*`. SCIM examples: `name eq "Auth0"`, `display_name sw "auth" and created_at gt "2024-01-01"`. SCIM operators: eq, ne, sw, ew, co, pr, gt, ge, lt, le, and, or.

Supported Fields:
  • id - Organization ID (case-sensitive, exact match)
  • name - Organization name (supports contains, starts-with, ends-with operators; sortable)
  • display_name - Organization display name (supports contains, starts-with, ends-with operators; sortable)
  • created_at - Creation timestamp (supports date range operators; sortable)
  • metadata.{key} - Filter by organization metadata key-value pairs
Maximum 5 filter operations per query. Results are eventually consistent and may not reflect recent updates. + + parser : typing.Optional[SearchParserEnum] + Query parser to use for the filter expression. Use "scim" for SCIM filter syntax or "lucene" for Lucene query syntax (default). + + take : typing.Optional[int] + Maximum number of results to return per page (1-100). Defaults to 50. + + from_ : typing.Optional[str] + Cursor for the next page of results. Use the value from the next field in the previous response. + + sort : typing.Optional[OrganizationSortFieldEnum] + Field name to sort results by in ascending order only. Defaults to insertion order (oldest first) if not provided. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncPager[SearchOrganization, SearchOrganizationsPaginatedResponseContent] + Organizations successfully retrieved. + + Examples + -------- + import asyncio + + from auth0 import AsyncAuth0 + + client = AsyncAuth0( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + response = await client.organizations.search( + q="q", + parser="scim", + take=1, + from_="from", + sort="name", + ) + async for item in response: + yield item + + # alternatively, you can paginate page-by-page + async for page in response.iter_pages(): + yield page + + + asyncio.run(main()) + """ + return await self._raw_client.search( + q=q, parser=parser, take=take, from_=from_, sort=sort, request_options=request_options + ) + async def get( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> GetOrganizationResponseContent: diff --git a/src/auth0/management/organizations/raw_client.py b/src/auth0/management/organizations/raw_client.py index 17c22338..6a7154be 100644 --- a/src/auth0/management/organizations/raw_client.py +++ b/src/auth0/management/organizations/raw_client.py @@ -15,6 +15,7 @@ from ..errors.bad_request_error import BadRequestError from ..errors.conflict_error import ConflictError from ..errors.forbidden_error import ForbiddenError +from ..errors.gateway_timeout_error import GatewayTimeoutError from ..errors.not_found_error import NotFoundError from ..errors.too_many_requests_error import TooManyRequestsError from ..errors.unauthorized_error import UnauthorizedError @@ -27,7 +28,11 @@ from ..types.organization import Organization from ..types.organization_branding import OrganizationBranding from ..types.organization_metadata import OrganizationMetadata +from ..types.organization_sort_field_enum import OrganizationSortFieldEnum from ..types.organization_third_party_client_access_enum import OrganizationThirdPartyClientAccessEnum +from ..types.search_organization import SearchOrganization +from ..types.search_organizations_paginated_response_content import SearchOrganizationsPaginatedResponseContent +from ..types.search_parser_enum import SearchParserEnum from ..types.update_organization_response_content import UpdateOrganizationResponseContent from ..types.update_token_quota import UpdateTokenQuota from pydantic import ValidationError @@ -425,6 +430,155 @@ def get_by_name( ) raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + def search( + self, + *, + q: typing.Optional[str] = None, + parser: typing.Optional[SearchParserEnum] = None, + take: typing.Optional[int] = 50, + from_: typing.Optional[str] = None, + sort: typing.Optional[OrganizationSortFieldEnum] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> SyncPager[SearchOrganization, SearchOrganizationsPaginatedResponseContent]: + """ + Retrieve details of organizations matching a search criteria. It is possible to: + + - Specify a search criteria for organizations + - Search via `name` + - Search via `display_name` + - Substring matching (`contains` and `ends-with`) requires at least 3 characters + - Use wildcards + + The `q` query parameter can be used to get organizations that match the specified criteria on `name` OR `display_name`. + + This endpoint supports SCIM or Lucene filter syntax with low-latency, cursor-based pagination. Use the `parser` parameter to specify "scim" or "lucene" syntax (default: "lucene"). + + Results are eventually consistent and may not reflect recent updates immediately. + + **Sortable fields:** `name`, `display_name`, `created_at` (ascending only). Defaults to insertion order (oldest first). + + Parameters + ---------- + q : typing.Optional[str] + Filter expression in SCIM or Lucene syntax (depending on parser parameter, default: Lucene). Lucene examples: `name:acme*`, `display_name:*auth*`. SCIM examples: `name eq "Auth0"`, `display_name sw "auth" and created_at gt "2024-01-01"`. SCIM operators: eq, ne, sw, ew, co, pr, gt, ge, lt, le, and, or.

Supported Fields:
  • id - Organization ID (case-sensitive, exact match)
  • name - Organization name (supports contains, starts-with, ends-with operators; sortable)
  • display_name - Organization display name (supports contains, starts-with, ends-with operators; sortable)
  • created_at - Creation timestamp (supports date range operators; sortable)
  • metadata.{key} - Filter by organization metadata key-value pairs
Maximum 5 filter operations per query. Results are eventually consistent and may not reflect recent updates. + + parser : typing.Optional[SearchParserEnum] + Query parser to use for the filter expression. Use "scim" for SCIM filter syntax or "lucene" for Lucene query syntax (default). + + take : typing.Optional[int] + Maximum number of results to return per page (1-100). Defaults to 50. + + from_ : typing.Optional[str] + Cursor for the next page of results. Use the value from the next field in the previous response. + + sort : typing.Optional[OrganizationSortFieldEnum] + Field name to sort results by in ascending order only. Defaults to insertion order (oldest first) if not provided. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + SyncPager[SearchOrganization, SearchOrganizationsPaginatedResponseContent] + Organizations successfully retrieved. + """ + _response = self._client_wrapper.httpx_client.request( + "organizations/search", + method="GET", + params={ + "q": q, + "parser": parser, + "take": take, + "from": from_, + "sort": sort, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _parsed_response = typing.cast( + SearchOrganizationsPaginatedResponseContent, + parse_obj_as( + type_=SearchOrganizationsPaginatedResponseContent, # type: ignore + object_=_response.json(), + ), + ) + _items = _parsed_response.organizations + _parsed_next = _parsed_response.next + _has_next = _parsed_next is not None and _parsed_next != "" + _get_next = lambda: self.search( + q=q, + parser=parser, + take=take, + from_=_parsed_next, + sort=sort, + request_options=request_options, + ) + return SyncPager(has_next=_has_next, items=_items, get_next=_get_next, response=_parsed_response) + 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(), + ), + ), + ) + if _response.status_code == 504: + raise GatewayTimeoutError( + 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[GetOrganizationResponseContent]: @@ -1137,6 +1291,158 @@ async def get_by_name( ) raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + async def search( + self, + *, + q: typing.Optional[str] = None, + parser: typing.Optional[SearchParserEnum] = None, + take: typing.Optional[int] = 50, + from_: typing.Optional[str] = None, + sort: typing.Optional[OrganizationSortFieldEnum] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncPager[SearchOrganization, SearchOrganizationsPaginatedResponseContent]: + """ + Retrieve details of organizations matching a search criteria. It is possible to: + + - Specify a search criteria for organizations + - Search via `name` + - Search via `display_name` + - Substring matching (`contains` and `ends-with`) requires at least 3 characters + - Use wildcards + + The `q` query parameter can be used to get organizations that match the specified criteria on `name` OR `display_name`. + + This endpoint supports SCIM or Lucene filter syntax with low-latency, cursor-based pagination. Use the `parser` parameter to specify "scim" or "lucene" syntax (default: "lucene"). + + Results are eventually consistent and may not reflect recent updates immediately. + + **Sortable fields:** `name`, `display_name`, `created_at` (ascending only). Defaults to insertion order (oldest first). + + Parameters + ---------- + q : typing.Optional[str] + Filter expression in SCIM or Lucene syntax (depending on parser parameter, default: Lucene). Lucene examples: `name:acme*`, `display_name:*auth*`. SCIM examples: `name eq "Auth0"`, `display_name sw "auth" and created_at gt "2024-01-01"`. SCIM operators: eq, ne, sw, ew, co, pr, gt, ge, lt, le, and, or.

Supported Fields:
  • id - Organization ID (case-sensitive, exact match)
  • name - Organization name (supports contains, starts-with, ends-with operators; sortable)
  • display_name - Organization display name (supports contains, starts-with, ends-with operators; sortable)
  • created_at - Creation timestamp (supports date range operators; sortable)
  • metadata.{key} - Filter by organization metadata key-value pairs
Maximum 5 filter operations per query. Results are eventually consistent and may not reflect recent updates. + + parser : typing.Optional[SearchParserEnum] + Query parser to use for the filter expression. Use "scim" for SCIM filter syntax or "lucene" for Lucene query syntax (default). + + take : typing.Optional[int] + Maximum number of results to return per page (1-100). Defaults to 50. + + from_ : typing.Optional[str] + Cursor for the next page of results. Use the value from the next field in the previous response. + + sort : typing.Optional[OrganizationSortFieldEnum] + Field name to sort results by in ascending order only. Defaults to insertion order (oldest first) if not provided. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncPager[SearchOrganization, SearchOrganizationsPaginatedResponseContent] + Organizations successfully retrieved. + """ + _response = await self._client_wrapper.httpx_client.request( + "organizations/search", + method="GET", + params={ + "q": q, + "parser": parser, + "take": take, + "from": from_, + "sort": sort, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _parsed_response = typing.cast( + SearchOrganizationsPaginatedResponseContent, + parse_obj_as( + type_=SearchOrganizationsPaginatedResponseContent, # type: ignore + object_=_response.json(), + ), + ) + _items = _parsed_response.organizations + _parsed_next = _parsed_response.next + _has_next = _parsed_next is not None and _parsed_next != "" + + async def _get_next(): + return await self.search( + q=q, + parser=parser, + take=take, + from_=_parsed_next, + sort=sort, + request_options=request_options, + ) + + return AsyncPager(has_next=_has_next, items=_items, get_next=_get_next, response=_parsed_response) + 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(), + ), + ), + ) + if _response.status_code == 504: + raise GatewayTimeoutError( + 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[GetOrganizationResponseContent]: diff --git a/src/auth0/management/resource_servers/client.py b/src/auth0/management/resource_servers/client.py index 438082d8..ac204588 100644 --- a/src/auth0/management/resource_servers/client.py +++ b/src/auth0/management/resource_servers/client.py @@ -15,9 +15,13 @@ from ..types.resource_server_consent_policy_enum import ResourceServerConsentPolicyEnum from ..types.resource_server_proof_of_possession import ResourceServerProofOfPossession from ..types.resource_server_scope import ResourceServerScope +from ..types.resource_server_search_response import ResourceServerSearchResponse +from ..types.resource_server_sort_field_enum import ResourceServerSortFieldEnum 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.search_parser_enum import SearchParserEnum +from ..types.search_resource_servers_response_content import SearchResourceServersResponseContent from ..types.signing_algorithm_enum import SigningAlgorithmEnum from ..types.update_resource_server_response_content import UpdateResourceServerResponseContent from .raw_client import AsyncRawResourceServersClient, RawResourceServersClient @@ -120,6 +124,7 @@ def create( allow_online_access: typing.Optional[bool] = OMIT, allow_online_access_with_ephemeral_sessions: typing.Optional[bool] = OMIT, token_lifetime: typing.Optional[int] = OMIT, + token_lifetime_for_anonymous_access_tokens: typing.Optional[int] = OMIT, token_dialect: typing.Optional[ResourceServerTokenDialectSchemaEnum] = OMIT, skip_consent_for_verifiable_first_party_clients: typing.Optional[bool] = OMIT, enforce_policies: typing.Optional[bool] = OMIT, @@ -162,6 +167,9 @@ def create( token_lifetime : typing.Optional[int] Expiration value (in seconds) for access tokens issued for this API from the token endpoint. + token_lifetime_for_anonymous_access_tokens : typing.Optional[int] + Expiration value (in seconds) for anonymous-session access tokens issued for this API. + token_dialect : typing.Optional[ResourceServerTokenDialectSchemaEnum] skip_consent_for_verifiable_first_party_clients : typing.Optional[bool] @@ -211,6 +219,7 @@ def create( allow_online_access=allow_online_access, allow_online_access_with_ephemeral_sessions=allow_online_access_with_ephemeral_sessions, token_lifetime=token_lifetime, + token_lifetime_for_anonymous_access_tokens=token_lifetime_for_anonymous_access_tokens, token_dialect=token_dialect, skip_consent_for_verifiable_first_party_clients=skip_consent_for_verifiable_first_party_clients, enforce_policies=enforce_policies, @@ -224,6 +233,88 @@ def create( ) return _response.data + def search( + self, + *, + q: typing.Optional[str] = None, + parser: typing.Optional[SearchParserEnum] = None, + fields: typing.Optional[str] = None, + include_fields: typing.Optional[bool] = None, + take: typing.Optional[int] = 50, + from_: typing.Optional[str] = None, + sort: typing.Optional[ResourceServerSortFieldEnum] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> SyncPager[ResourceServerSearchResponse, SearchResourceServersResponseContent]: + """ + Search resource servers using SCIM or Lucene filter syntax with low-latency, eventually consistent results. Use the parser parameter to specify "scim" or "lucene" syntax (default: "lucene"). This endpoint provides an alternative to the standard GET /resource-servers endpoint with better performance for complex queries. + Results may not reflect recent updates immediately. + + The `signing_secret` field is not supported by this endpoint. + + Parameters + ---------- + q : typing.Optional[str] + Filter expression in SCIM or Lucene syntax (depending on parser parameter). SCIM examples: `name eq "My API"`, `identifier sw "https://"`. SCIM operators: eq, ne, sw, ew, co, pr, gt, ge, lt, le, and, or.

Supported Fields:
  • id - Filter by resource server ID
  • identifier - Filter by resource server identifier
  • name - Filter by resource server name
  • updated_at - Filter by last update date
Maximum 5 filter operations per query. Results are eventually consistent and may not reflect recent updates. + + parser : typing.Optional[SearchParserEnum] + Query parser to use for the filter expression. Use "scim" for SCIM filter syntax or "lucene" for Lucene query syntax (default). + + fields : typing.Optional[str] + Comma-separated list of fields to include or exclude in the response. Works with the include_fields parameter to control projection mode. + + include_fields : typing.Optional[bool] + Controls field projection mode. Set to true to include only fields specified in the fields parameter. Set to false to exclude fields specified in the fields parameter. Defaults to true if not specified. + + take : typing.Optional[int] + Maximum number of results to return per page (1-100). Defaults to 50. + + from_ : typing.Optional[str] + Cursor for the next page of results. Use the value from the next field in the previous response. + + sort : typing.Optional[ResourceServerSortFieldEnum] + Field name to sort results by in ascending order only. Defaults to insertion order (oldest first) if not provided. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + SyncPager[ResourceServerSearchResponse, SearchResourceServersResponseContent] + Resource servers successfully retrieved. + + Examples + -------- + from auth0 import Auth0 + + client = Auth0( + token="YOUR_TOKEN", + ) + response = client.resource_servers.search( + q="q", + parser="scim", + fields="fields", + include_fields=True, + take=1, + from_="from", + sort="identifier", + ) + for item in response: + yield item + # alternatively, you can paginate page-by-page + for page in response.iter_pages(): + yield page + """ + return self._raw_client.search( + q=q, + parser=parser, + fields=fields, + include_fields=include_fields, + take=take, + from_=from_, + sort=sort, + request_options=request_options, + ) + def get( self, id: str, @@ -308,6 +399,7 @@ def update( allow_online_access: typing.Optional[bool] = OMIT, allow_online_access_with_ephemeral_sessions: typing.Optional[bool] = OMIT, token_lifetime: typing.Optional[int] = OMIT, + token_lifetime_for_anonymous_access_tokens: typing.Optional[int] = OMIT, token_dialect: typing.Optional[ResourceServerTokenDialectSchemaEnum] = OMIT, enforce_policies: typing.Optional[bool] = OMIT, token_encryption: typing.Optional[ResourceServerTokenEncryption] = OMIT, @@ -352,6 +444,9 @@ def update( token_lifetime : typing.Optional[int] Expiration value (in seconds) for access tokens issued for this API from the token endpoint. + token_lifetime_for_anonymous_access_tokens : typing.Optional[int] + Expiration value (in seconds) for anonymous-session access tokens issued for this API. + token_dialect : typing.Optional[ResourceServerTokenDialectSchemaEnum] enforce_policies : typing.Optional[bool] @@ -399,6 +494,7 @@ def update( allow_online_access=allow_online_access, allow_online_access_with_ephemeral_sessions=allow_online_access_with_ephemeral_sessions, token_lifetime=token_lifetime, + token_lifetime_for_anonymous_access_tokens=token_lifetime_for_anonymous_access_tokens, token_dialect=token_dialect, enforce_policies=enforce_policies, token_encryption=token_encryption, @@ -515,6 +611,7 @@ async def create( allow_online_access: typing.Optional[bool] = OMIT, allow_online_access_with_ephemeral_sessions: typing.Optional[bool] = OMIT, token_lifetime: typing.Optional[int] = OMIT, + token_lifetime_for_anonymous_access_tokens: typing.Optional[int] = OMIT, token_dialect: typing.Optional[ResourceServerTokenDialectSchemaEnum] = OMIT, skip_consent_for_verifiable_first_party_clients: typing.Optional[bool] = OMIT, enforce_policies: typing.Optional[bool] = OMIT, @@ -557,6 +654,9 @@ async def create( token_lifetime : typing.Optional[int] Expiration value (in seconds) for access tokens issued for this API from the token endpoint. + token_lifetime_for_anonymous_access_tokens : typing.Optional[int] + Expiration value (in seconds) for anonymous-session access tokens issued for this API. + token_dialect : typing.Optional[ResourceServerTokenDialectSchemaEnum] skip_consent_for_verifiable_first_party_clients : typing.Optional[bool] @@ -614,6 +714,7 @@ async def main() -> None: allow_online_access=allow_online_access, allow_online_access_with_ephemeral_sessions=allow_online_access_with_ephemeral_sessions, token_lifetime=token_lifetime, + token_lifetime_for_anonymous_access_tokens=token_lifetime_for_anonymous_access_tokens, token_dialect=token_dialect, skip_consent_for_verifiable_first_party_clients=skip_consent_for_verifiable_first_party_clients, enforce_policies=enforce_policies, @@ -627,6 +728,97 @@ async def main() -> None: ) return _response.data + async def search( + self, + *, + q: typing.Optional[str] = None, + parser: typing.Optional[SearchParserEnum] = None, + fields: typing.Optional[str] = None, + include_fields: typing.Optional[bool] = None, + take: typing.Optional[int] = 50, + from_: typing.Optional[str] = None, + sort: typing.Optional[ResourceServerSortFieldEnum] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncPager[ResourceServerSearchResponse, SearchResourceServersResponseContent]: + """ + Search resource servers using SCIM or Lucene filter syntax with low-latency, eventually consistent results. Use the parser parameter to specify "scim" or "lucene" syntax (default: "lucene"). This endpoint provides an alternative to the standard GET /resource-servers endpoint with better performance for complex queries. + Results may not reflect recent updates immediately. + + The `signing_secret` field is not supported by this endpoint. + + Parameters + ---------- + q : typing.Optional[str] + Filter expression in SCIM or Lucene syntax (depending on parser parameter). SCIM examples: `name eq "My API"`, `identifier sw "https://"`. SCIM operators: eq, ne, sw, ew, co, pr, gt, ge, lt, le, and, or.

Supported Fields:
  • id - Filter by resource server ID
  • identifier - Filter by resource server identifier
  • name - Filter by resource server name
  • updated_at - Filter by last update date
Maximum 5 filter operations per query. Results are eventually consistent and may not reflect recent updates. + + parser : typing.Optional[SearchParserEnum] + Query parser to use for the filter expression. Use "scim" for SCIM filter syntax or "lucene" for Lucene query syntax (default). + + fields : typing.Optional[str] + Comma-separated list of fields to include or exclude in the response. Works with the include_fields parameter to control projection mode. + + include_fields : typing.Optional[bool] + Controls field projection mode. Set to true to include only fields specified in the fields parameter. Set to false to exclude fields specified in the fields parameter. Defaults to true if not specified. + + take : typing.Optional[int] + Maximum number of results to return per page (1-100). Defaults to 50. + + from_ : typing.Optional[str] + Cursor for the next page of results. Use the value from the next field in the previous response. + + sort : typing.Optional[ResourceServerSortFieldEnum] + Field name to sort results by in ascending order only. Defaults to insertion order (oldest first) if not provided. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncPager[ResourceServerSearchResponse, SearchResourceServersResponseContent] + Resource servers successfully retrieved. + + Examples + -------- + import asyncio + + from auth0 import AsyncAuth0 + + client = AsyncAuth0( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + response = await client.resource_servers.search( + q="q", + parser="scim", + fields="fields", + include_fields=True, + take=1, + from_="from", + sort="identifier", + ) + async for item in response: + yield item + + # alternatively, you can paginate page-by-page + async for page in response.iter_pages(): + yield page + + + asyncio.run(main()) + """ + return await self._raw_client.search( + q=q, + parser=parser, + fields=fields, + include_fields=include_fields, + take=take, + from_=from_, + sort=sort, + request_options=request_options, + ) + async def get( self, id: str, @@ -727,6 +919,7 @@ async def update( allow_online_access: typing.Optional[bool] = OMIT, allow_online_access_with_ephemeral_sessions: typing.Optional[bool] = OMIT, token_lifetime: typing.Optional[int] = OMIT, + token_lifetime_for_anonymous_access_tokens: typing.Optional[int] = OMIT, token_dialect: typing.Optional[ResourceServerTokenDialectSchemaEnum] = OMIT, enforce_policies: typing.Optional[bool] = OMIT, token_encryption: typing.Optional[ResourceServerTokenEncryption] = OMIT, @@ -771,6 +964,9 @@ async def update( token_lifetime : typing.Optional[int] Expiration value (in seconds) for access tokens issued for this API from the token endpoint. + token_lifetime_for_anonymous_access_tokens : typing.Optional[int] + Expiration value (in seconds) for anonymous-session access tokens issued for this API. + token_dialect : typing.Optional[ResourceServerTokenDialectSchemaEnum] enforce_policies : typing.Optional[bool] @@ -826,6 +1022,7 @@ async def main() -> None: allow_online_access=allow_online_access, allow_online_access_with_ephemeral_sessions=allow_online_access_with_ephemeral_sessions, token_lifetime=token_lifetime, + token_lifetime_for_anonymous_access_tokens=token_lifetime_for_anonymous_access_tokens, token_dialect=token_dialect, enforce_policies=enforce_policies, token_encryption=token_encryption, diff --git a/src/auth0/management/resource_servers/raw_client.py b/src/auth0/management/resource_servers/raw_client.py index 62e70fd2..f174b2b1 100644 --- a/src/auth0/management/resource_servers/raw_client.py +++ b/src/auth0/management/resource_servers/raw_client.py @@ -15,6 +15,8 @@ from ..errors.bad_request_error import BadRequestError from ..errors.conflict_error import ConflictError from ..errors.forbidden_error import ForbiddenError +from ..errors.gateway_timeout_error import GatewayTimeoutError +from ..errors.internal_server_error import InternalServerError from ..errors.not_found_error import NotFoundError from ..errors.too_many_requests_error import TooManyRequestsError from ..errors.unauthorized_error import UnauthorizedError @@ -28,9 +30,13 @@ from ..types.resource_server_consent_policy_enum import ResourceServerConsentPolicyEnum from ..types.resource_server_proof_of_possession import ResourceServerProofOfPossession from ..types.resource_server_scope import ResourceServerScope +from ..types.resource_server_search_response import ResourceServerSearchResponse +from ..types.resource_server_sort_field_enum import ResourceServerSortFieldEnum 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.search_parser_enum import SearchParserEnum +from ..types.search_resource_servers_response_content import SearchResourceServersResponseContent from ..types.signing_algorithm_enum import SigningAlgorithmEnum from ..types.update_resource_server_response_content import UpdateResourceServerResponseContent from pydantic import ValidationError @@ -180,6 +186,7 @@ def create( allow_online_access: typing.Optional[bool] = OMIT, allow_online_access_with_ephemeral_sessions: typing.Optional[bool] = OMIT, token_lifetime: typing.Optional[int] = OMIT, + token_lifetime_for_anonymous_access_tokens: typing.Optional[int] = OMIT, token_dialect: typing.Optional[ResourceServerTokenDialectSchemaEnum] = OMIT, skip_consent_for_verifiable_first_party_clients: typing.Optional[bool] = OMIT, enforce_policies: typing.Optional[bool] = OMIT, @@ -222,6 +229,9 @@ def create( token_lifetime : typing.Optional[int] Expiration value (in seconds) for access tokens issued for this API from the token endpoint. + token_lifetime_for_anonymous_access_tokens : typing.Optional[int] + Expiration value (in seconds) for anonymous-session access tokens issued for this API. + token_dialect : typing.Optional[ResourceServerTokenDialectSchemaEnum] skip_consent_for_verifiable_first_party_clients : typing.Optional[bool] @@ -265,6 +275,7 @@ def create( "allow_online_access": allow_online_access, "allow_online_access_with_ephemeral_sessions": allow_online_access_with_ephemeral_sessions, "token_lifetime": token_lifetime, + "token_lifetime_for_anonymous_access_tokens": token_lifetime_for_anonymous_access_tokens, "token_dialect": token_dialect, "skip_consent_for_verifiable_first_party_clients": skip_consent_for_verifiable_first_party_clients, "enforce_policies": enforce_policies, @@ -371,6 +382,178 @@ def create( ) raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + def search( + self, + *, + q: typing.Optional[str] = None, + parser: typing.Optional[SearchParserEnum] = None, + fields: typing.Optional[str] = None, + include_fields: typing.Optional[bool] = None, + take: typing.Optional[int] = 50, + from_: typing.Optional[str] = None, + sort: typing.Optional[ResourceServerSortFieldEnum] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> SyncPager[ResourceServerSearchResponse, SearchResourceServersResponseContent]: + """ + Search resource servers using SCIM or Lucene filter syntax with low-latency, eventually consistent results. Use the parser parameter to specify "scim" or "lucene" syntax (default: "lucene"). This endpoint provides an alternative to the standard GET /resource-servers endpoint with better performance for complex queries. + Results may not reflect recent updates immediately. + + The `signing_secret` field is not supported by this endpoint. + + Parameters + ---------- + q : typing.Optional[str] + Filter expression in SCIM or Lucene syntax (depending on parser parameter). SCIM examples: `name eq "My API"`, `identifier sw "https://"`. SCIM operators: eq, ne, sw, ew, co, pr, gt, ge, lt, le, and, or.

Supported Fields:
  • id - Filter by resource server ID
  • identifier - Filter by resource server identifier
  • name - Filter by resource server name
  • updated_at - Filter by last update date
Maximum 5 filter operations per query. Results are eventually consistent and may not reflect recent updates. + + parser : typing.Optional[SearchParserEnum] + Query parser to use for the filter expression. Use "scim" for SCIM filter syntax or "lucene" for Lucene query syntax (default). + + fields : typing.Optional[str] + Comma-separated list of fields to include or exclude in the response. Works with the include_fields parameter to control projection mode. + + include_fields : typing.Optional[bool] + Controls field projection mode. Set to true to include only fields specified in the fields parameter. Set to false to exclude fields specified in the fields parameter. Defaults to true if not specified. + + take : typing.Optional[int] + Maximum number of results to return per page (1-100). Defaults to 50. + + from_ : typing.Optional[str] + Cursor for the next page of results. Use the value from the next field in the previous response. + + sort : typing.Optional[ResourceServerSortFieldEnum] + Field name to sort results by in ascending order only. Defaults to insertion order (oldest first) if not provided. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + SyncPager[ResourceServerSearchResponse, SearchResourceServersResponseContent] + Resource servers successfully retrieved. + """ + _response = self._client_wrapper.httpx_client.request( + "resource-servers/search", + method="GET", + params={ + "q": q, + "parser": parser, + "fields": fields, + "include_fields": include_fields, + "take": take, + "from": from_, + "sort": sort, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _parsed_response = typing.cast( + SearchResourceServersResponseContent, + parse_obj_as( + type_=SearchResourceServersResponseContent, # type: ignore + object_=_response.json(), + ), + ) + _items = _parsed_response.resource_servers + _parsed_next = _parsed_response.next + _has_next = _parsed_next is not None and _parsed_next != "" + _get_next = lambda: self.search( + q=q, + parser=parser, + fields=fields, + include_fields=include_fields, + take=take, + from_=_parsed_next, + sort=sort, + request_options=request_options, + ) + return SyncPager(has_next=_has_next, items=_items, get_next=_get_next, response=_parsed_response) + 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(), + ), + ), + ) + if _response.status_code == 500: + raise InternalServerError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + parse_obj_as( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 504: + raise GatewayTimeoutError( + 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, @@ -569,6 +752,7 @@ def update( allow_online_access: typing.Optional[bool] = OMIT, allow_online_access_with_ephemeral_sessions: typing.Optional[bool] = OMIT, token_lifetime: typing.Optional[int] = OMIT, + token_lifetime_for_anonymous_access_tokens: typing.Optional[int] = OMIT, token_dialect: typing.Optional[ResourceServerTokenDialectSchemaEnum] = OMIT, enforce_policies: typing.Optional[bool] = OMIT, token_encryption: typing.Optional[ResourceServerTokenEncryption] = OMIT, @@ -613,6 +797,9 @@ def update( token_lifetime : typing.Optional[int] Expiration value (in seconds) for access tokens issued for this API from the token endpoint. + token_lifetime_for_anonymous_access_tokens : typing.Optional[int] + Expiration value (in seconds) for anonymous-session access tokens issued for this API. + token_dialect : typing.Optional[ResourceServerTokenDialectSchemaEnum] enforce_policies : typing.Optional[bool] @@ -653,6 +840,7 @@ def update( "allow_online_access": allow_online_access, "allow_online_access_with_ephemeral_sessions": allow_online_access_with_ephemeral_sessions, "token_lifetime": token_lifetime, + "token_lifetime_for_anonymous_access_tokens": token_lifetime_for_anonymous_access_tokens, "token_dialect": token_dialect, "enforce_policies": enforce_policies, "token_encryption": convert_and_respect_annotation_metadata( @@ -903,6 +1091,7 @@ async def create( allow_online_access: typing.Optional[bool] = OMIT, allow_online_access_with_ephemeral_sessions: typing.Optional[bool] = OMIT, token_lifetime: typing.Optional[int] = OMIT, + token_lifetime_for_anonymous_access_tokens: typing.Optional[int] = OMIT, token_dialect: typing.Optional[ResourceServerTokenDialectSchemaEnum] = OMIT, skip_consent_for_verifiable_first_party_clients: typing.Optional[bool] = OMIT, enforce_policies: typing.Optional[bool] = OMIT, @@ -945,6 +1134,9 @@ async def create( token_lifetime : typing.Optional[int] Expiration value (in seconds) for access tokens issued for this API from the token endpoint. + token_lifetime_for_anonymous_access_tokens : typing.Optional[int] + Expiration value (in seconds) for anonymous-session access tokens issued for this API. + token_dialect : typing.Optional[ResourceServerTokenDialectSchemaEnum] skip_consent_for_verifiable_first_party_clients : typing.Optional[bool] @@ -988,6 +1180,7 @@ async def create( "allow_online_access": allow_online_access, "allow_online_access_with_ephemeral_sessions": allow_online_access_with_ephemeral_sessions, "token_lifetime": token_lifetime, + "token_lifetime_for_anonymous_access_tokens": token_lifetime_for_anonymous_access_tokens, "token_dialect": token_dialect, "skip_consent_for_verifiable_first_party_clients": skip_consent_for_verifiable_first_party_clients, "enforce_policies": enforce_policies, @@ -1094,6 +1287,181 @@ async def create( ) raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + async def search( + self, + *, + q: typing.Optional[str] = None, + parser: typing.Optional[SearchParserEnum] = None, + fields: typing.Optional[str] = None, + include_fields: typing.Optional[bool] = None, + take: typing.Optional[int] = 50, + from_: typing.Optional[str] = None, + sort: typing.Optional[ResourceServerSortFieldEnum] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncPager[ResourceServerSearchResponse, SearchResourceServersResponseContent]: + """ + Search resource servers using SCIM or Lucene filter syntax with low-latency, eventually consistent results. Use the parser parameter to specify "scim" or "lucene" syntax (default: "lucene"). This endpoint provides an alternative to the standard GET /resource-servers endpoint with better performance for complex queries. + Results may not reflect recent updates immediately. + + The `signing_secret` field is not supported by this endpoint. + + Parameters + ---------- + q : typing.Optional[str] + Filter expression in SCIM or Lucene syntax (depending on parser parameter). SCIM examples: `name eq "My API"`, `identifier sw "https://"`. SCIM operators: eq, ne, sw, ew, co, pr, gt, ge, lt, le, and, or.

Supported Fields:
  • id - Filter by resource server ID
  • identifier - Filter by resource server identifier
  • name - Filter by resource server name
  • updated_at - Filter by last update date
Maximum 5 filter operations per query. Results are eventually consistent and may not reflect recent updates. + + parser : typing.Optional[SearchParserEnum] + Query parser to use for the filter expression. Use "scim" for SCIM filter syntax or "lucene" for Lucene query syntax (default). + + fields : typing.Optional[str] + Comma-separated list of fields to include or exclude in the response. Works with the include_fields parameter to control projection mode. + + include_fields : typing.Optional[bool] + Controls field projection mode. Set to true to include only fields specified in the fields parameter. Set to false to exclude fields specified in the fields parameter. Defaults to true if not specified. + + take : typing.Optional[int] + Maximum number of results to return per page (1-100). Defaults to 50. + + from_ : typing.Optional[str] + Cursor for the next page of results. Use the value from the next field in the previous response. + + sort : typing.Optional[ResourceServerSortFieldEnum] + Field name to sort results by in ascending order only. Defaults to insertion order (oldest first) if not provided. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncPager[ResourceServerSearchResponse, SearchResourceServersResponseContent] + Resource servers successfully retrieved. + """ + _response = await self._client_wrapper.httpx_client.request( + "resource-servers/search", + method="GET", + params={ + "q": q, + "parser": parser, + "fields": fields, + "include_fields": include_fields, + "take": take, + "from": from_, + "sort": sort, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _parsed_response = typing.cast( + SearchResourceServersResponseContent, + parse_obj_as( + type_=SearchResourceServersResponseContent, # type: ignore + object_=_response.json(), + ), + ) + _items = _parsed_response.resource_servers + _parsed_next = _parsed_response.next + _has_next = _parsed_next is not None and _parsed_next != "" + + async def _get_next(): + return await self.search( + q=q, + parser=parser, + fields=fields, + include_fields=include_fields, + take=take, + from_=_parsed_next, + sort=sort, + request_options=request_options, + ) + + return AsyncPager(has_next=_has_next, items=_items, get_next=_get_next, response=_parsed_response) + 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(), + ), + ), + ) + if _response.status_code == 500: + raise InternalServerError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + parse_obj_as( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 504: + raise GatewayTimeoutError( + 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, @@ -1294,6 +1662,7 @@ async def update( allow_online_access: typing.Optional[bool] = OMIT, allow_online_access_with_ephemeral_sessions: typing.Optional[bool] = OMIT, token_lifetime: typing.Optional[int] = OMIT, + token_lifetime_for_anonymous_access_tokens: typing.Optional[int] = OMIT, token_dialect: typing.Optional[ResourceServerTokenDialectSchemaEnum] = OMIT, enforce_policies: typing.Optional[bool] = OMIT, token_encryption: typing.Optional[ResourceServerTokenEncryption] = OMIT, @@ -1338,6 +1707,9 @@ async def update( token_lifetime : typing.Optional[int] Expiration value (in seconds) for access tokens issued for this API from the token endpoint. + token_lifetime_for_anonymous_access_tokens : typing.Optional[int] + Expiration value (in seconds) for anonymous-session access tokens issued for this API. + token_dialect : typing.Optional[ResourceServerTokenDialectSchemaEnum] enforce_policies : typing.Optional[bool] @@ -1378,6 +1750,7 @@ async def update( "allow_online_access": allow_online_access, "allow_online_access_with_ephemeral_sessions": allow_online_access_with_ephemeral_sessions, "token_lifetime": token_lifetime, + "token_lifetime_for_anonymous_access_tokens": token_lifetime_for_anonymous_access_tokens, "token_dialect": token_dialect, "enforce_policies": enforce_policies, "token_encryption": convert_and_respect_annotation_metadata( diff --git a/src/auth0/management/types/__init__.py b/src/auth0/management/types/__init__.py index f640bcfb..6494cbfe 100644 --- a/src/auth0/management/types/__init__.py +++ b/src/auth0/management/types/__init__.py @@ -59,9 +59,11 @@ from .acul_organization_metadata import AculOrganizationMetadata from .acul_rendering_mode_enum import AculRenderingModeEnum from .add_organization_connection_response_content import AddOrganizationConnectionResponseContent + from .advance_ramp_response_content import AdvanceRampResponseContent from .agent_metadata import AgentMetadata from .agent_response_content import AgentResponseContent from .anomaly_ip_format import AnomalyIpFormat + from .anonymous_sessions import AnonymousSessions from .app_metadata import AppMetadata from .assessors_type_enum import AssessorsTypeEnum from .associate_organization_client_grant_response_content import AssociateOrganizationClientGrantResponseContent @@ -883,6 +885,7 @@ from .create_action_module_response_content import CreateActionModuleResponseContent from .create_action_module_version_response_content import CreateActionModuleVersionResponseContent from .create_action_response_content import CreateActionResponseContent + from .create_anonymous_sessions import CreateAnonymousSessions from .create_branding_phone_provider_response_content import CreateBrandingPhoneProviderResponseContent from .create_branding_theme_response_content import CreateBrandingThemeResponseContent from .create_client_authentication_method_self_signed_tls_client_auth import ( @@ -5454,6 +5457,7 @@ GetDirectoryProvisioningDefaultMappingResponseContent, ) from .get_directory_provisioning_response_content import GetDirectoryProvisioningResponseContent + from .get_email_factor_settings_response_content import GetEmailFactorSettingsResponseContent from .get_email_provider_response_content import GetEmailProviderResponseContent from .get_email_template_response_content import GetEmailTemplateResponseContent from .get_encryption_key_response_content import GetEncryptionKeyResponseContent @@ -5487,6 +5491,7 @@ GetGuardianFactorsProviderSmsTwilioResponseContent, ) from .get_guardian_factors_provider_sns_response_content import GetGuardianFactorsProviderSnsResponseContent + from .get_guardian_settings_response_content import GetGuardianSettingsResponseContent from .get_hook_response_content import GetHookResponseContent from .get_hook_secret_response_content import GetHookSecretResponseContent from .get_job_error_response_content import GetJobErrorResponseContent @@ -5509,6 +5514,7 @@ from .get_organization_invitation_response_content import GetOrganizationInvitationResponseContent from .get_organization_response_content import GetOrganizationResponseContent from .get_partials_response_content import GetPartialsResponseContent + from .get_phone_factor_settings_response_content import GetPhoneFactorSettingsResponseContent from .get_phone_provider_protection_response_content import GetPhoneProviderProtectionResponseContent from .get_phone_template_response_content import GetPhoneTemplateResponseContent from .get_rate_limit_policy_response_content import GetRateLimitPolicyResponseContent @@ -5643,9 +5649,6 @@ from .list_organization_members_paginated_response_content import ListOrganizationMembersPaginatedResponseContent from .list_organization_role_groups_response_content import ListOrganizationRoleGroupsResponseContent from .list_organization_role_members_response_content import ListOrganizationRoleMembersResponseContent - from .list_organization_templates_paginated_response_content import ( - ListOrganizationTemplatesPaginatedResponseContent, - ) from .list_organizations_paginated_response_content import ListOrganizationsPaginatedResponseContent from .list_phone_templates_response_content import ListPhoneTemplatesResponseContent from .list_rate_limit_policies_paginated_response_content import ListRateLimitPoliciesPaginatedResponseContent @@ -5662,9 +5665,6 @@ from .list_self_service_profile_custom_text_response_content import ListSelfServiceProfileCustomTextResponseContent from .list_self_service_profiles_paginated_response_content import ListSelfServiceProfilesPaginatedResponseContent from .list_synchronized_groups_response_content import ListSynchronizedGroupsResponseContent - from .list_template_organizations_paginated_response_content import ( - ListTemplateOrganizationsPaginatedResponseContent, - ) from .list_token_exchange_profile_response_content import ListTokenExchangeProfileResponseContent from .list_user_attribute_profile_template_response_content import ListUserAttributeProfileTemplateResponseContent from .list_user_attribute_profiles_paginated_response_content import ( @@ -5803,9 +5803,9 @@ from .organization_member_effective_role_source import OrganizationMemberEffectiveRoleSource from .organization_member_role import OrganizationMemberRole from .organization_metadata import OrganizationMetadata + from .organization_sort_field_enum import OrganizationSortFieldEnum from .organization_template import OrganizationTemplate from .organization_template_allowed_strategy_enum import OrganizationTemplateAllowedStrategyEnum - from .organization_template_assigned_organization import OrganizationTemplateAssignedOrganization from .organization_template_role_visibility_enum import OrganizationTemplateRoleVisibilityEnum from .organization_template_role_visibility_override import OrganizationTemplateRoleVisibilityOverride from .organization_template_role_visibility_policy import OrganizationTemplateRoleVisibilityPolicy @@ -5899,7 +5899,15 @@ from .resource_server_proof_of_possession_mechanism_enum import ResourceServerProofOfPossessionMechanismEnum from .resource_server_proof_of_possession_required_for_enum import ResourceServerProofOfPossessionRequiredForEnum from .resource_server_scope import ResourceServerScope + from .resource_server_search_response import ResourceServerSearchResponse + from .resource_server_sort_field_enum import ResourceServerSortFieldEnum from .resource_server_subject_type_authorization import ResourceServerSubjectTypeAuthorization + from .resource_server_subject_type_authorization_anonymous_user import ( + ResourceServerSubjectTypeAuthorizationAnonymousUser, + ) + from .resource_server_subject_type_authorization_anonymous_user_policy_enum import ( + ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum, + ) from .resource_server_subject_type_authorization_client import ResourceServerSubjectTypeAuthorizationClient from .resource_server_subject_type_authorization_client_policy_enum import ( ResourceServerSubjectTypeAuthorizationClientPolicyEnum, @@ -5934,6 +5942,10 @@ from .scim_token_item import ScimTokenItem from .screen_group_name_enum import ScreenGroupNameEnum from .search_engine_versions_enum import SearchEngineVersionsEnum + from .search_organization import SearchOrganization + from .search_organizations_paginated_response_content import SearchOrganizationsPaginatedResponseContent + from .search_parser_enum import SearchParserEnum + from .search_resource_servers_response_content import SearchResourceServersResponseContent from .self_service_profile import SelfServiceProfile from .self_service_profile_allowed_strategy_enum import SelfServiceProfileAllowedStrategyEnum from .self_service_profile_branding import SelfServiceProfileBranding @@ -5978,6 +5990,7 @@ from .session_metadata import SessionMetadata from .session_response_content import SessionResponseContent from .set_custom_signing_keys_response_content import SetCustomSigningKeysResponseContent + from .set_email_factor_settings_response_content import SetEmailFactorSettingsResponseContent from .set_email_template_response_content import SetEmailTemplateResponseContent from .set_guardian_factor_duo_settings_response_content import SetGuardianFactorDuoSettingsResponseContent from .set_guardian_factor_phone_message_types_response_content import ( @@ -6011,8 +6024,10 @@ ) from .set_guardian_policies_request_content import SetGuardianPoliciesRequestContent from .set_guardian_policies_response_content import SetGuardianPoliciesResponseContent + from .set_guardian_settings_response_content import SetGuardianSettingsResponseContent from .set_network_acls_response_content import SetNetworkAclsResponseContent from .set_partials_request_content import SetPartialsRequestContent + from .set_phone_factor_settings_response_content import SetPhoneFactorSettingsResponseContent from .set_rules_config_response_content import SetRulesConfigResponseContent from .set_self_service_profile_custom_text_request_content import SetSelfServiceProfileCustomTextRequestContent from .set_self_service_profile_custom_text_response_content import SetSelfServiceProfileCustomTextResponseContent @@ -6058,6 +6073,7 @@ from .tenant_settings_password_page import TenantSettingsPasswordPage from .tenant_settings_resource_parameter_profile import TenantSettingsResourceParameterProfile from .tenant_settings_sessions import TenantSettingsSessions + from .tenant_settings_sessions_anonymous import TenantSettingsSessionsAnonymous from .tenant_settings_supported_locales_enum import TenantSettingsSupportedLocalesEnum from .test_action_payload import TestActionPayload from .test_action_response_content import TestActionResponseContent @@ -6086,6 +6102,7 @@ from .update_action_module_response_content import UpdateActionModuleResponseContent from .update_action_response_content import UpdateActionResponseContent from .update_acul_response_content import UpdateAculResponseContent + from .update_anonymous_sessions import UpdateAnonymousSessions from .update_attack_protection_captcha_response_content import UpdateAttackProtectionCaptchaResponseContent from .update_bot_detection_settings_response_content import UpdateBotDetectionSettingsResponseContent from .update_branding_colors import UpdateBrandingColors @@ -6345,9 +6362,11 @@ "AculOrganizationMetadata": ".acul_organization_metadata", "AculRenderingModeEnum": ".acul_rendering_mode_enum", "AddOrganizationConnectionResponseContent": ".add_organization_connection_response_content", + "AdvanceRampResponseContent": ".advance_ramp_response_content", "AgentMetadata": ".agent_metadata", "AgentResponseContent": ".agent_response_content", "AnomalyIpFormat": ".anomaly_ip_format", + "AnonymousSessions": ".anonymous_sessions", "AppMetadata": ".app_metadata", "AssessorsTypeEnum": ".assessors_type_enum", "AssociateOrganizationClientGrantResponseContent": ".associate_organization_client_grant_response_content", @@ -7083,6 +7102,7 @@ "CreateActionModuleResponseContent": ".create_action_module_response_content", "CreateActionModuleVersionResponseContent": ".create_action_module_version_response_content", "CreateActionResponseContent": ".create_action_response_content", + "CreateAnonymousSessions": ".create_anonymous_sessions", "CreateBrandingPhoneProviderResponseContent": ".create_branding_phone_provider_response_content", "CreateBrandingThemeResponseContent": ".create_branding_theme_response_content", "CreateClientAuthenticationMethodSelfSignedTlsClientAuth": ".create_client_authentication_method_self_signed_tls_client_auth", @@ -9364,6 +9384,7 @@ "GetDefaultDomainResponseContent": ".get_default_domain_response_content", "GetDirectoryProvisioningDefaultMappingResponseContent": ".get_directory_provisioning_default_mapping_response_content", "GetDirectoryProvisioningResponseContent": ".get_directory_provisioning_response_content", + "GetEmailFactorSettingsResponseContent": ".get_email_factor_settings_response_content", "GetEmailProviderResponseContent": ".get_email_provider_response_content", "GetEmailTemplateResponseContent": ".get_email_template_response_content", "GetEncryptionKeyResponseContent": ".get_encryption_key_response_content", @@ -9389,6 +9410,7 @@ "GetGuardianFactorsProviderSmsResponseContent": ".get_guardian_factors_provider_sms_response_content", "GetGuardianFactorsProviderSmsTwilioResponseContent": ".get_guardian_factors_provider_sms_twilio_response_content", "GetGuardianFactorsProviderSnsResponseContent": ".get_guardian_factors_provider_sns_response_content", + "GetGuardianSettingsResponseContent": ".get_guardian_settings_response_content", "GetHookResponseContent": ".get_hook_response_content", "GetHookSecretResponseContent": ".get_hook_secret_response_content", "GetJobErrorResponseContent": ".get_job_error_response_content", @@ -9409,6 +9431,7 @@ "GetOrganizationInvitationResponseContent": ".get_organization_invitation_response_content", "GetOrganizationResponseContent": ".get_organization_response_content", "GetPartialsResponseContent": ".get_partials_response_content", + "GetPhoneFactorSettingsResponseContent": ".get_phone_factor_settings_response_content", "GetPhoneProviderProtectionResponseContent": ".get_phone_provider_protection_response_content", "GetPhoneTemplateResponseContent": ".get_phone_template_response_content", "GetRateLimitPolicyResponseContent": ".get_rate_limit_policy_response_content", @@ -9515,7 +9538,6 @@ "ListOrganizationMembersPaginatedResponseContent": ".list_organization_members_paginated_response_content", "ListOrganizationRoleGroupsResponseContent": ".list_organization_role_groups_response_content", "ListOrganizationRoleMembersResponseContent": ".list_organization_role_members_response_content", - "ListOrganizationTemplatesPaginatedResponseContent": ".list_organization_templates_paginated_response_content", "ListOrganizationsPaginatedResponseContent": ".list_organizations_paginated_response_content", "ListPhoneTemplatesResponseContent": ".list_phone_templates_response_content", "ListRateLimitPoliciesPaginatedResponseContent": ".list_rate_limit_policies_paginated_response_content", @@ -9530,7 +9552,6 @@ "ListSelfServiceProfileCustomTextResponseContent": ".list_self_service_profile_custom_text_response_content", "ListSelfServiceProfilesPaginatedResponseContent": ".list_self_service_profiles_paginated_response_content", "ListSynchronizedGroupsResponseContent": ".list_synchronized_groups_response_content", - "ListTemplateOrganizationsPaginatedResponseContent": ".list_template_organizations_paginated_response_content", "ListTokenExchangeProfileResponseContent": ".list_token_exchange_profile_response_content", "ListUserAttributeProfileTemplateResponseContent": ".list_user_attribute_profile_template_response_content", "ListUserAttributeProfilesPaginatedResponseContent": ".list_user_attribute_profiles_paginated_response_content", @@ -9657,9 +9678,9 @@ "OrganizationMemberEffectiveRoleSource": ".organization_member_effective_role_source", "OrganizationMemberRole": ".organization_member_role", "OrganizationMetadata": ".organization_metadata", + "OrganizationSortFieldEnum": ".organization_sort_field_enum", "OrganizationTemplate": ".organization_template", "OrganizationTemplateAllowedStrategyEnum": ".organization_template_allowed_strategy_enum", - "OrganizationTemplateAssignedOrganization": ".organization_template_assigned_organization", "OrganizationTemplateRoleVisibilityEnum": ".organization_template_role_visibility_enum", "OrganizationTemplateRoleVisibilityOverride": ".organization_template_role_visibility_override", "OrganizationTemplateRoleVisibilityPolicy": ".organization_template_role_visibility_policy", @@ -9741,7 +9762,11 @@ "ResourceServerProofOfPossessionMechanismEnum": ".resource_server_proof_of_possession_mechanism_enum", "ResourceServerProofOfPossessionRequiredForEnum": ".resource_server_proof_of_possession_required_for_enum", "ResourceServerScope": ".resource_server_scope", + "ResourceServerSearchResponse": ".resource_server_search_response", + "ResourceServerSortFieldEnum": ".resource_server_sort_field_enum", "ResourceServerSubjectTypeAuthorization": ".resource_server_subject_type_authorization", + "ResourceServerSubjectTypeAuthorizationAnonymousUser": ".resource_server_subject_type_authorization_anonymous_user", + "ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum": ".resource_server_subject_type_authorization_anonymous_user_policy_enum", "ResourceServerSubjectTypeAuthorizationClient": ".resource_server_subject_type_authorization_client", "ResourceServerSubjectTypeAuthorizationClientPolicyEnum": ".resource_server_subject_type_authorization_client_policy_enum", "ResourceServerSubjectTypeAuthorizationUser": ".resource_server_subject_type_authorization_user", @@ -9772,6 +9797,10 @@ "ScimTokenItem": ".scim_token_item", "ScreenGroupNameEnum": ".screen_group_name_enum", "SearchEngineVersionsEnum": ".search_engine_versions_enum", + "SearchOrganization": ".search_organization", + "SearchOrganizationsPaginatedResponseContent": ".search_organizations_paginated_response_content", + "SearchParserEnum": ".search_parser_enum", + "SearchResourceServersResponseContent": ".search_resource_servers_response_content", "SelfServiceProfile": ".self_service_profile", "SelfServiceProfileAllowedStrategyEnum": ".self_service_profile_allowed_strategy_enum", "SelfServiceProfileBranding": ".self_service_profile_branding", @@ -9808,6 +9837,7 @@ "SessionMetadata": ".session_metadata", "SessionResponseContent": ".session_response_content", "SetCustomSigningKeysResponseContent": ".set_custom_signing_keys_response_content", + "SetEmailFactorSettingsResponseContent": ".set_email_factor_settings_response_content", "SetEmailTemplateResponseContent": ".set_email_template_response_content", "SetGuardianFactorDuoSettingsResponseContent": ".set_guardian_factor_duo_settings_response_content", "SetGuardianFactorPhoneMessageTypesResponseContent": ".set_guardian_factor_phone_message_types_response_content", @@ -9825,8 +9855,10 @@ "SetGuardianFactorsProviderSmsTwilioResponseContent": ".set_guardian_factors_provider_sms_twilio_response_content", "SetGuardianPoliciesRequestContent": ".set_guardian_policies_request_content", "SetGuardianPoliciesResponseContent": ".set_guardian_policies_response_content", + "SetGuardianSettingsResponseContent": ".set_guardian_settings_response_content", "SetNetworkAclsResponseContent": ".set_network_acls_response_content", "SetPartialsRequestContent": ".set_partials_request_content", + "SetPhoneFactorSettingsResponseContent": ".set_phone_factor_settings_response_content", "SetRulesConfigResponseContent": ".set_rules_config_response_content", "SetSelfServiceProfileCustomTextRequestContent": ".set_self_service_profile_custom_text_request_content", "SetSelfServiceProfileCustomTextResponseContent": ".set_self_service_profile_custom_text_response_content", @@ -9868,6 +9900,7 @@ "TenantSettingsPasswordPage": ".tenant_settings_password_page", "TenantSettingsResourceParameterProfile": ".tenant_settings_resource_parameter_profile", "TenantSettingsSessions": ".tenant_settings_sessions", + "TenantSettingsSessionsAnonymous": ".tenant_settings_sessions_anonymous", "TenantSettingsSupportedLocalesEnum": ".tenant_settings_supported_locales_enum", "TestActionPayload": ".test_action_payload", "TestActionResponseContent": ".test_action_response_content", @@ -9896,6 +9929,7 @@ "UpdateActionModuleResponseContent": ".update_action_module_response_content", "UpdateActionResponseContent": ".update_action_response_content", "UpdateAculResponseContent": ".update_acul_response_content", + "UpdateAnonymousSessions": ".update_anonymous_sessions", "UpdateAttackProtectionCaptchaResponseContent": ".update_attack_protection_captcha_response_content", "UpdateBotDetectionSettingsResponseContent": ".update_bot_detection_settings_response_content", "UpdateBrandingColors": ".update_branding_colors", @@ -10153,9 +10187,11 @@ def __dir__(): "AculOrganizationMetadata", "AculRenderingModeEnum", "AddOrganizationConnectionResponseContent", + "AdvanceRampResponseContent", "AgentMetadata", "AgentResponseContent", "AnomalyIpFormat", + "AnonymousSessions", "AppMetadata", "AssessorsTypeEnum", "AssociateOrganizationClientGrantResponseContent", @@ -10891,6 +10927,7 @@ def __dir__(): "CreateActionModuleResponseContent", "CreateActionModuleVersionResponseContent", "CreateActionResponseContent", + "CreateAnonymousSessions", "CreateBrandingPhoneProviderResponseContent", "CreateBrandingThemeResponseContent", "CreateClientAuthenticationMethodSelfSignedTlsClientAuth", @@ -13172,6 +13209,7 @@ def __dir__(): "GetDefaultDomainResponseContent", "GetDirectoryProvisioningDefaultMappingResponseContent", "GetDirectoryProvisioningResponseContent", + "GetEmailFactorSettingsResponseContent", "GetEmailProviderResponseContent", "GetEmailTemplateResponseContent", "GetEncryptionKeyResponseContent", @@ -13197,6 +13235,7 @@ def __dir__(): "GetGuardianFactorsProviderSmsResponseContent", "GetGuardianFactorsProviderSmsTwilioResponseContent", "GetGuardianFactorsProviderSnsResponseContent", + "GetGuardianSettingsResponseContent", "GetHookResponseContent", "GetHookSecretResponseContent", "GetJobErrorResponseContent", @@ -13217,6 +13256,7 @@ def __dir__(): "GetOrganizationInvitationResponseContent", "GetOrganizationResponseContent", "GetPartialsResponseContent", + "GetPhoneFactorSettingsResponseContent", "GetPhoneProviderProtectionResponseContent", "GetPhoneTemplateResponseContent", "GetRateLimitPolicyResponseContent", @@ -13323,7 +13363,6 @@ def __dir__(): "ListOrganizationMembersPaginatedResponseContent", "ListOrganizationRoleGroupsResponseContent", "ListOrganizationRoleMembersResponseContent", - "ListOrganizationTemplatesPaginatedResponseContent", "ListOrganizationsPaginatedResponseContent", "ListPhoneTemplatesResponseContent", "ListRateLimitPoliciesPaginatedResponseContent", @@ -13338,7 +13377,6 @@ def __dir__(): "ListSelfServiceProfileCustomTextResponseContent", "ListSelfServiceProfilesPaginatedResponseContent", "ListSynchronizedGroupsResponseContent", - "ListTemplateOrganizationsPaginatedResponseContent", "ListTokenExchangeProfileResponseContent", "ListUserAttributeProfileTemplateResponseContent", "ListUserAttributeProfilesPaginatedResponseContent", @@ -13465,9 +13503,9 @@ def __dir__(): "OrganizationMemberEffectiveRoleSource", "OrganizationMemberRole", "OrganizationMetadata", + "OrganizationSortFieldEnum", "OrganizationTemplate", "OrganizationTemplateAllowedStrategyEnum", - "OrganizationTemplateAssignedOrganization", "OrganizationTemplateRoleVisibilityEnum", "OrganizationTemplateRoleVisibilityOverride", "OrganizationTemplateRoleVisibilityPolicy", @@ -13549,7 +13587,11 @@ def __dir__(): "ResourceServerProofOfPossessionMechanismEnum", "ResourceServerProofOfPossessionRequiredForEnum", "ResourceServerScope", + "ResourceServerSearchResponse", + "ResourceServerSortFieldEnum", "ResourceServerSubjectTypeAuthorization", + "ResourceServerSubjectTypeAuthorizationAnonymousUser", + "ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum", "ResourceServerSubjectTypeAuthorizationClient", "ResourceServerSubjectTypeAuthorizationClientPolicyEnum", "ResourceServerSubjectTypeAuthorizationUser", @@ -13580,6 +13622,10 @@ def __dir__(): "ScimTokenItem", "ScreenGroupNameEnum", "SearchEngineVersionsEnum", + "SearchOrganization", + "SearchOrganizationsPaginatedResponseContent", + "SearchParserEnum", + "SearchResourceServersResponseContent", "SelfServiceProfile", "SelfServiceProfileAllowedStrategyEnum", "SelfServiceProfileBranding", @@ -13616,6 +13662,7 @@ def __dir__(): "SessionMetadata", "SessionResponseContent", "SetCustomSigningKeysResponseContent", + "SetEmailFactorSettingsResponseContent", "SetEmailTemplateResponseContent", "SetGuardianFactorDuoSettingsResponseContent", "SetGuardianFactorPhoneMessageTypesResponseContent", @@ -13633,8 +13680,10 @@ def __dir__(): "SetGuardianFactorsProviderSmsTwilioResponseContent", "SetGuardianPoliciesRequestContent", "SetGuardianPoliciesResponseContent", + "SetGuardianSettingsResponseContent", "SetNetworkAclsResponseContent", "SetPartialsRequestContent", + "SetPhoneFactorSettingsResponseContent", "SetRulesConfigResponseContent", "SetSelfServiceProfileCustomTextRequestContent", "SetSelfServiceProfileCustomTextResponseContent", @@ -13676,6 +13725,7 @@ def __dir__(): "TenantSettingsPasswordPage", "TenantSettingsResourceParameterProfile", "TenantSettingsSessions", + "TenantSettingsSessionsAnonymous", "TenantSettingsSupportedLocalesEnum", "TestActionPayload", "TestActionResponseContent", @@ -13704,6 +13754,7 @@ def __dir__(): "UpdateActionModuleResponseContent", "UpdateActionResponseContent", "UpdateAculResponseContent", + "UpdateAnonymousSessions", "UpdateAttackProtectionCaptchaResponseContent", "UpdateBotDetectionSettingsResponseContent", "UpdateBrandingColors", diff --git a/src/auth0/management/types/advance_ramp_response_content.py b/src/auth0/management/types/advance_ramp_response_content.py new file mode 100644 index 00000000..b3194d57 --- /dev/null +++ b/src/auth0/management/types/advance_ramp_response_content.py @@ -0,0 +1,22 @@ +# 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 AdvanceRampResponseContent(UniversalBaseModel): + experiment_id: str + from_level: int + to_level: int + current_level: int + + 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/organization_template_assigned_organization.py b/src/auth0/management/types/anonymous_sessions.py similarity index 70% rename from src/auth0/management/types/organization_template_assigned_organization.py rename to src/auth0/management/types/anonymous_sessions.py index d1b79eec..7986a6fd 100644 --- a/src/auth0/management/types/organization_template_assigned_organization.py +++ b/src/auth0/management/types/anonymous_sessions.py @@ -6,14 +6,14 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -class OrganizationTemplateAssignedOrganization(UniversalBaseModel): +class AnonymousSessions(UniversalBaseModel): """ - An organization assigned to the template. + Anonymous sessions configuration for this client. """ - id: str = pydantic.Field() + active: bool = pydantic.Field() """ - Organization identifier. + If set to true, this client is allowed to create anonymous sessions. """ if IS_PYDANTIC_V2: diff --git a/src/auth0/management/types/client.py b/src/auth0/management/types/client.py index 2e071774..7cb171e4 100644 --- a/src/auth0/management/types/client.py +++ b/src/auth0/management/types/client.py @@ -1,11 +1,13 @@ # This file was auto-generated by Fern from our API Definition. +import datetime as dt import typing import pydantic import typing_extensions from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from ..core.serialization import FieldMetadata +from .anonymous_sessions import AnonymousSessions from .b_2_b_integration_configuration import B2BIntegrationConfiguration from .client_addons import ClientAddons from .client_app_type_enum import ClientAppTypeEnum @@ -48,6 +50,16 @@ class Client(UniversalBaseModel): ID of this client. """ + created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) + """ + The ISO 8601 timestamp of when this client was created. + """ + + updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) + """ + The ISO 8601 timestamp of when this client was last updated. + """ + tenant: typing.Optional[str] = pydantic.Field(default=None) """ Name of the tenant this client belongs to. @@ -239,6 +251,7 @@ class Client(UniversalBaseModel): ] = None my_organization_configuration: typing.Optional[ClientMyOrganizationResponseConfiguration] = None identity_assertion_authorization_grant: typing.Optional[IdentityAssertionAuthorizationGrant] = None + anonymous_sessions: typing.Optional[AnonymousSessions] = None third_party_security_mode: typing.Optional[ClientThirdPartySecurityModeEnum] = 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_identity_provider_enum.py b/src/auth0/management/types/connection_identity_provider_enum.py index 95f61726..4ee4bc75 100644 --- a/src/auth0/management/types/connection_identity_provider_enum.py +++ b/src/auth0/management/types/connection_identity_provider_enum.py @@ -60,23 +60,14 @@ "yahoo", "yandex", "notion-mcp", - "asana-mcp", - "atlassian-mcp", + "asana", + "atlassian", "cloudflare-mcp", - "docusign-mcp", - "figma-mcp", - "gitlab-mcp", - "gusto-mcp", - "heroku-mcp", + "gitlab", "hubspot-mcp", - "intercom-mcp", "linear-mcp", - "pagerduty-mcp", "sentry-mcp", - "slack-mcp", - "supabase-mcp", - "vercel-mcp", - "xero-mcp", + "slack", ], typing.Any, ] diff --git a/src/auth0/management/types/connection_strategy_enum.py b/src/auth0/management/types/connection_strategy_enum.py index 29247e73..d54edf12 100644 --- a/src/auth0/management/types/connection_strategy_enum.py +++ b/src/auth0/management/types/connection_strategy_enum.py @@ -60,23 +60,14 @@ "yahoo", "yandex", "notion-mcp", - "asana-mcp", - "atlassian-mcp", + "asana", + "atlassian", "cloudflare-mcp", - "docusign-mcp", - "figma-mcp", - "gitlab-mcp", - "gusto-mcp", - "heroku-mcp", + "gitlab", "hubspot-mcp", - "intercom-mcp", "linear-mcp", - "pagerduty-mcp", "sentry-mcp", - "slack-mcp", - "supabase-mcp", - "vercel-mcp", - "xero-mcp", + "slack", "auth0-adldap", ], typing.Any, diff --git a/src/auth0/management/types/create_anonymous_sessions.py b/src/auth0/management/types/create_anonymous_sessions.py new file mode 100644 index 00000000..94837280 --- /dev/null +++ b/src/auth0/management/types/create_anonymous_sessions.py @@ -0,0 +1,26 @@ +# 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 CreateAnonymousSessions(UniversalBaseModel): + """ + Anonymous sessions configuration for this client. + """ + + active: bool = pydantic.Field() + """ + If set to true, this client is allowed to create anonymous sessions. + """ + + 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 4e7e2028..136d8f75 100644 --- a/src/auth0/management/types/create_client_response_content.py +++ b/src/auth0/management/types/create_client_response_content.py @@ -1,11 +1,13 @@ # This file was auto-generated by Fern from our API Definition. +import datetime as dt import typing import pydantic import typing_extensions from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from ..core.serialization import FieldMetadata +from .anonymous_sessions import AnonymousSessions from .b_2_b_integration_configuration import B2BIntegrationConfiguration from .client_addons import ClientAddons from .client_app_type_enum import ClientAppTypeEnum @@ -48,6 +50,16 @@ class CreateClientResponseContent(UniversalBaseModel): ID of this client. """ + created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) + """ + The ISO 8601 timestamp of when this client was created. + """ + + updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) + """ + The ISO 8601 timestamp of when this client was last updated. + """ + tenant: typing.Optional[str] = pydantic.Field(default=None) """ Name of the tenant this client belongs to. @@ -239,6 +251,7 @@ class CreateClientResponseContent(UniversalBaseModel): ] = None my_organization_configuration: typing.Optional[ClientMyOrganizationResponseConfiguration] = None identity_assertion_authorization_grant: typing.Optional[IdentityAssertionAuthorizationGrant] = None + anonymous_sessions: typing.Optional[AnonymousSessions] = None third_party_security_mode: typing.Optional[ClientThirdPartySecurityModeEnum] = 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_resource_server_response_content.py b/src/auth0/management/types/create_resource_server_response_content.py index 537200a9..f9052434 100644 --- a/src/auth0/management/types/create_resource_server_response_content.py +++ b/src/auth0/management/types/create_resource_server_response_content.py @@ -81,6 +81,11 @@ class CreateResourceServerResponseContent(UniversalBaseModel): Whether authorization polices are enforced (true) or unenforced (false). """ + token_lifetime_for_anonymous_access_tokens: typing.Optional[int] = pydantic.Field(default=None) + """ + Expiration value (in seconds) for anonymous-session access tokens issued for this API. + """ + token_dialect: typing.Optional[ResourceServerTokenDialectResponseEnum] = None token_encryption: typing.Optional[ResourceServerTokenEncryption] = None consent_policy: typing.Optional[ResourceServerConsentPolicyEnum] = None diff --git a/src/auth0/management/types/get_client_response_content.py b/src/auth0/management/types/get_client_response_content.py index 8d7ae799..31686ed2 100644 --- a/src/auth0/management/types/get_client_response_content.py +++ b/src/auth0/management/types/get_client_response_content.py @@ -1,11 +1,13 @@ # This file was auto-generated by Fern from our API Definition. +import datetime as dt import typing import pydantic import typing_extensions from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from ..core.serialization import FieldMetadata +from .anonymous_sessions import AnonymousSessions from .b_2_b_integration_configuration import B2BIntegrationConfiguration from .client_addons import ClientAddons from .client_app_type_enum import ClientAppTypeEnum @@ -48,6 +50,16 @@ class GetClientResponseContent(UniversalBaseModel): ID of this client. """ + created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) + """ + The ISO 8601 timestamp of when this client was created. + """ + + updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) + """ + The ISO 8601 timestamp of when this client was last updated. + """ + tenant: typing.Optional[str] = pydantic.Field(default=None) """ Name of the tenant this client belongs to. @@ -239,6 +251,7 @@ class GetClientResponseContent(UniversalBaseModel): ] = None my_organization_configuration: typing.Optional[ClientMyOrganizationResponseConfiguration] = None identity_assertion_authorization_grant: typing.Optional[IdentityAssertionAuthorizationGrant] = None + anonymous_sessions: typing.Optional[AnonymousSessions] = None third_party_security_mode: typing.Optional[ClientThirdPartySecurityModeEnum] = 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_email_factor_settings_response_content.py b/src/auth0/management/types/get_email_factor_settings_response_content.py new file mode 100644 index 00000000..1ca40ee7 --- /dev/null +++ b/src/auth0/management/types/get_email_factor_settings_response_content.py @@ -0,0 +1,27 @@ +# 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 GetEmailFactorSettingsResponseContent(UniversalBaseModel): + otp_length: int = pydantic.Field() + """ + The length of the OTP code. + """ + + otp_expiration_time: int = pydantic.Field() + """ + The OTP expiration time in seconds. + """ + + 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/get_guardian_settings_response_content.py b/src/auth0/management/types/get_guardian_settings_response_content.py new file mode 100644 index 00000000..cc89d780 --- /dev/null +++ b/src/auth0/management/types/get_guardian_settings_response_content.py @@ -0,0 +1,37 @@ +# 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 GetGuardianSettingsResponseContent(UniversalBaseModel): + display_remember_me_checkbox: bool = pydantic.Field() + """ + Determines whether to display the "Remember Me" checkbox on the MFA prompt in Universal Login. + """ + + remember_me_default_value: bool = pydantic.Field() + """ + Determines the default state of the "Remember Me" checkbox on the MFA prompt in Universal Login. + """ + + mfa_session_inactivity_timeout: int = pydantic.Field() + """ + Duration of inactivity after which the user will be prompted for MFA. Represented as seconds. Minimum duration is 1 hour, maximum is 30 days, and cannot exceed the overall timeout. + """ + + mfa_session_overall_timeout: int = pydantic.Field() + """ + Maximum duration after which the user will be prompted for MFA regardless of activity. Represented as seconds. Minimum duration is 1 hour, maximum is 90 days. + """ + + 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/get_phone_factor_settings_response_content.py b/src/auth0/management/types/get_phone_factor_settings_response_content.py new file mode 100644 index 00000000..b7109f6d --- /dev/null +++ b/src/auth0/management/types/get_phone_factor_settings_response_content.py @@ -0,0 +1,27 @@ +# 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 GetPhoneFactorSettingsResponseContent(UniversalBaseModel): + otp_length: int = pydantic.Field() + """ + The length of the OTP code. + """ + + otp_expiration_time: int = pydantic.Field() + """ + The OTP expiration time in seconds. + """ + + 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/get_resource_server_response_content.py b/src/auth0/management/types/get_resource_server_response_content.py index 0cfe11dc..a1526b7f 100644 --- a/src/auth0/management/types/get_resource_server_response_content.py +++ b/src/auth0/management/types/get_resource_server_response_content.py @@ -81,6 +81,11 @@ class GetResourceServerResponseContent(UniversalBaseModel): Whether authorization polices are enforced (true) or unenforced (false). """ + token_lifetime_for_anonymous_access_tokens: typing.Optional[int] = pydantic.Field(default=None) + """ + Expiration value (in seconds) for anonymous-session access tokens issued for this API. + """ + token_dialect: typing.Optional[ResourceServerTokenDialectResponseEnum] = None token_encryption: typing.Optional[ResourceServerTokenEncryption] = None consent_policy: typing.Optional[ResourceServerConsentPolicyEnum] = None diff --git a/src/auth0/management/types/oauth_scope.py b/src/auth0/management/types/oauth_scope.py index 6a92533d..92c1eb8c 100644 --- a/src/auth0/management/types/oauth_scope.py +++ b/src/auth0/management/types/oauth_scope.py @@ -88,6 +88,7 @@ "update:event_streams", "delete:event_streams", "read:events", + "update:experimentation", "create:flows", "read:flows", "update:flows", @@ -248,9 +249,7 @@ "read:organization_clients", "update:organization_clients", "delete:organization_clients", - "create:organization_templates", "read:organization_templates", - "update:organization_templates", "create:network_acl_keys", "read:network_acl_keys", "delete:network_acl_keys", diff --git a/src/auth0/management/types/organization_sort_field_enum.py b/src/auth0/management/types/organization_sort_field_enum.py new file mode 100644 index 00000000..5aef175b --- /dev/null +++ b/src/auth0/management/types/organization_sort_field_enum.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +OrganizationSortFieldEnum = typing.Union[typing.Literal["name", "display_name", "created_at"], typing.Any] diff --git a/src/auth0/management/types/resource_server.py b/src/auth0/management/types/resource_server.py index 52ccbacf..948d92aa 100644 --- a/src/auth0/management/types/resource_server.py +++ b/src/auth0/management/types/resource_server.py @@ -81,6 +81,11 @@ class ResourceServer(UniversalBaseModel): Whether authorization polices are enforced (true) or unenforced (false). """ + token_lifetime_for_anonymous_access_tokens: typing.Optional[int] = pydantic.Field(default=None) + """ + Expiration value (in seconds) for anonymous-session access tokens issued for this API. + """ + token_dialect: typing.Optional[ResourceServerTokenDialectResponseEnum] = None token_encryption: typing.Optional[ResourceServerTokenEncryption] = None consent_policy: typing.Optional[ResourceServerConsentPolicyEnum] = None diff --git a/src/auth0/management/types/resource_server_search_response.py b/src/auth0/management/types/resource_server_search_response.py new file mode 100644 index 00000000..aec9f9bf --- /dev/null +++ b/src/auth0/management/types/resource_server_search_response.py @@ -0,0 +1,103 @@ +# 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 .resource_server_authorization_policy import ResourceServerAuthorizationPolicy +from .resource_server_consent_policy_enum import ResourceServerConsentPolicyEnum +from .resource_server_proof_of_possession import ResourceServerProofOfPossession +from .resource_server_scope import ResourceServerScope +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 .signing_algorithm_enum import SigningAlgorithmEnum + + +class ResourceServerSearchResponse(UniversalBaseModel): + id: typing.Optional[str] = pydantic.Field(default=None) + """ + ID of the API (resource server). + """ + + name: typing.Optional[str] = pydantic.Field(default=None) + """ + Friendly name for this resource server. Can not contain `<` or `>` characters. + """ + + is_system: typing.Optional[bool] = pydantic.Field(default=None) + """ + Whether this is an Auth0 system API (true) or a custom API (false). + """ + + identifier: typing.Optional[str] = pydantic.Field(default=None) + """ + Unique identifier for the API used as the audience parameter on authorization calls. Can not be changed once set. + """ + + scopes: typing.Optional[typing.List[ResourceServerScope]] = pydantic.Field(default=None) + """ + List of permissions (scopes) that this API uses. + """ + + signing_alg: typing.Optional[SigningAlgorithmEnum] = None + allow_offline_access: typing.Optional[bool] = pydantic.Field(default=None) + """ + Whether refresh tokens can be issued for this API (true) or not (false). + """ + + allow_online_access: typing.Optional[bool] = pydantic.Field(default=None) + """ + Whether Online Refresh Tokens can be issued for this API (true) or not (false). + """ + + allow_online_access_with_ephemeral_sessions: typing.Optional[bool] = pydantic.Field(default=None) + """ + Whether Online Refresh Tokens can be issued even when sessions are configured as ephemeral (true) or not (false). + """ + + skip_consent_for_verifiable_first_party_clients: typing.Optional[bool] = pydantic.Field(default=None) + """ + Whether to skip user consent for applications flagged as first party (true) or not (false). + """ + + token_lifetime: typing.Optional[int] = pydantic.Field(default=None) + """ + Expiration value (in seconds) for access tokens issued for this API from the token endpoint. + """ + + token_lifetime_for_web: typing.Optional[int] = pydantic.Field(default=None) + """ + Expiration value (in seconds) for access tokens issued for this API via Implicit or Hybrid Flows. Cannot be greater than the `token_lifetime` value. + """ + + enforce_policies: typing.Optional[bool] = pydantic.Field(default=None) + """ + Whether authorization polices are enforced (true) or unenforced (false). + """ + + token_lifetime_for_anonymous_access_tokens: typing.Optional[int] = pydantic.Field(default=None) + """ + Expiration value (in seconds) for anonymous-session access tokens issued for this API. + """ + + token_dialect: typing.Optional[ResourceServerTokenDialectResponseEnum] = None + token_encryption: typing.Optional[ResourceServerTokenEncryption] = None + consent_policy: typing.Optional[ResourceServerConsentPolicyEnum] = None + authorization_details: typing.Optional[typing.List[typing.Any]] = None + proof_of_possession: typing.Optional[ResourceServerProofOfPossession] = None + subject_type_authorization: typing.Optional[ResourceServerSubjectTypeAuthorization] = None + authorization_policy: typing.Optional[ResourceServerAuthorizationPolicy] = None + client_id: typing.Optional[str] = pydantic.Field(default=None) + """ + The client ID of the client that this resource server is linked to + """ + + 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/resource_server_sort_field_enum.py b/src/auth0/management/types/resource_server_sort_field_enum.py new file mode 100644 index 00000000..34e0182e --- /dev/null +++ b/src/auth0/management/types/resource_server_sort_field_enum.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ResourceServerSortFieldEnum = typing.Union[typing.Literal["identifier", "name", "updated_at"], typing.Any] diff --git a/src/auth0/management/types/resource_server_subject_type_authorization.py b/src/auth0/management/types/resource_server_subject_type_authorization.py index aac309a6..d6006b7d 100644 --- a/src/auth0/management/types/resource_server_subject_type_authorization.py +++ b/src/auth0/management/types/resource_server_subject_type_authorization.py @@ -4,6 +4,9 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .resource_server_subject_type_authorization_anonymous_user import ( + ResourceServerSubjectTypeAuthorizationAnonymousUser, +) from .resource_server_subject_type_authorization_client import ResourceServerSubjectTypeAuthorizationClient from .resource_server_subject_type_authorization_user import ResourceServerSubjectTypeAuthorizationUser @@ -15,6 +18,7 @@ class ResourceServerSubjectTypeAuthorization(UniversalBaseModel): user: typing.Optional[ResourceServerSubjectTypeAuthorizationUser] = None client: typing.Optional[ResourceServerSubjectTypeAuthorizationClient] = None + anonymous_user: typing.Optional[ResourceServerSubjectTypeAuthorizationAnonymousUser] = 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/resource_server_subject_type_authorization_anonymous_user.py b/src/auth0/management/types/resource_server_subject_type_authorization_anonymous_user.py new file mode 100644 index 00000000..23dfd519 --- /dev/null +++ b/src/auth0/management/types/resource_server_subject_type_authorization_anonymous_user.py @@ -0,0 +1,26 @@ +# 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 .resource_server_subject_type_authorization_anonymous_user_policy_enum import ( + ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum, +) + + +class ResourceServerSubjectTypeAuthorizationAnonymousUser(UniversalBaseModel): + """ + Access Permissions for anonymous user flows + """ + + policy: typing.Optional[ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum] = 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/resource_server_subject_type_authorization_anonymous_user_policy_enum.py b/src/auth0/management/types/resource_server_subject_type_authorization_anonymous_user_policy_enum.py new file mode 100644 index 00000000..3990f227 --- /dev/null +++ b/src/auth0/management/types/resource_server_subject_type_authorization_anonymous_user_policy_enum.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum = typing.Union[ + typing.Literal["deny_all", "require_client_grant"], 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 cb712a0c..0c71569c 100644 --- a/src/auth0/management/types/rotate_client_secret_response_content.py +++ b/src/auth0/management/types/rotate_client_secret_response_content.py @@ -1,11 +1,13 @@ # This file was auto-generated by Fern from our API Definition. +import datetime as dt import typing import pydantic import typing_extensions from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from ..core.serialization import FieldMetadata +from .anonymous_sessions import AnonymousSessions from .b_2_b_integration_configuration import B2BIntegrationConfiguration from .client_addons import ClientAddons from .client_app_type_enum import ClientAppTypeEnum @@ -48,6 +50,16 @@ class RotateClientSecretResponseContent(UniversalBaseModel): ID of this client. """ + created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) + """ + The ISO 8601 timestamp of when this client was created. + """ + + updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) + """ + The ISO 8601 timestamp of when this client was last updated. + """ + tenant: typing.Optional[str] = pydantic.Field(default=None) """ Name of the tenant this client belongs to. @@ -239,6 +251,7 @@ class RotateClientSecretResponseContent(UniversalBaseModel): ] = None my_organization_configuration: typing.Optional[ClientMyOrganizationResponseConfiguration] = None identity_assertion_authorization_grant: typing.Optional[IdentityAssertionAuthorizationGrant] = None + anonymous_sessions: typing.Optional[AnonymousSessions] = None third_party_security_mode: typing.Optional[ClientThirdPartySecurityModeEnum] = None redirection_policy: typing.Optional[ClientRedirectionPolicyEnum] = None resource_server_identifier: typing.Optional[str] = pydantic.Field(default=None) diff --git a/src/auth0/management/types/search_organization.py b/src/auth0/management/types/search_organization.py new file mode 100644 index 00000000..f8b77776 --- /dev/null +++ b/src/auth0/management/types/search_organization.py @@ -0,0 +1,45 @@ +# 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 .organization_branding import OrganizationBranding +from .organization_metadata import OrganizationMetadata +from .organization_third_party_client_access_enum import OrganizationThirdPartyClientAccessEnum +from .token_quota import TokenQuota + + +class SearchOrganization(UniversalBaseModel): + id: typing.Optional[str] = pydantic.Field(default=None) + """ + Organization identifier. + """ + + name: typing.Optional[str] = pydantic.Field(default=None) + """ + The name of this organization. + """ + + display_name: typing.Optional[str] = pydantic.Field(default=None) + """ + Friendly name of this organization. + """ + + branding: typing.Optional[OrganizationBranding] = None + metadata: typing.Optional[OrganizationMetadata] = None + token_quota: typing.Optional[TokenQuota] = None + third_party_client_access: typing.Optional[OrganizationThirdPartyClientAccessEnum] = None + is_app_entitlement_active: typing.Optional[bool] = pydantic.Field(default=None) + """ + Whether app entitlement is active for this organization. + """ + + 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/list_organization_templates_paginated_response_content.py b/src/auth0/management/types/search_organizations_paginated_response_content.py similarity index 64% rename from src/auth0/management/types/list_organization_templates_paginated_response_content.py rename to src/auth0/management/types/search_organizations_paginated_response_content.py index f6ec4083..409dbf8f 100644 --- a/src/auth0/management/types/list_organization_templates_paginated_response_content.py +++ b/src/auth0/management/types/search_organizations_paginated_response_content.py @@ -4,17 +4,16 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .organization_template import OrganizationTemplate +from .search_organization import SearchOrganization -class ListOrganizationTemplatesPaginatedResponseContent(UniversalBaseModel): +class SearchOrganizationsPaginatedResponseContent(UniversalBaseModel): + organizations: typing.List[SearchOrganization] next: typing.Optional[str] = pydantic.Field(default=None) """ - A cursor to be used as the "from" query parameter for the next page of results. + Cursor for retrieving the next page of results. Absent when no more results are available. """ - organization_templates: typing.Optional[typing.List[OrganizationTemplate]] = 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/search_parser_enum.py b/src/auth0/management/types/search_parser_enum.py new file mode 100644 index 00000000..17775898 --- /dev/null +++ b/src/auth0/management/types/search_parser_enum.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +SearchParserEnum = typing.Union[typing.Literal["scim", "lucene"], typing.Any] diff --git a/src/auth0/management/types/list_template_organizations_paginated_response_content.py b/src/auth0/management/types/search_resource_servers_response_content.py similarity index 57% rename from src/auth0/management/types/list_template_organizations_paginated_response_content.py rename to src/auth0/management/types/search_resource_servers_response_content.py index aff80ee1..c56eb540 100644 --- a/src/auth0/management/types/list_template_organizations_paginated_response_content.py +++ b/src/auth0/management/types/search_resource_servers_response_content.py @@ -4,18 +4,18 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .organization_template_assigned_organization import OrganizationTemplateAssignedOrganization +from .resource_server_search_response import ResourceServerSearchResponse -class ListTemplateOrganizationsPaginatedResponseContent(UniversalBaseModel): - next: typing.Optional[str] = pydantic.Field(default=None) +class SearchResourceServersResponseContent(UniversalBaseModel): + resource_servers: typing.List[ResourceServerSearchResponse] = pydantic.Field() """ - A cursor to be used as the "from" query parameter for the next page of results. + Array of resource server objects matching the search criteria. """ - organizations: typing.List[OrganizationTemplateAssignedOrganization] = pydantic.Field() + next: typing.Optional[str] = pydantic.Field(default=None) """ - The list of organizations assigned to this template. + Cursor for retrieving the next page of results. Omitted if there are no more results. """ if IS_PYDANTIC_V2: diff --git a/src/auth0/management/types/set_email_factor_settings_response_content.py b/src/auth0/management/types/set_email_factor_settings_response_content.py new file mode 100644 index 00000000..aad8e1ee --- /dev/null +++ b/src/auth0/management/types/set_email_factor_settings_response_content.py @@ -0,0 +1,27 @@ +# 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 SetEmailFactorSettingsResponseContent(UniversalBaseModel): + otp_length: int = pydantic.Field() + """ + The length of the OTP code. + """ + + otp_expiration_time: int = pydantic.Field() + """ + The OTP expiration time in seconds. + """ + + 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/set_guardian_settings_response_content.py b/src/auth0/management/types/set_guardian_settings_response_content.py new file mode 100644 index 00000000..7f2848bb --- /dev/null +++ b/src/auth0/management/types/set_guardian_settings_response_content.py @@ -0,0 +1,37 @@ +# 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 SetGuardianSettingsResponseContent(UniversalBaseModel): + display_remember_me_checkbox: bool = pydantic.Field() + """ + Determines whether to display the "Remember Me" checkbox on the MFA prompt in Universal Login. + """ + + remember_me_default_value: bool = pydantic.Field() + """ + Determines the default state of the "Remember Me" checkbox on the MFA prompt in Universal Login. + """ + + mfa_session_inactivity_timeout: int = pydantic.Field() + """ + Duration of inactivity after which the user will be prompted for MFA. Represented as seconds. Minimum duration is 1 hour, maximum is 30 days, and cannot exceed the overall timeout. + """ + + mfa_session_overall_timeout: int = pydantic.Field() + """ + Maximum duration after which the user will be prompted for MFA regardless of activity. Represented as seconds. Minimum duration is 1 hour, maximum is 90 days. + """ + + 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/set_phone_factor_settings_response_content.py b/src/auth0/management/types/set_phone_factor_settings_response_content.py new file mode 100644 index 00000000..b4610ea9 --- /dev/null +++ b/src/auth0/management/types/set_phone_factor_settings_response_content.py @@ -0,0 +1,27 @@ +# 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 SetPhoneFactorSettingsResponseContent(UniversalBaseModel): + otp_length: int = pydantic.Field() + """ + The length of the OTP code. + """ + + otp_expiration_time: int = pydantic.Field() + """ + The OTP expiration time in seconds. + """ + + 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/tenant_settings_sessions.py b/src/auth0/management/types/tenant_settings_sessions.py index 2ba1db06..8ef86c8b 100644 --- a/src/auth0/management/types/tenant_settings_sessions.py +++ b/src/auth0/management/types/tenant_settings_sessions.py @@ -4,6 +4,7 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .tenant_settings_sessions_anonymous import TenantSettingsSessionsAnonymous class TenantSettingsSessions(UniversalBaseModel): @@ -16,6 +17,8 @@ class TenantSettingsSessions(UniversalBaseModel): Whether to bypass prompting logic (false) when performing OIDC Logout """ + anonymous: typing.Optional[TenantSettingsSessionsAnonymous] = 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/tenant_settings_sessions_anonymous.py b/src/auth0/management/types/tenant_settings_sessions_anonymous.py new file mode 100644 index 00000000..4df223e7 --- /dev/null +++ b/src/auth0/management/types/tenant_settings_sessions_anonymous.py @@ -0,0 +1,31 @@ +# 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 TenantSettingsSessionsAnonymous(UniversalBaseModel): + """ + Anonymous session settings for tenant. + """ + + lifetime_in_minutes: typing.Optional[int] = pydantic.Field(default=None) + """ + Anonymous session lifetime, in minutes. Defaults to 43200 (30 days); maximum 525600 (1 year). + """ + + activate_cookie: typing.Optional[bool] = pydantic.Field(default=None) + """ + Whether anonymous session requests return the `auth0_anon` cookie. Defaults to enabled; set to false to stop issuing the cookie. + """ + + 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/update_anonymous_sessions.py b/src/auth0/management/types/update_anonymous_sessions.py new file mode 100644 index 00000000..88404c09 --- /dev/null +++ b/src/auth0/management/types/update_anonymous_sessions.py @@ -0,0 +1,26 @@ +# 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 UpdateAnonymousSessions(UniversalBaseModel): + """ + Anonymous sessions configuration for this client. + """ + + active: bool = pydantic.Field() + """ + If set to true, this client is allowed to create anonymous sessions. + """ + + 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/update_client_response_content.py b/src/auth0/management/types/update_client_response_content.py index 8cec7ead..0ec7f9a0 100644 --- a/src/auth0/management/types/update_client_response_content.py +++ b/src/auth0/management/types/update_client_response_content.py @@ -1,11 +1,13 @@ # This file was auto-generated by Fern from our API Definition. +import datetime as dt import typing import pydantic import typing_extensions from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from ..core.serialization import FieldMetadata +from .anonymous_sessions import AnonymousSessions from .b_2_b_integration_configuration import B2BIntegrationConfiguration from .client_addons import ClientAddons from .client_app_type_enum import ClientAppTypeEnum @@ -48,6 +50,16 @@ class UpdateClientResponseContent(UniversalBaseModel): ID of this client. """ + created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) + """ + The ISO 8601 timestamp of when this client was created. + """ + + updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) + """ + The ISO 8601 timestamp of when this client was last updated. + """ + tenant: typing.Optional[str] = pydantic.Field(default=None) """ Name of the tenant this client belongs to. @@ -239,6 +251,7 @@ class UpdateClientResponseContent(UniversalBaseModel): ] = None my_organization_configuration: typing.Optional[ClientMyOrganizationResponseConfiguration] = None identity_assertion_authorization_grant: typing.Optional[IdentityAssertionAuthorizationGrant] = None + anonymous_sessions: typing.Optional[AnonymousSessions] = None third_party_security_mode: typing.Optional[ClientThirdPartySecurityModeEnum] = 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_resource_server_response_content.py b/src/auth0/management/types/update_resource_server_response_content.py index ec7d3711..16a5c3c5 100644 --- a/src/auth0/management/types/update_resource_server_response_content.py +++ b/src/auth0/management/types/update_resource_server_response_content.py @@ -81,6 +81,11 @@ class UpdateResourceServerResponseContent(UniversalBaseModel): Whether authorization polices are enforced (true) or unenforced (false). """ + token_lifetime_for_anonymous_access_tokens: typing.Optional[int] = pydantic.Field(default=None) + """ + Expiration value (in seconds) for anonymous-session access tokens issued for this API. + """ + token_dialect: typing.Optional[ResourceServerTokenDialectResponseEnum] = None token_encryption: typing.Optional[ResourceServerTokenEncryption] = None consent_policy: typing.Optional[ResourceServerConsentPolicyEnum] = None diff --git a/tests/wire/test_experimentation_experiments.py b/tests/wire/test_experimentation_experiments.py new file mode 100644 index 00000000..8bb54c26 --- /dev/null +++ b/tests/wire/test_experimentation_experiments.py @@ -0,0 +1,12 @@ +from .conftest import get_client, verify_request_count + + +def test_experimentation_experiments_advance_ramp() -> None: + """Test advanceRamp endpoint with WireMock""" + test_id = "experimentation.experiments.advance_ramp.0" + client = get_client(test_id) + client.experimentation.experiments.advance_ramp( + id="id", + target_level=1, + ) + verify_request_count(test_id, "POST", "/experimentation/experiments/id/advance-ramp", None, 1) diff --git a/tests/wire/test_guardian.py b/tests/wire/test_guardian.py new file mode 100644 index 00000000..1e547070 --- /dev/null +++ b/tests/wire/test_guardian.py @@ -0,0 +1,22 @@ +from .conftest import get_client, verify_request_count + + +def test_guardian_get() -> None: + """Test get endpoint with WireMock""" + test_id = "guardian.get.0" + client = get_client(test_id) + client.guardian.get() + verify_request_count(test_id, "GET", "/guardian/settings", None, 1) + + +def test_guardian_set_() -> None: + """Test set endpoint with WireMock""" + test_id = "guardian.set_.0" + client = get_client(test_id) + client.guardian.set( + display_remember_me_checkbox=True, + remember_me_default_value=True, + mfa_session_inactivity_timeout=1, + mfa_session_overall_timeout=1, + ) + verify_request_count(test_id, "PUT", "/guardian/settings", None, 1) diff --git a/tests/wire/test_guardian_factors_email.py b/tests/wire/test_guardian_factors_email.py new file mode 100644 index 00000000..b20a9d02 --- /dev/null +++ b/tests/wire/test_guardian_factors_email.py @@ -0,0 +1,20 @@ +from .conftest import get_client, verify_request_count + + +def test_guardian_factors_email_get() -> None: + """Test get endpoint with WireMock""" + test_id = "guardian.factors.email.get.0" + client = get_client(test_id) + client.guardian.factors.email.get() + verify_request_count(test_id, "GET", "/guardian/factors/email/settings", None, 1) + + +def test_guardian_factors_email_set_() -> None: + """Test set endpoint with WireMock""" + test_id = "guardian.factors.email.set_.0" + client = get_client(test_id) + client.guardian.factors.email.set( + otp_length=1, + otp_expiration_time=1, + ) + verify_request_count(test_id, "PUT", "/guardian/factors/email/settings", None, 1) diff --git a/tests/wire/test_guardian_factors_phone.py b/tests/wire/test_guardian_factors_phone.py index e57f43ba..f3d766f5 100644 --- a/tests/wire/test_guardian_factors_phone.py +++ b/tests/wire/test_guardian_factors_phone.py @@ -53,6 +53,25 @@ def test_guardian_factors_phone_set_provider() -> None: verify_request_count(test_id, "PUT", "/guardian/factors/phone/selected-provider", None, 1) +def test_guardian_factors_phone_get() -> None: + """Test get endpoint with WireMock""" + test_id = "guardian.factors.phone.get.0" + client = get_client(test_id) + client.guardian.factors.phone.get() + verify_request_count(test_id, "GET", "/guardian/factors/phone/settings", None, 1) + + +def test_guardian_factors_phone_set_() -> None: + """Test set endpoint with WireMock""" + test_id = "guardian.factors.phone.set_.0" + client = get_client(test_id) + client.guardian.factors.phone.set( + otp_length=1, + otp_expiration_time=1, + ) + verify_request_count(test_id, "PUT", "/guardian/factors/phone/settings", None, 1) + + def test_guardian_factors_phone_get_templates() -> None: """Test getTemplates endpoint with WireMock""" test_id = "guardian.factors.phone.get_templates.0" diff --git a/tests/wire/test_organizationTemplates.py b/tests/wire/test_organizationTemplates.py deleted file mode 100644 index 1324fef6..00000000 --- a/tests/wire/test_organizationTemplates.py +++ /dev/null @@ -1,57 +0,0 @@ -from .conftest import get_client, verify_request_count - - -def test_organizationTemplates_list_() -> None: - """Test list endpoint with WireMock""" - test_id = "organization_templates.list_.0" - client = get_client(test_id) - client.organization_templates.list( - from_="from", - take=1, - ) - verify_request_count(test_id, "GET", "/organization-templates", {"from": "from", "take": "1"}, 1) - - -def test_organizationTemplates_create() -> None: - """Test create endpoint with WireMock""" - test_id = "organization_templates.create.0" - client = get_client(test_id) - client.organization_templates.create( - name="name", - organization_deletion_behavior="allow", - enforce_permission_ceiling=True, - enforce_self_assignment_restriction=True, - ) - verify_request_count(test_id, "POST", "/organization-templates", None, 1) - - -def test_organizationTemplates_get() -> None: - """Test get endpoint with WireMock""" - test_id = "organization_templates.get.0" - client = get_client(test_id) - client.organization_templates.get( - id="id", - ) - verify_request_count(test_id, "GET", "/organization-templates/id", None, 1) - - -def test_organizationTemplates_update() -> None: - """Test update endpoint with WireMock""" - test_id = "organization_templates.update.0" - client = get_client(test_id) - client.organization_templates.update( - id="id", - ) - verify_request_count(test_id, "PATCH", "/organization-templates/id", None, 1) - - -def test_organizationTemplates_list_organizations() -> None: - """Test listOrganizations endpoint with WireMock""" - test_id = "organization_templates.list_organizations.0" - client = get_client(test_id) - client.organization_templates.list_organizations( - id="id", - from_="from", - take=1, - ) - verify_request_count(test_id, "GET", "/organization-templates/id/organizations", {"from": "from", "take": "1"}, 1) diff --git a/tests/wire/test_organizations.py b/tests/wire/test_organizations.py index ae0ca747..81ef6a15 100644 --- a/tests/wire/test_organizations.py +++ b/tests/wire/test_organizations.py @@ -47,6 +47,26 @@ def test_organizations_get_by_name() -> None: verify_request_count(test_id, "GET", "/organizations/name/name", None, 1) +def test_organizations_search() -> None: + """Test search endpoint with WireMock""" + test_id = "organizations.search.0" + client = get_client(test_id) + client.organizations.search( + q="q", + parser="scim", + take=1, + from_="from", + sort="name", + ) + verify_request_count( + test_id, + "GET", + "/organizations/search", + {"q": "q", "parser": "scim", "take": "1", "from": "from", "sort": "name"}, + 1, + ) + + def test_organizations_get() -> None: """Test get endpoint with WireMock""" test_id = "organizations.get.0" diff --git a/tests/wire/test_resourceServers.py b/tests/wire/test_resourceServers.py index cda1bef3..c725e726 100644 --- a/tests/wire/test_resourceServers.py +++ b/tests/wire/test_resourceServers.py @@ -37,6 +37,36 @@ def test_resourceServers_create() -> None: verify_request_count(test_id, "POST", "/resource-servers", None, 1) +def test_resourceServers_search() -> None: + """Test search endpoint with WireMock""" + test_id = "resource_servers.search.0" + client = get_client(test_id) + client.resource_servers.search( + q="q", + parser="scim", + fields="fields", + include_fields=True, + take=1, + from_="from", + sort="identifier", + ) + verify_request_count( + test_id, + "GET", + "/resource-servers/search", + { + "q": "q", + "parser": "scim", + "fields": "fields", + "include_fields": "true", + "take": "1", + "from": "from", + "sort": "identifier", + }, + 1, + ) + + def test_resourceServers_get() -> None: """Test get endpoint with WireMock""" test_id = "resource_servers.get.0" diff --git a/wiremock/wiremock-mappings.json b/wiremock/wiremock-mappings.json index f4e74dd9..4782c38b 100644 --- a/wiremock/wiremock-mappings.json +++ b/wiremock/wiremock-mappings.json @@ -753,7 +753,7 @@ }, "response": { "status": 200, - "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"clients\": [\n {\n \"client_id\": \"client_id\",\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 \"grant_types\": [\n \"grant_types\"\n ],\n \"signing_keys\": [\n {}\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 \"token_endpoint_auth_method\": \"none\",\n \"is_token_endpoint_ip_header_trusted\": true,\n \"client_metadata\": {\n \"key\": \"value\"\n },\n \"initiate_login_uri\": \"initiate_login_uri\",\n \"refresh_token\": {\n \"rotation_type\": \"rotating\",\n \"expiration_type\": \"expiring\"\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 \"require_pushed_authorization_requests\": true,\n \"require_proof_of_possession\": true,\n \"token_vault_privileged_access\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"compliance_level\": \"none\",\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"par_request_expiry\": 1,\n \"token_quota\": {\n \"client_credentials\": {}\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 \"okta_oin_client_id\": \"okta_oin_client_id\",\n \"admin_login_domain\": \"admin_login_domain\"\n },\n \"my_organization_configuration\": {\n \"allowed_strategies\": [\n \"pingfederate\"\n ],\n \"connection_deletion_behavior\": \"allow\"\n },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\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_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n }\n ]\n}", + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"clients\": [\n {\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 \"grant_types\": [\n \"grant_types\"\n ],\n \"signing_keys\": [\n {}\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 \"token_endpoint_auth_method\": \"none\",\n \"is_token_endpoint_ip_header_trusted\": true,\n \"client_metadata\": {\n \"key\": \"value\"\n },\n \"initiate_login_uri\": \"initiate_login_uri\",\n \"refresh_token\": {\n \"rotation_type\": \"rotating\",\n \"expiration_type\": \"expiring\"\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 \"require_pushed_authorization_requests\": true,\n \"require_proof_of_possession\": true,\n \"token_vault_privileged_access\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"compliance_level\": \"none\",\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"par_request_expiry\": 1,\n \"token_quota\": {\n \"client_credentials\": {}\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 \"okta_oin_client_id\": \"okta_oin_client_id\",\n \"admin_login_domain\": \"admin_login_domain\"\n },\n \"my_organization_configuration\": {\n \"allowed_strategies\": [\n \"pingfederate\"\n ],\n \"connection_deletion_behavior\": \"allow\"\n },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"anonymous_sessions\": {\n \"active\": true\n },\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_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n }\n ]\n}", "headers": { "Content-Type": "application/json" } @@ -785,7 +785,7 @@ }, "response": { "status": 201, - "body": "{\n \"client_id\": \"client_id\",\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 },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\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_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 },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"anonymous_sessions\": {\n \"active\": true\n },\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_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n}", "headers": { "Content-Type": "application/json" } @@ -891,7 +891,7 @@ }, "response": { "status": 200, - "body": "{\n \"client_id\": \"client_id\",\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 },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\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_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 },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"anonymous_sessions\": {\n \"active\": true\n },\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_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n}", "headers": { "Content-Type": "application/json" } @@ -963,7 +963,7 @@ }, "response": { "status": 200, - "body": "{\n \"client_id\": \"client_id\",\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 },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\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_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 },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"anonymous_sessions\": {\n \"active\": true\n },\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_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n}", "headers": { "Content-Type": "application/json" } @@ -999,7 +999,7 @@ }, "response": { "status": 200, - "body": "{\n \"client_id\": \"client_id\",\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 },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\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_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 },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"anonymous_sessions\": {\n \"active\": true\n },\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_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n}", "headers": { "Content-Type": "application/json" } @@ -3007,6 +3007,69 @@ } } }, + { + "id": "030ba040-b4c7-4f3a-80f7-7fb0d0f518d4", + "name": "Get Guardian Settings - default", + "request": { + "urlPathTemplate": "/guardian/settings", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"display_remember_me_checkbox\": true,\n \"remember_me_default_value\": true,\n \"mfa_session_inactivity_timeout\": 1,\n \"mfa_session_overall_timeout\": 1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "030ba040-b4c7-4f3a-80f7-7fb0d0f518d4", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "907da77c-fa4a-45bc-ae41-5c52367c3a9b", + "name": "Set the Guardian Settings - default", + "request": { + "urlPathTemplate": "/guardian/settings", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"display_remember_me_checkbox\": true,\n \"remember_me_default_value\": true,\n \"mfa_session_inactivity_timeout\": 1,\n \"mfa_session_overall_timeout\": 1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "907da77c-fa4a-45bc-ae41-5c52367c3a9b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, { "id": "8e59d144-ec26-4602-a30e-51471fa41a83", "name": "Get hooks - default", @@ -3720,10 +3783,10 @@ } }, { - "id": "8032ba05-4233-422f-87a0-dbe77dca80ed", - "name": "Get organization templates - default", + "id": "a4016e68-1c58-4a5c-b698-27ca350b937c", + "name": "Get organizations - default", "request": { - "urlPathTemplate": "/organization-templates", + "urlPathTemplate": "/organizations", "method": "GET", "headers": { "Authorization": { @@ -3731,22 +3794,31 @@ } }, "queryParameters": { + "include_totals": { + "equalTo": "true" + }, "from": { "equalTo": "from" }, "take": { "equalTo": "1" + }, + "sort": { + "equalTo": "sort" + }, + "include_client_association_for": { + "equalTo": "include_client_association_for" } } }, "response": { "status": 200, - "body": "{\n \"next\": \"next\",\n \"organization_templates\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_default\": true,\n \"organization_deletion_behavior\": \"allow\",\n \"connection_deletion_behavior\": \"allow\",\n \"enforce_permission_ceiling\": true,\n \"enforce_self_assignment_restriction\": true,\n \"connection_profile_id\": \"connection_profile_id\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"allowed_strategies\": [\n \"adfs\"\n ],\n \"invitation_landing_client_id\": \"invitation_landing_client_id\",\n \"admin_roles_assignment\": [\n \"admin_roles_assignment\"\n ],\n \"use_for_organization_discovery\": {\n \"default_value\": true\n },\n \"role_visibility_policy\": {\n \"default_value\": \"write\"\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ]\n}", + "body": "{\n \"next\": \"next\",\n \"organizations\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"token_quota\": {\n \"client_credentials\": {}\n },\n \"third_party_client_access\": \"block\",\n \"is_app_entitlement_active\": true\n }\n ]\n}", "headers": { "Content-Type": "application/json" } }, - "uuid": "8032ba05-4233-422f-87a0-dbe77dca80ed", + "uuid": "a4016e68-1c58-4a5c-b698-27ca350b937c", "persistent": true, "priority": 3, "metadata": { @@ -3760,10 +3832,10 @@ "postServeActions": [] }, { - "id": "d0ef713b-3207-460d-8c96-60d152baf538", - "name": "Create an organization template - default", + "id": "61349de2-c20a-4002-822b-9ed84e87ca1f", + "name": "Create an Organization - default", "request": { - "urlPathTemplate": "/organization-templates", + "urlPathTemplate": "/organizations", "method": "POST", "headers": { "Authorization": { @@ -3773,12 +3845,12 @@ }, "response": { "status": 201, - "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_default\": true,\n \"organization_deletion_behavior\": \"allow\",\n \"connection_deletion_behavior\": \"allow\",\n \"enforce_permission_ceiling\": true,\n \"enforce_self_assignment_restriction\": true,\n \"connection_profile_id\": \"connection_profile_id\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"allowed_strategies\": [\n \"adfs\"\n ],\n \"invitation_landing_client_id\": \"invitation_landing_client_id\",\n \"admin_roles_assignment\": [\n \"admin_roles_assignment\"\n ],\n \"use_for_organization_discovery\": {\n \"default_value\": true,\n \"allowed_values\": [\n true\n ]\n },\n \"role_visibility_policy\": {\n \"default_value\": \"write\",\n \"overrides\": [\n {\n \"role_id\": \"role_id\",\n \"access\": \"write\"\n }\n ]\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"branding\": {\n \"logo_url\": \"logo_url\",\n \"colors\": {\n \"primary\": \"primary\",\n \"page_background\": \"page_background\"\n }\n },\n \"metadata\": {\n \"key\": \"value\"\n },\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"third_party_client_access\": \"block\",\n \"is_app_entitlement_active\": true,\n \"client\": {\n \"use_for_member_access\": true\n },\n \"enabled_connections\": [\n {\n \"connection_id\": \"connection_id\",\n \"assign_membership_on_login\": true,\n \"show_as_button\": true,\n \"is_signup_enabled\": true\n }\n ]\n}", "headers": { "Content-Type": "application/json" } }, - "uuid": "d0ef713b-3207-460d-8c96-60d152baf538", + "uuid": "61349de2-c20a-4002-822b-9ed84e87ca1f", "persistent": true, "priority": 3, "metadata": { @@ -3791,10 +3863,10 @@ } }, { - "id": "96d95b7a-7269-4bdc-98df-28fb7c1d2c5a", - "name": "Get organization template - default", + "id": "dabd338a-8798-40ba-aaa0-8ce9b262b711", + "name": "Get organization by name - default", "request": { - "urlPathTemplate": "/organization-templates/{id}", + "urlPathTemplate": "/organizations/name/{name}", "method": "GET", "headers": { "Authorization": { @@ -3802,55 +3874,19 @@ } }, "pathParameters": { - "id": { - "equalTo": "id" - } - } - }, - "response": { - "status": 200, - "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_default\": true,\n \"organization_deletion_behavior\": \"allow\",\n \"connection_deletion_behavior\": \"allow\",\n \"enforce_permission_ceiling\": true,\n \"enforce_self_assignment_restriction\": true,\n \"connection_profile_id\": \"connection_profile_id\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"allowed_strategies\": [\n \"adfs\"\n ],\n \"invitation_landing_client_id\": \"invitation_landing_client_id\",\n \"admin_roles_assignment\": [\n \"admin_roles_assignment\"\n ],\n \"use_for_organization_discovery\": {\n \"default_value\": true,\n \"allowed_values\": [\n true\n ]\n },\n \"role_visibility_policy\": {\n \"default_value\": \"write\",\n \"overrides\": [\n {\n \"role_id\": \"role_id\",\n \"access\": \"write\"\n }\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": "96d95b7a-7269-4bdc-98df-28fb7c1d2c5a", - "persistent": true, - "priority": 3, - "metadata": { - "mocklab": { - "created": { - "at": "2020-01-01T00:00:00.000Z", - "via": "SYSTEM" - } - } - } - }, - { - "id": "ef471896-6d56-4f21-99e3-8d4dcb359dde", - "name": "Modify an organization template - default", - "request": { - "urlPathTemplate": "/organization-templates/{id}", - "method": "PATCH", - "headers": { - "Authorization": { - "matches": "Bearer .+" - } - }, - "pathParameters": { - "id": { - "equalTo": "id" + "name": { + "equalTo": "name" } } }, "response": { "status": 200, - "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_default\": true,\n \"organization_deletion_behavior\": \"allow\",\n \"connection_deletion_behavior\": \"allow\",\n \"enforce_permission_ceiling\": true,\n \"enforce_self_assignment_restriction\": true,\n \"connection_profile_id\": \"connection_profile_id\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"allowed_strategies\": [\n \"adfs\"\n ],\n \"invitation_landing_client_id\": \"invitation_landing_client_id\",\n \"admin_roles_assignment\": [\n \"admin_roles_assignment\"\n ],\n \"use_for_organization_discovery\": {\n \"default_value\": true,\n \"allowed_values\": [\n true\n ]\n },\n \"role_visibility_policy\": {\n \"default_value\": \"write\",\n \"overrides\": [\n {\n \"role_id\": \"role_id\",\n \"access\": \"write\"\n }\n ]\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"branding\": {\n \"logo_url\": \"logo_url\",\n \"colors\": {\n \"primary\": \"primary\",\n \"page_background\": \"page_background\"\n }\n },\n \"metadata\": {\n \"key\": \"value\"\n },\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"third_party_client_access\": \"block\",\n \"is_app_entitlement_active\": true,\n \"client\": {\n \"use_for_member_access\": true\n }\n}", "headers": { "Content-Type": "application/json" } }, - "uuid": "ef471896-6d56-4f21-99e3-8d4dcb359dde", + "uuid": "dabd338a-8798-40ba-aaa0-8ce9b262b711", "persistent": true, "priority": 3, "metadata": { @@ -3863,86 +3899,42 @@ } }, { - "id": "8efcf58a-7877-473d-89dd-b497be80ab92", - "name": "Get organizations assigned to a template - default", + "id": "649058a2-0c93-4131-92c0-7ce68e3716db", + "name": "Search organizations - default", "request": { - "urlPathTemplate": "/organization-templates/{id}/organizations", + "urlPathTemplate": "/organizations/search", "method": "GET", "headers": { "Authorization": { "matches": "Bearer .+" } }, - "pathParameters": { - "id": { - "equalTo": "id" - } - }, "queryParameters": { - "from": { - "equalTo": "from" + "q": { + "equalTo": "q" + }, + "parser": { + "equalTo": "scim" }, "take": { "equalTo": "1" - } - } - }, - "response": { - "status": 200, - "body": "{\n \"next\": \"next\",\n \"organizations\": [\n {\n \"id\": \"id\"\n }\n ]\n}", - "headers": { - "Content-Type": "application/json" - } - }, - "uuid": "8efcf58a-7877-473d-89dd-b497be80ab92", - "persistent": true, - "priority": 3, - "metadata": { - "mocklab": { - "created": { - "at": "2020-01-01T00:00:00.000Z", - "via": "SYSTEM" - } - } - } - }, - { - "id": "a4016e68-1c58-4a5c-b698-27ca350b937c", - "name": "Get organizations - default", - "request": { - "urlPathTemplate": "/organizations", - "method": "GET", - "headers": { - "Authorization": { - "matches": "Bearer .+" - } - }, - "queryParameters": { - "include_totals": { - "equalTo": "true" }, "from": { "equalTo": "from" }, - "take": { - "equalTo": "1" - }, "sort": { - "equalTo": "sort" - }, - "include_client_association_for": { - "equalTo": "include_client_association_for" + "equalTo": "name" } } }, "response": { "status": 200, - "body": "{\n \"next\": \"next\",\n \"organizations\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"token_quota\": {\n \"client_credentials\": {}\n },\n \"third_party_client_access\": \"block\",\n \"is_app_entitlement_active\": true\n }\n ]\n}", + "body": "{\n \"organizations\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"token_quota\": {\n \"client_credentials\": {}\n },\n \"third_party_client_access\": \"block\",\n \"is_app_entitlement_active\": true\n }\n ],\n \"next\": \"next\"\n}", "headers": { "Content-Type": "application/json" } }, - "uuid": "a4016e68-1c58-4a5c-b698-27ca350b937c", + "uuid": "649058a2-0c93-4131-92c0-7ce68e3716db", "persistent": true, "priority": 3, "metadata": { @@ -3955,73 +3947,6 @@ }, "postServeActions": [] }, - { - "id": "61349de2-c20a-4002-822b-9ed84e87ca1f", - "name": "Create an Organization - default", - "request": { - "urlPathTemplate": "/organizations", - "method": "POST", - "headers": { - "Authorization": { - "matches": "Bearer .+" - } - } - }, - "response": { - "status": 201, - "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"branding\": {\n \"logo_url\": \"logo_url\",\n \"colors\": {\n \"primary\": \"primary\",\n \"page_background\": \"page_background\"\n }\n },\n \"metadata\": {\n \"key\": \"value\"\n },\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"third_party_client_access\": \"block\",\n \"is_app_entitlement_active\": true,\n \"client\": {\n \"use_for_member_access\": true\n },\n \"enabled_connections\": [\n {\n \"connection_id\": \"connection_id\",\n \"assign_membership_on_login\": true,\n \"show_as_button\": true,\n \"is_signup_enabled\": true\n }\n ]\n}", - "headers": { - "Content-Type": "application/json" - } - }, - "uuid": "61349de2-c20a-4002-822b-9ed84e87ca1f", - "persistent": true, - "priority": 3, - "metadata": { - "mocklab": { - "created": { - "at": "2020-01-01T00:00:00.000Z", - "via": "SYSTEM" - } - } - } - }, - { - "id": "dabd338a-8798-40ba-aaa0-8ce9b262b711", - "name": "Get organization by name - default", - "request": { - "urlPathTemplate": "/organizations/name/{name}", - "method": "GET", - "headers": { - "Authorization": { - "matches": "Bearer .+" - } - }, - "pathParameters": { - "name": { - "equalTo": "name" - } - } - }, - "response": { - "status": 200, - "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"branding\": {\n \"logo_url\": \"logo_url\",\n \"colors\": {\n \"primary\": \"primary\",\n \"page_background\": \"page_background\"\n }\n },\n \"metadata\": {\n \"key\": \"value\"\n },\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"third_party_client_access\": \"block\",\n \"is_app_entitlement_active\": true,\n \"client\": {\n \"use_for_member_access\": true\n }\n}", - "headers": { - "Content-Type": "application/json" - } - }, - "uuid": "dabd338a-8798-40ba-aaa0-8ce9b262b711", - "persistent": true, - "priority": 3, - "metadata": { - "mocklab": { - "created": { - "at": "2020-01-01T00:00:00.000Z", - "via": "SYSTEM" - } - } - } - }, { "id": "da7fe10b-f528-48cf-b4e0-8d769617a66c", "name": "Get organization - default", @@ -4607,7 +4532,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_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 \"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 \"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}", "headers": { "Content-Type": "application/json" } @@ -4639,7 +4564,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_dialect\": \"access_token\",\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 \"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 },\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 \"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 \"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}", "headers": { "Content-Type": "application/json" } @@ -4656,6 +4581,61 @@ } } }, + { + "id": "d0cae775-80a1-4fdf-bda8-308cccbf3e2d", + "name": "Search resource servers - default", + "request": { + "urlPathTemplate": "/resource-servers/search", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "q": { + "equalTo": "q" + }, + "parser": { + "equalTo": "scim" + }, + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + }, + "take": { + "equalTo": "1" + }, + "from": { + "equalTo": "from" + }, + "sort": { + "equalTo": "identifier" + } + } + }, + "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 \"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}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d0cae775-80a1-4fdf-bda8-308cccbf3e2d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, { "id": "da399a32-c9a2-481c-9995-fc402c47f72a", "name": "Get a resource server - default", @@ -4680,7 +4660,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_dialect\": \"access_token\",\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 \"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 },\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 \"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 \"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}", "headers": { "Content-Type": "application/json" } @@ -4752,7 +4732,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_dialect\": \"access_token\",\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 \"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 },\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 \"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 \"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}", "headers": { "Content-Type": "application/json" } @@ -10081,6 +10061,42 @@ } } }, + { + "id": "82b4942b-e9d7-43ff-9167-27f89f0fb6e3", + "name": "Advance the rollout level of a ramp experiment. - default", + "request": { + "urlPathTemplate": "/experimentation/experiments/{id}/advance-ramp", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"experiment_id\": \"experiment_id\",\n \"from_level\": 1,\n \"to_level\": 1,\n \"current_level\": 1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "82b4942b-e9d7-43ff-9167-27f89f0fb6e3", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, { "id": "62d121a4-93bc-4281-8659-06708ac8d781", "name": "Get flow executions - default", @@ -10797,6 +10813,69 @@ } } }, + { + "id": "42069ebb-c0f8-4cbd-9a08-c6006af4bdc2", + "name": "Get Email Factor Settings - default", + "request": { + "urlPathTemplate": "/guardian/factors/email/settings", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"otp_length\": 1,\n \"otp_expiration_time\": 1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "42069ebb-c0f8-4cbd-9a08-c6006af4bdc2", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "2e305645-5aea-4725-9542-96afbf858842", + "name": "Set the Email Factor Settings - default", + "request": { + "urlPathTemplate": "/guardian/factors/email/settings", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"otp_length\": 1,\n \"otp_expiration_time\": 1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2e305645-5aea-4725-9542-96afbf858842", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, { "id": "ed435b3e-66b6-47b0-882f-08d926944cad", "name": "Get Enabled Phone Factors - default", @@ -10986,6 +11065,69 @@ } } }, + { + "id": "a1c996a2-8f68-4dd2-9497-e1fac204c099", + "name": "Get Phone Factor Settings - default", + "request": { + "urlPathTemplate": "/guardian/factors/phone/settings", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"otp_length\": 1,\n \"otp_expiration_time\": 1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a1c996a2-8f68-4dd2-9497-e1fac204c099", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "d96e86d1-f45b-45a8-ac01-0c50ac8b829e", + "name": "Set the Phone Factor Settings - default", + "request": { + "urlPathTemplate": "/guardian/factors/phone/settings", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"otp_length\": 1,\n \"otp_expiration_time\": 1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d96e86d1-f45b-45a8-ac01-0c50ac8b829e", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, { "id": "0e83b2df-19bf-4909-b1c4-0522a7f929a3", "name": "Get Enrollment and Verification Phone Templates - default", @@ -15414,7 +15556,7 @@ }, "response": { "status": 200, - "body": "{\n \"change_password\": {\n \"enabled\": true,\n \"html\": \"html\"\n },\n \"guardian_mfa_page\": {\n \"enabled\": true,\n \"html\": \"html\"\n },\n \"default_audience\": \"default_audience\",\n \"default_directory\": \"default_directory\",\n \"error_page\": {\n \"html\": \"html\",\n \"show_log_link\": true,\n \"url\": \"url\"\n },\n \"device_flow\": {\n \"charset\": \"base20\",\n \"mask\": \"mask\"\n },\n \"default_token_quota\": {\n \"clients\": {\n \"client_credentials\": {}\n },\n \"organizations\": {\n \"client_credentials\": {}\n }\n },\n \"flags\": {\n \"change_pwd_flow_v1\": true,\n \"enable_apis_section\": true,\n \"disable_impersonation\": true,\n \"enable_client_connections\": true,\n \"enable_pipeline2\": true,\n \"allow_legacy_delegation_grant_types\": true,\n \"allow_legacy_ro_grant_types\": true,\n \"allow_legacy_tokeninfo_endpoint\": true,\n \"enable_legacy_profile\": true,\n \"enable_idtoken_api2\": true,\n \"enable_public_signup_user_exists_error\": true,\n \"enable_sso\": true,\n \"allow_changing_enable_sso\": true,\n \"disable_clickjack_protection_headers\": true,\n \"no_disclose_enterprise_connections\": true,\n \"enforce_client_authentication_on_passwordless_start\": true,\n \"enable_adfs_waad_email_verification\": true,\n \"revoke_refresh_token_grant\": true,\n \"dashboard_log_streams_next\": true,\n \"dashboard_insights_view\": true,\n \"disable_fields_map_fix\": true,\n \"mfa_show_factor_list_on_enrollment\": true,\n \"remove_alg_from_jwks\": true,\n \"improved_signup_bot_detection_in_classic\": true,\n \"genai_trial\": true,\n \"local_resource_discovery\": true,\n \"enable_dynamic_client_registration\": true,\n \"disable_management_api_sms_obfuscation\": true,\n \"trust_azure_adfs_email_verified_connection_property\": true,\n \"custom_domains_provisioning\": true\n },\n \"friendly_name\": \"friendly_name\",\n \"picture_url\": \"picture_url\",\n \"support_email\": \"support_email\",\n \"support_url\": \"support_url\",\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_lifetime\": 1.1,\n \"idle_session_lifetime\": 1.1,\n \"ephemeral_session_lifetime\": 1.1,\n \"idle_ephemeral_session_lifetime\": 1.1,\n \"sandbox_version\": \"sandbox_version\",\n \"legacy_sandbox_version\": \"legacy_sandbox_version\",\n \"sandbox_versions_available\": [\n \"sandbox_versions_available\"\n ],\n \"default_redirection_uri\": \"default_redirection_uri\",\n \"enabled_locales\": [\n \"am\"\n ],\n \"security_headers\": {\n \"content_security_policy\": {\n \"enabled\": true,\n \"policies\": [\n {}\n ]\n },\n \"x_xss_protection\": {\n \"enabled\": true,\n \"mode\": \"block\",\n \"report_uri\": \"report_uri\"\n }\n },\n \"session_cookie\": {\n \"mode\": \"persistent\"\n },\n \"sessions\": {\n \"oidc_logout_prompt_enabled\": true\n },\n \"oidc_logout\": {\n \"rp_logout_end_session_endpoint_discovery\": true\n },\n \"allow_organization_name_in_authentication_api\": true,\n \"customize_mfa_in_postlogin_action\": true,\n \"acr_values_supported\": [\n \"acr_values_supported\"\n ],\n \"mtls\": {\n \"enable_endpoint_aliases\": true\n },\n \"pushed_authorization_requests_supported\": true,\n \"authorization_response_iss_parameter_supported\": true,\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"resource_parameter_profile\": \"audience\",\n \"client_id_metadata_document_supported\": true,\n \"phone_consolidated_experience\": true,\n \"enable_ai_guide\": true,\n \"include_session_metadata_in_tenant_logs\": true,\n \"dynamic_client_registration_security_mode\": \"strict\",\n \"country_codes\": {\n \"list\": [\n \"list\"\n ],\n \"mode\": \"allow\"\n }\n}", + "body": "{\n \"change_password\": {\n \"enabled\": true,\n \"html\": \"html\"\n },\n \"guardian_mfa_page\": {\n \"enabled\": true,\n \"html\": \"html\"\n },\n \"default_audience\": \"default_audience\",\n \"default_directory\": \"default_directory\",\n \"error_page\": {\n \"html\": \"html\",\n \"show_log_link\": true,\n \"url\": \"url\"\n },\n \"device_flow\": {\n \"charset\": \"base20\",\n \"mask\": \"mask\"\n },\n \"default_token_quota\": {\n \"clients\": {\n \"client_credentials\": {}\n },\n \"organizations\": {\n \"client_credentials\": {}\n }\n },\n \"flags\": {\n \"change_pwd_flow_v1\": true,\n \"enable_apis_section\": true,\n \"disable_impersonation\": true,\n \"enable_client_connections\": true,\n \"enable_pipeline2\": true,\n \"allow_legacy_delegation_grant_types\": true,\n \"allow_legacy_ro_grant_types\": true,\n \"allow_legacy_tokeninfo_endpoint\": true,\n \"enable_legacy_profile\": true,\n \"enable_idtoken_api2\": true,\n \"enable_public_signup_user_exists_error\": true,\n \"enable_sso\": true,\n \"allow_changing_enable_sso\": true,\n \"disable_clickjack_protection_headers\": true,\n \"no_disclose_enterprise_connections\": true,\n \"enforce_client_authentication_on_passwordless_start\": true,\n \"enable_adfs_waad_email_verification\": true,\n \"revoke_refresh_token_grant\": true,\n \"dashboard_log_streams_next\": true,\n \"dashboard_insights_view\": true,\n \"disable_fields_map_fix\": true,\n \"mfa_show_factor_list_on_enrollment\": true,\n \"remove_alg_from_jwks\": true,\n \"improved_signup_bot_detection_in_classic\": true,\n \"genai_trial\": true,\n \"local_resource_discovery\": true,\n \"enable_dynamic_client_registration\": true,\n \"disable_management_api_sms_obfuscation\": true,\n \"trust_azure_adfs_email_verified_connection_property\": true,\n \"custom_domains_provisioning\": true\n },\n \"friendly_name\": \"friendly_name\",\n \"picture_url\": \"picture_url\",\n \"support_email\": \"support_email\",\n \"support_url\": \"support_url\",\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_lifetime\": 1.1,\n \"idle_session_lifetime\": 1.1,\n \"ephemeral_session_lifetime\": 1.1,\n \"idle_ephemeral_session_lifetime\": 1.1,\n \"sandbox_version\": \"sandbox_version\",\n \"legacy_sandbox_version\": \"legacy_sandbox_version\",\n \"sandbox_versions_available\": [\n \"sandbox_versions_available\"\n ],\n \"default_redirection_uri\": \"default_redirection_uri\",\n \"enabled_locales\": [\n \"am\"\n ],\n \"security_headers\": {\n \"content_security_policy\": {\n \"enabled\": true,\n \"policies\": [\n {}\n ]\n },\n \"x_xss_protection\": {\n \"enabled\": true,\n \"mode\": \"block\",\n \"report_uri\": \"report_uri\"\n }\n },\n \"session_cookie\": {\n \"mode\": \"persistent\"\n },\n \"sessions\": {\n \"oidc_logout_prompt_enabled\": true,\n \"anonymous\": {\n \"lifetime_in_minutes\": 1,\n \"activate_cookie\": true\n }\n },\n \"oidc_logout\": {\n \"rp_logout_end_session_endpoint_discovery\": true\n },\n \"allow_organization_name_in_authentication_api\": true,\n \"customize_mfa_in_postlogin_action\": true,\n \"acr_values_supported\": [\n \"acr_values_supported\"\n ],\n \"mtls\": {\n \"enable_endpoint_aliases\": true\n },\n \"pushed_authorization_requests_supported\": true,\n \"authorization_response_iss_parameter_supported\": true,\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"resource_parameter_profile\": \"audience\",\n \"client_id_metadata_document_supported\": true,\n \"phone_consolidated_experience\": true,\n \"enable_ai_guide\": true,\n \"include_session_metadata_in_tenant_logs\": true,\n \"dynamic_client_registration_security_mode\": \"strict\",\n \"country_codes\": {\n \"list\": [\n \"list\"\n ],\n \"mode\": \"allow\"\n }\n}", "headers": { "Content-Type": "application/json" } @@ -15446,7 +15588,7 @@ }, "response": { "status": 200, - "body": "{\n \"change_password\": {\n \"enabled\": true,\n \"html\": \"html\"\n },\n \"guardian_mfa_page\": {\n \"enabled\": true,\n \"html\": \"html\"\n },\n \"default_audience\": \"default_audience\",\n \"default_directory\": \"default_directory\",\n \"error_page\": {\n \"html\": \"html\",\n \"show_log_link\": true,\n \"url\": \"url\"\n },\n \"device_flow\": {\n \"charset\": \"base20\",\n \"mask\": \"mask\"\n },\n \"default_token_quota\": {\n \"clients\": {\n \"client_credentials\": {}\n },\n \"organizations\": {\n \"client_credentials\": {}\n }\n },\n \"flags\": {\n \"change_pwd_flow_v1\": true,\n \"enable_apis_section\": true,\n \"disable_impersonation\": true,\n \"enable_client_connections\": true,\n \"enable_pipeline2\": true,\n \"allow_legacy_delegation_grant_types\": true,\n \"allow_legacy_ro_grant_types\": true,\n \"allow_legacy_tokeninfo_endpoint\": true,\n \"enable_legacy_profile\": true,\n \"enable_idtoken_api2\": true,\n \"enable_public_signup_user_exists_error\": true,\n \"enable_sso\": true,\n \"allow_changing_enable_sso\": true,\n \"disable_clickjack_protection_headers\": true,\n \"no_disclose_enterprise_connections\": true,\n \"enforce_client_authentication_on_passwordless_start\": true,\n \"enable_adfs_waad_email_verification\": true,\n \"revoke_refresh_token_grant\": true,\n \"dashboard_log_streams_next\": true,\n \"dashboard_insights_view\": true,\n \"disable_fields_map_fix\": true,\n \"mfa_show_factor_list_on_enrollment\": true,\n \"remove_alg_from_jwks\": true,\n \"improved_signup_bot_detection_in_classic\": true,\n \"genai_trial\": true,\n \"local_resource_discovery\": true,\n \"enable_dynamic_client_registration\": true,\n \"disable_management_api_sms_obfuscation\": true,\n \"trust_azure_adfs_email_verified_connection_property\": true,\n \"custom_domains_provisioning\": true\n },\n \"friendly_name\": \"friendly_name\",\n \"picture_url\": \"picture_url\",\n \"support_email\": \"support_email\",\n \"support_url\": \"support_url\",\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_lifetime\": 1.1,\n \"idle_session_lifetime\": 1.1,\n \"ephemeral_session_lifetime\": 1.1,\n \"idle_ephemeral_session_lifetime\": 1.1,\n \"sandbox_version\": \"sandbox_version\",\n \"legacy_sandbox_version\": \"legacy_sandbox_version\",\n \"sandbox_versions_available\": [\n \"sandbox_versions_available\"\n ],\n \"default_redirection_uri\": \"default_redirection_uri\",\n \"enabled_locales\": [\n \"am\"\n ],\n \"security_headers\": {\n \"content_security_policy\": {\n \"enabled\": true,\n \"policies\": [\n {}\n ]\n },\n \"x_xss_protection\": {\n \"enabled\": true,\n \"mode\": \"block\",\n \"report_uri\": \"report_uri\"\n }\n },\n \"session_cookie\": {\n \"mode\": \"persistent\"\n },\n \"sessions\": {\n \"oidc_logout_prompt_enabled\": true\n },\n \"oidc_logout\": {\n \"rp_logout_end_session_endpoint_discovery\": true\n },\n \"allow_organization_name_in_authentication_api\": true,\n \"customize_mfa_in_postlogin_action\": true,\n \"acr_values_supported\": [\n \"acr_values_supported\"\n ],\n \"mtls\": {\n \"enable_endpoint_aliases\": true\n },\n \"pushed_authorization_requests_supported\": true,\n \"authorization_response_iss_parameter_supported\": true,\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"resource_parameter_profile\": \"audience\",\n \"client_id_metadata_document_supported\": true,\n \"phone_consolidated_experience\": true,\n \"enable_ai_guide\": true,\n \"include_session_metadata_in_tenant_logs\": true,\n \"dynamic_client_registration_security_mode\": \"strict\",\n \"country_codes\": {\n \"list\": [\n \"list\"\n ],\n \"mode\": \"allow\"\n }\n}", + "body": "{\n \"change_password\": {\n \"enabled\": true,\n \"html\": \"html\"\n },\n \"guardian_mfa_page\": {\n \"enabled\": true,\n \"html\": \"html\"\n },\n \"default_audience\": \"default_audience\",\n \"default_directory\": \"default_directory\",\n \"error_page\": {\n \"html\": \"html\",\n \"show_log_link\": true,\n \"url\": \"url\"\n },\n \"device_flow\": {\n \"charset\": \"base20\",\n \"mask\": \"mask\"\n },\n \"default_token_quota\": {\n \"clients\": {\n \"client_credentials\": {}\n },\n \"organizations\": {\n \"client_credentials\": {}\n }\n },\n \"flags\": {\n \"change_pwd_flow_v1\": true,\n \"enable_apis_section\": true,\n \"disable_impersonation\": true,\n \"enable_client_connections\": true,\n \"enable_pipeline2\": true,\n \"allow_legacy_delegation_grant_types\": true,\n \"allow_legacy_ro_grant_types\": true,\n \"allow_legacy_tokeninfo_endpoint\": true,\n \"enable_legacy_profile\": true,\n \"enable_idtoken_api2\": true,\n \"enable_public_signup_user_exists_error\": true,\n \"enable_sso\": true,\n \"allow_changing_enable_sso\": true,\n \"disable_clickjack_protection_headers\": true,\n \"no_disclose_enterprise_connections\": true,\n \"enforce_client_authentication_on_passwordless_start\": true,\n \"enable_adfs_waad_email_verification\": true,\n \"revoke_refresh_token_grant\": true,\n \"dashboard_log_streams_next\": true,\n \"dashboard_insights_view\": true,\n \"disable_fields_map_fix\": true,\n \"mfa_show_factor_list_on_enrollment\": true,\n \"remove_alg_from_jwks\": true,\n \"improved_signup_bot_detection_in_classic\": true,\n \"genai_trial\": true,\n \"local_resource_discovery\": true,\n \"enable_dynamic_client_registration\": true,\n \"disable_management_api_sms_obfuscation\": true,\n \"trust_azure_adfs_email_verified_connection_property\": true,\n \"custom_domains_provisioning\": true\n },\n \"friendly_name\": \"friendly_name\",\n \"picture_url\": \"picture_url\",\n \"support_email\": \"support_email\",\n \"support_url\": \"support_url\",\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_lifetime\": 1.1,\n \"idle_session_lifetime\": 1.1,\n \"ephemeral_session_lifetime\": 1.1,\n \"idle_ephemeral_session_lifetime\": 1.1,\n \"sandbox_version\": \"sandbox_version\",\n \"legacy_sandbox_version\": \"legacy_sandbox_version\",\n \"sandbox_versions_available\": [\n \"sandbox_versions_available\"\n ],\n \"default_redirection_uri\": \"default_redirection_uri\",\n \"enabled_locales\": [\n \"am\"\n ],\n \"security_headers\": {\n \"content_security_policy\": {\n \"enabled\": true,\n \"policies\": [\n {}\n ]\n },\n \"x_xss_protection\": {\n \"enabled\": true,\n \"mode\": \"block\",\n \"report_uri\": \"report_uri\"\n }\n },\n \"session_cookie\": {\n \"mode\": \"persistent\"\n },\n \"sessions\": {\n \"oidc_logout_prompt_enabled\": true,\n \"anonymous\": {\n \"lifetime_in_minutes\": 1,\n \"activate_cookie\": true\n }\n },\n \"oidc_logout\": {\n \"rp_logout_end_session_endpoint_discovery\": true\n },\n \"allow_organization_name_in_authentication_api\": true,\n \"customize_mfa_in_postlogin_action\": true,\n \"acr_values_supported\": [\n \"acr_values_supported\"\n ],\n \"mtls\": {\n \"enable_endpoint_aliases\": true\n },\n \"pushed_authorization_requests_supported\": true,\n \"authorization_response_iss_parameter_supported\": true,\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"resource_parameter_profile\": \"audience\",\n \"client_id_metadata_document_supported\": true,\n \"phone_consolidated_experience\": true,\n \"enable_ai_guide\": true,\n \"include_session_metadata_in_tenant_logs\": true,\n \"dynamic_client_registration_security_mode\": \"strict\",\n \"country_codes\": {\n \"list\": [\n \"list\"\n ],\n \"mode\": \"allow\"\n }\n}", "headers": { "Content-Type": "application/json" } @@ -16963,6 +17105,6 @@ } ], "meta": { - "total": 453 + "total": 457 } } \ No newline at end of file From 4e78b33f9f7f6f7789f34eab1a0fa28007dfa43c Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 11 Sep 2026 02:46:47 +0000 Subject: [PATCH 2/3] [fern-replay] Applied customizations Patches applied (5): - patch-c04f0b4d: Fix for incorrect return type and missing __all__ type - patch-f7384913: Remove duplicate FedCmLoginGooglePatch and FedCmLoginPatch entries - patch-1e44613d: Added migration guide for v5 to v6 - patch-30b1089a: Updated UPGRADING.md doc - patch-d6d69aeb: Remove duplicate FedCmLoginGooglePatch and FedCmLoginPatch entries Patches with unresolved conflicts (3): - patch-4894603d: chore: Restore custom wiring in management/__init__.py - patch-7271f157: Revert wrapper file to preserve Auth0 telemetry customizations - patch-95211006: Restore Auth0 telemetry and custom client wiring after regeneration Run `fern-replay resolve` to apply these customizations. --- .fern/replay.lock | 306 +++++++++++++++----- UPGRADING.md | 157 ++++++++++ src/auth0/management/__init__.py | 10 + src/auth0/management/core/client_wrapper.py | 5 + 4 files changed, 409 insertions(+), 69 deletions(-) create mode 100644 UPGRADING.md diff --git a/.fern/replay.lock b/.fern/replay.lock index 103d791f..99f839c1 100644 --- a/.fern/replay.lock +++ b/.fern/replay.lock @@ -79,7 +79,13 @@ generations: cli_version: unknown generator_versions: fernapi/fern-python-sdk: 5.26.0 -current_generation: 687b6bdec9a1e256715830bc5a1af2fca12891c1 + - commit_sha: 29398c8e076021d0cce84a2ab2c4e4a2f7bff601 + tree_hash: b73c9e98b6b33283e53685d92ecb150dc4a78e5a + timestamp: 2026-09-11T02:46:40.256Z + cli_version: unknown + generator_versions: + fernapi/fern-python-sdk: 5.26.0 +current_generation: 29398c8e076021d0cce84a2ab2c4e4a2f7bff601 patches: - id: patch-4894603d content_hash: sha256:fc35b55720e7e9e354dca29191c5832b7e242ad21ba635310c698ea2c3b70a00 @@ -8838,7 +8844,7 @@ patches: "verifiable_credentials", ] user_owned: true - status: resolving + status: unresolved - id: patch-7271f157 content_hash: sha256:cd98dd1948587cf3396a2eacf46626176784bd00996eb660374161bfef686e93 original_commit: 7271f15759cfb545c9ef82b5a4f519ffe0a89db2 @@ -9019,21 +9025,21 @@ patches: token = await self._async_token() headers["Authorization"] = f"Bearer {token}" return headers - status: resolving + status: unresolved - id: patch-c04f0b4d - content_hash: sha256:b65d64186b01afaab6e31aea69046d6145404b9f6c13eeedf172600513b2c370 + content_hash: sha256:0efa9bc9e6f16dd1f574dc20b6a80a0649bbacd1b244f12c33bd5019a26aac70 original_commit: c04f0b4dbbe8f2300f4f1bf42f62350888a92da5 original_message: Fix for incorrect return type and missing __all__ type original_author: Sourav Basu - base_generation: 687b6bdec9a1e256715830bc5a1af2fca12891c1 + base_generation: 29398c8e076021d0cce84a2ab2c4e4a2f7bff601 files: - src/auth0/management/__init__.py patch_content: | diff --git a/src/auth0/management/__init__.py b/src/auth0/management/__init__.py - index 1723f3ca..65848f53 100644 + index d9396e43..8fe7ccdf 100644 --- a/src/auth0/management/__init__.py +++ b/src/auth0/management/__init__.py - @@ -2487,6 +2487,8 @@ if typing.TYPE_CHECKING: + @@ -2490,6 +2490,8 @@ if typing.TYPE_CHECKING: FedCmLoginGoogle, FedCmLoginGooglePatch, FedCmLoginPatch, @@ -9042,7 +9048,7 @@ patches: FlowAction, FlowActionActivecampaign, FlowActionActivecampaignListContacts, - @@ -3862,6 +3864,8 @@ if typing.TYPE_CHECKING: + @@ -3880,6 +3882,8 @@ if typing.TYPE_CHECKING: from .management_client import AsyncManagementClient, CustomDomainHeader, ManagementClient from .token_provider import AsyncTokenProvider, TokenProvider from .version import __version__ @@ -9051,7 +9057,7 @@ patches: _dynamic_imports: typing.Dict[str, str] = { "Action": ".types", "ActionBase": ".types", - @@ -4936,6 +4940,7 @@ _dynamic_imports: typing.Dict[str, str] = { + @@ -4957,6 +4961,7 @@ _dynamic_imports: typing.Dict[str, str] = { "CspReportingEndpoints": ".types", "CspReportingInfrastructure": ".types", "CustomDomain": ".types", @@ -9059,7 +9065,7 @@ patches: "CustomDomainCustomClientIpHeader": ".types", "CustomDomainCustomClientIpHeaderEnum": ".types", "CustomDomainHeader": ".management_client", - @@ -6355,6 +6360,8 @@ _dynamic_imports: typing.Dict[str, str] = { + @@ -6376,6 +6381,8 @@ _dynamic_imports: typing.Dict[str, str] = { "FedCmLoginGoogle": ".types", "FedCmLoginGooglePatch": ".types", "FedCmLoginPatch": ".types", @@ -9068,7 +9074,7 @@ patches: "FlowAction": ".types", "FlowActionActivecampaign": ".types", "FlowActionActivecampaignListContacts": ".types", - @@ -8816,6 +8823,7 @@ __all__ = [ + @@ -8855,6 +8862,7 @@ __all__ = [ "CspReportingEndpoints", "CspReportingInfrastructure", "CustomDomain", @@ -9076,7 +9082,7 @@ patches: "CustomDomainCustomClientIpHeader", "CustomDomainCustomClientIpHeaderEnum", "CustomDomainHeader", - @@ -10235,6 +10243,8 @@ __all__ = [ + @@ -10274,6 +10282,8 @@ __all__ = [ "FedCmLoginGoogle", "FedCmLoginGooglePatch", "FedCmLoginPatch", @@ -9149,9 +9155,11 @@ patches: AculOrganizationMetadata, AculRenderingModeEnum, AddOrganizationConnectionResponseContent, + AdvanceRampResponseContent, AgentMetadata, AgentResponseContent, AnomalyIpFormat, + AnonymousSessions, AppMetadata, AssessorsTypeEnum, AssociateOrganizationClientGrantResponseContent, @@ -9887,6 +9895,7 @@ patches: CreateActionModuleResponseContent, CreateActionModuleVersionResponseContent, CreateActionResponseContent, + CreateAnonymousSessions, CreateBrandingPhoneProviderResponseContent, CreateBrandingThemeResponseContent, CreateClientAuthenticationMethodSelfSignedTlsClientAuth, @@ -12170,6 +12179,7 @@ patches: GetDefaultDomainResponseContent, GetDirectoryProvisioningDefaultMappingResponseContent, GetDirectoryProvisioningResponseContent, + GetEmailFactorSettingsResponseContent, GetEmailProviderResponseContent, GetEmailTemplateResponseContent, GetEncryptionKeyResponseContent, @@ -12195,6 +12205,7 @@ patches: GetGuardianFactorsProviderSmsResponseContent, GetGuardianFactorsProviderSmsTwilioResponseContent, GetGuardianFactorsProviderSnsResponseContent, + GetGuardianSettingsResponseContent, GetHookResponseContent, GetHookSecretResponseContent, GetJobErrorResponseContent, @@ -12215,6 +12226,7 @@ patches: GetOrganizationInvitationResponseContent, GetOrganizationResponseContent, GetPartialsResponseContent, + GetPhoneFactorSettingsResponseContent, GetPhoneProviderProtectionResponseContent, GetPhoneTemplateResponseContent, GetRateLimitPolicyResponseContent, @@ -12321,7 +12333,6 @@ patches: ListOrganizationMembersPaginatedResponseContent, ListOrganizationRoleGroupsResponseContent, ListOrganizationRoleMembersResponseContent, - ListOrganizationTemplatesPaginatedResponseContent, ListOrganizationsPaginatedResponseContent, ListPhoneTemplatesResponseContent, ListRateLimitPoliciesPaginatedResponseContent, @@ -12336,7 +12347,6 @@ patches: ListSelfServiceProfileCustomTextResponseContent, ListSelfServiceProfilesPaginatedResponseContent, ListSynchronizedGroupsResponseContent, - ListTemplateOrganizationsPaginatedResponseContent, ListTokenExchangeProfileResponseContent, ListUserAttributeProfileTemplateResponseContent, ListUserAttributeProfilesPaginatedResponseContent, @@ -12463,9 +12473,9 @@ patches: OrganizationMemberEffectiveRoleSource, OrganizationMemberRole, OrganizationMetadata, + OrganizationSortFieldEnum, OrganizationTemplate, OrganizationTemplateAllowedStrategyEnum, - OrganizationTemplateAssignedOrganization, OrganizationTemplateRoleVisibilityEnum, OrganizationTemplateRoleVisibilityOverride, OrganizationTemplateRoleVisibilityPolicy, @@ -12547,7 +12557,11 @@ patches: ResourceServerProofOfPossessionMechanismEnum, ResourceServerProofOfPossessionRequiredForEnum, ResourceServerScope, + ResourceServerSearchResponse, + ResourceServerSortFieldEnum, ResourceServerSubjectTypeAuthorization, + ResourceServerSubjectTypeAuthorizationAnonymousUser, + ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum, ResourceServerSubjectTypeAuthorizationClient, ResourceServerSubjectTypeAuthorizationClientPolicyEnum, ResourceServerSubjectTypeAuthorizationUser, @@ -12578,6 +12592,10 @@ patches: ScimTokenItem, ScreenGroupNameEnum, SearchEngineVersionsEnum, + SearchOrganization, + SearchOrganizationsPaginatedResponseContent, + SearchParserEnum, + SearchResourceServersResponseContent, SelfServiceProfile, SelfServiceProfileAllowedStrategyEnum, SelfServiceProfileBranding, @@ -12614,6 +12632,7 @@ patches: SessionMetadata, SessionResponseContent, SetCustomSigningKeysResponseContent, + SetEmailFactorSettingsResponseContent, SetEmailTemplateResponseContent, SetGuardianFactorDuoSettingsResponseContent, SetGuardianFactorPhoneMessageTypesResponseContent, @@ -12631,8 +12650,10 @@ patches: SetGuardianFactorsProviderSmsTwilioResponseContent, SetGuardianPoliciesRequestContent, SetGuardianPoliciesResponseContent, + SetGuardianSettingsResponseContent, SetNetworkAclsResponseContent, SetPartialsRequestContent, + SetPhoneFactorSettingsResponseContent, SetRulesConfigResponseContent, SetSelfServiceProfileCustomTextRequestContent, SetSelfServiceProfileCustomTextResponseContent, @@ -12674,6 +12695,7 @@ patches: TenantSettingsPasswordPage, TenantSettingsResourceParameterProfile, TenantSettingsSessions, + TenantSettingsSessionsAnonymous, TenantSettingsSupportedLocalesEnum, TestActionPayload, TestActionResponseContent, @@ -12702,6 +12724,7 @@ patches: UpdateActionModuleResponseContent, UpdateActionResponseContent, UpdateAculResponseContent, + UpdateAnonymousSessions, UpdateAttackProtectionCaptchaResponseContent, UpdateBotDetectionSettingsResponseContent, UpdateBrandingColors, @@ -12887,6 +12910,7 @@ patches: ConflictError, ContentTooLargeError, ForbiddenError, + GatewayTimeoutError, GoneError, InternalServerError, NotFoundError, @@ -12913,6 +12937,7 @@ patches: emails, event_streams, events, + experimentation, flows, forms, groups, @@ -12923,7 +12948,6 @@ patches: log_streams, logs, network_acls, - organization_templates, organizations, prompts, rate_limit_policies, @@ -13009,9 +13033,11 @@ patches: "AculOrganizationMetadata": ".types", "AculRenderingModeEnum": ".types", "AddOrganizationConnectionResponseContent": ".types", + "AdvanceRampResponseContent": ".types", "AgentMetadata": ".types", "AgentResponseContent": ".types", "AnomalyIpFormat": ".types", + "AnonymousSessions": ".types", "AppMetadata": ".types", "AssessorsTypeEnum": ".types", "AssociateOrganizationClientGrantResponseContent": ".types", @@ -13755,6 +13781,7 @@ patches: "CreateActionModuleResponseContent": ".types", "CreateActionModuleVersionResponseContent": ".types", "CreateActionResponseContent": ".types", + "CreateAnonymousSessions": ".types", "CreateBrandingPhoneProviderResponseContent": ".types", "CreateBrandingThemeResponseContent": ".types", "CreateClientAuthenticationMethodSelfSignedTlsClientAuth": ".types", @@ -16010,6 +16037,7 @@ patches: "FormWidgetTypeGMapsAddressConst": ".types", "FormWidgetTypeRecaptchaConst": ".types", "FormsRequestParametersHydrateEnum": ".types", + "GatewayTimeoutError": ".errors", "GetActionExecutionResponseContent": ".types", "GetActionModuleActionsResponseContent": ".types", "GetActionModuleResponseContent": ".types", @@ -16044,6 +16072,7 @@ patches: "GetDefaultDomainResponseContent": ".types", "GetDirectoryProvisioningDefaultMappingResponseContent": ".types", "GetDirectoryProvisioningResponseContent": ".types", + "GetEmailFactorSettingsResponseContent": ".types", "GetEmailProviderResponseContent": ".types", "GetEmailTemplateResponseContent": ".types", "GetEncryptionKeyResponseContent": ".types", @@ -16069,6 +16098,7 @@ patches: "GetGuardianFactorsProviderSmsResponseContent": ".types", "GetGuardianFactorsProviderSmsTwilioResponseContent": ".types", "GetGuardianFactorsProviderSnsResponseContent": ".types", + "GetGuardianSettingsResponseContent": ".types", "GetHookResponseContent": ".types", "GetHookSecretResponseContent": ".types", "GetJobErrorResponseContent": ".types", @@ -16089,6 +16119,7 @@ patches: "GetOrganizationInvitationResponseContent": ".types", "GetOrganizationResponseContent": ".types", "GetPartialsResponseContent": ".types", + "GetPhoneFactorSettingsResponseContent": ".types", "GetPhoneProviderProtectionResponseContent": ".types", "GetPhoneTemplateResponseContent": ".types", "GetRateLimitPolicyResponseContent": ".types", @@ -16197,7 +16228,6 @@ patches: "ListOrganizationMembersPaginatedResponseContent": ".types", "ListOrganizationRoleGroupsResponseContent": ".types", "ListOrganizationRoleMembersResponseContent": ".types", - "ListOrganizationTemplatesPaginatedResponseContent": ".types", "ListOrganizationsPaginatedResponseContent": ".types", "ListPhoneTemplatesResponseContent": ".types", "ListRateLimitPoliciesPaginatedResponseContent": ".types", @@ -16212,7 +16242,6 @@ patches: "ListSelfServiceProfileCustomTextResponseContent": ".types", "ListSelfServiceProfilesPaginatedResponseContent": ".types", "ListSynchronizedGroupsResponseContent": ".types", - "ListTemplateOrganizationsPaginatedResponseContent": ".types", "ListTokenExchangeProfileResponseContent": ".types", "ListUserAttributeProfileTemplateResponseContent": ".types", "ListUserAttributeProfilesPaginatedResponseContent": ".types", @@ -16341,9 +16370,9 @@ patches: "OrganizationMemberEffectiveRoleSource": ".types", "OrganizationMemberRole": ".types", "OrganizationMetadata": ".types", + "OrganizationSortFieldEnum": ".types", "OrganizationTemplate": ".types", "OrganizationTemplateAllowedStrategyEnum": ".types", - "OrganizationTemplateAssignedOrganization": ".types", "OrganizationTemplateRoleVisibilityEnum": ".types", "OrganizationTemplateRoleVisibilityOverride": ".types", "OrganizationTemplateRoleVisibilityPolicy": ".types", @@ -16427,7 +16456,11 @@ patches: "ResourceServerProofOfPossessionMechanismEnum": ".types", "ResourceServerProofOfPossessionRequiredForEnum": ".types", "ResourceServerScope": ".types", + "ResourceServerSearchResponse": ".types", + "ResourceServerSortFieldEnum": ".types", "ResourceServerSubjectTypeAuthorization": ".types", + "ResourceServerSubjectTypeAuthorizationAnonymousUser": ".types", + "ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum": ".types", "ResourceServerSubjectTypeAuthorizationClient": ".types", "ResourceServerSubjectTypeAuthorizationClientPolicyEnum": ".types", "ResourceServerSubjectTypeAuthorizationUser": ".types", @@ -16458,6 +16491,10 @@ patches: "ScimTokenItem": ".types", "ScreenGroupNameEnum": ".types", "SearchEngineVersionsEnum": ".types", + "SearchOrganization": ".types", + "SearchOrganizationsPaginatedResponseContent": ".types", + "SearchParserEnum": ".types", + "SearchResourceServersResponseContent": ".types", "SelfServiceProfile": ".types", "SelfServiceProfileAllowedStrategyEnum": ".types", "SelfServiceProfileBranding": ".types", @@ -16495,6 +16532,7 @@ patches: "SessionMetadata": ".types", "SessionResponseContent": ".types", "SetCustomSigningKeysResponseContent": ".types", + "SetEmailFactorSettingsResponseContent": ".types", "SetEmailTemplateResponseContent": ".types", "SetGuardianFactorDuoSettingsResponseContent": ".types", "SetGuardianFactorPhoneMessageTypesResponseContent": ".types", @@ -16512,8 +16550,10 @@ patches: "SetGuardianFactorsProviderSmsTwilioResponseContent": ".types", "SetGuardianPoliciesRequestContent": ".types", "SetGuardianPoliciesResponseContent": ".types", + "SetGuardianSettingsResponseContent": ".types", "SetNetworkAclsResponseContent": ".types", "SetPartialsRequestContent": ".types", + "SetPhoneFactorSettingsResponseContent": ".types", "SetRulesConfigResponseContent": ".types", "SetSelfServiceProfileCustomTextRequestContent": ".types", "SetSelfServiceProfileCustomTextResponseContent": ".types", @@ -16555,6 +16595,7 @@ patches: "TenantSettingsPasswordPage": ".types", "TenantSettingsResourceParameterProfile": ".types", "TenantSettingsSessions": ".types", + "TenantSettingsSessionsAnonymous": ".types", "TenantSettingsSupportedLocalesEnum": ".types", "TestActionPayload": ".types", "TestActionResponseContent": ".types", @@ -16587,6 +16628,7 @@ patches: "UpdateActionModuleResponseContent": ".types", "UpdateActionResponseContent": ".types", "UpdateAculResponseContent": ".types", + "UpdateAnonymousSessions": ".types", "UpdateAttackProtectionCaptchaResponseContent": ".types", "UpdateBotDetectionSettingsResponseContent": ".types", "UpdateBrandingColors": ".types", @@ -16782,6 +16824,7 @@ patches: "emails": ".emails", "event_streams": ".event_streams", "events": ".events", + "experimentation": ".experimentation", "flows": ".flows", "forms": ".forms", "groups": ".groups", @@ -16792,7 +16835,6 @@ patches: "log_streams": ".log_streams", "logs": ".logs", "network_acls": ".network_acls", - "organization_templates": ".organization_templates", "organizations": ".organizations", "prompts": ".prompts", "rate_limit_policies": ".rate_limit_policies", @@ -16892,9 +16934,11 @@ patches: "AculOrganizationMetadata", "AculRenderingModeEnum", "AddOrganizationConnectionResponseContent", + "AdvanceRampResponseContent", "AgentMetadata", "AgentResponseContent", "AnomalyIpFormat", + "AnonymousSessions", "AppMetadata", "AssessorsTypeEnum", "AssociateOrganizationClientGrantResponseContent", @@ -17638,6 +17682,7 @@ patches: "CreateActionModuleResponseContent", "CreateActionModuleVersionResponseContent", "CreateActionResponseContent", + "CreateAnonymousSessions", "CreateBrandingPhoneProviderResponseContent", "CreateBrandingThemeResponseContent", "CreateClientAuthenticationMethodSelfSignedTlsClientAuth", @@ -19893,6 +19938,7 @@ patches: "FormWidgetTypeGMapsAddressConst", "FormWidgetTypeRecaptchaConst", "FormsRequestParametersHydrateEnum", + "GatewayTimeoutError", "GetActionExecutionResponseContent", "GetActionModuleActionsResponseContent", "GetActionModuleResponseContent", @@ -19927,6 +19973,7 @@ patches: "GetDefaultDomainResponseContent", "GetDirectoryProvisioningDefaultMappingResponseContent", "GetDirectoryProvisioningResponseContent", + "GetEmailFactorSettingsResponseContent", "GetEmailProviderResponseContent", "GetEmailTemplateResponseContent", "GetEncryptionKeyResponseContent", @@ -19952,6 +19999,7 @@ patches: "GetGuardianFactorsProviderSmsResponseContent", "GetGuardianFactorsProviderSmsTwilioResponseContent", "GetGuardianFactorsProviderSnsResponseContent", + "GetGuardianSettingsResponseContent", "GetHookResponseContent", "GetHookSecretResponseContent", "GetJobErrorResponseContent", @@ -19972,6 +20020,7 @@ patches: "GetOrganizationInvitationResponseContent", "GetOrganizationResponseContent", "GetPartialsResponseContent", + "GetPhoneFactorSettingsResponseContent", "GetPhoneProviderProtectionResponseContent", "GetPhoneTemplateResponseContent", "GetRateLimitPolicyResponseContent", @@ -20080,7 +20129,6 @@ patches: "ListOrganizationMembersPaginatedResponseContent", "ListOrganizationRoleGroupsResponseContent", "ListOrganizationRoleMembersResponseContent", - "ListOrganizationTemplatesPaginatedResponseContent", "ListOrganizationsPaginatedResponseContent", "ListPhoneTemplatesResponseContent", "ListRateLimitPoliciesPaginatedResponseContent", @@ -20095,7 +20143,6 @@ patches: "ListSelfServiceProfileCustomTextResponseContent", "ListSelfServiceProfilesPaginatedResponseContent", "ListSynchronizedGroupsResponseContent", - "ListTemplateOrganizationsPaginatedResponseContent", "ListTokenExchangeProfileResponseContent", "ListUserAttributeProfileTemplateResponseContent", "ListUserAttributeProfilesPaginatedResponseContent", @@ -20224,9 +20271,9 @@ patches: "OrganizationMemberEffectiveRoleSource", "OrganizationMemberRole", "OrganizationMetadata", + "OrganizationSortFieldEnum", "OrganizationTemplate", "OrganizationTemplateAllowedStrategyEnum", - "OrganizationTemplateAssignedOrganization", "OrganizationTemplateRoleVisibilityEnum", "OrganizationTemplateRoleVisibilityOverride", "OrganizationTemplateRoleVisibilityPolicy", @@ -20310,7 +20357,11 @@ patches: "ResourceServerProofOfPossessionMechanismEnum", "ResourceServerProofOfPossessionRequiredForEnum", "ResourceServerScope", + "ResourceServerSearchResponse", + "ResourceServerSortFieldEnum", "ResourceServerSubjectTypeAuthorization", + "ResourceServerSubjectTypeAuthorizationAnonymousUser", + "ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum", "ResourceServerSubjectTypeAuthorizationClient", "ResourceServerSubjectTypeAuthorizationClientPolicyEnum", "ResourceServerSubjectTypeAuthorizationUser", @@ -20341,6 +20392,10 @@ patches: "ScimTokenItem", "ScreenGroupNameEnum", "SearchEngineVersionsEnum", + "SearchOrganization", + "SearchOrganizationsPaginatedResponseContent", + "SearchParserEnum", + "SearchResourceServersResponseContent", "SelfServiceProfile", "SelfServiceProfileAllowedStrategyEnum", "SelfServiceProfileBranding", @@ -20378,6 +20433,7 @@ patches: "SessionMetadata", "SessionResponseContent", "SetCustomSigningKeysResponseContent", + "SetEmailFactorSettingsResponseContent", "SetEmailTemplateResponseContent", "SetGuardianFactorDuoSettingsResponseContent", "SetGuardianFactorPhoneMessageTypesResponseContent", @@ -20395,8 +20451,10 @@ patches: "SetGuardianFactorsProviderSmsTwilioResponseContent", "SetGuardianPoliciesRequestContent", "SetGuardianPoliciesResponseContent", + "SetGuardianSettingsResponseContent", "SetNetworkAclsResponseContent", "SetPartialsRequestContent", + "SetPhoneFactorSettingsResponseContent", "SetRulesConfigResponseContent", "SetSelfServiceProfileCustomTextRequestContent", "SetSelfServiceProfileCustomTextResponseContent", @@ -20438,6 +20496,7 @@ patches: "TenantSettingsPasswordPage", "TenantSettingsResourceParameterProfile", "TenantSettingsSessions", + "TenantSettingsSessionsAnonymous", "TenantSettingsSupportedLocalesEnum", "TestActionPayload", "TestActionResponseContent", @@ -20470,6 +20529,7 @@ patches: "UpdateActionModuleResponseContent", "UpdateActionResponseContent", "UpdateAculResponseContent", + "UpdateAnonymousSessions", "UpdateAttackProtectionCaptchaResponseContent", "UpdateBotDetectionSettingsResponseContent", "UpdateBrandingColors", @@ -20665,6 +20725,7 @@ patches: "emails", "event_streams", "events", + "experimentation", "flows", "forms", "groups", @@ -20675,7 +20736,6 @@ patches: "log_streams", "logs", "network_acls", - "organization_templates", "organizations", "prompts", "rate_limit_policies", @@ -30661,21 +30721,21 @@ patches: headers["Authorization"] = f"Bearer {token}" return headers user_owned: true - status: resolving + status: unresolved - id: patch-f7384913 - content_hash: sha256:b65d64186b01afaab6e31aea69046d6145404b9f6c13eeedf172600513b2c370 + content_hash: sha256:0efa9bc9e6f16dd1f574dc20b6a80a0649bbacd1b244f12c33bd5019a26aac70 original_commit: f7384913ab0a14df83dbc602d2b694e2cb7b7668 original_message: Remove duplicate FedCmLoginGooglePatch and FedCmLoginPatch entries original_author: Kunal Dawar - base_generation: 687b6bdec9a1e256715830bc5a1af2fca12891c1 + base_generation: 29398c8e076021d0cce84a2ab2c4e4a2f7bff601 files: - src/auth0/management/__init__.py patch_content: | diff --git a/src/auth0/management/__init__.py b/src/auth0/management/__init__.py - index 1723f3ca..65848f53 100644 + index d9396e43..8fe7ccdf 100644 --- a/src/auth0/management/__init__.py +++ b/src/auth0/management/__init__.py - @@ -2487,6 +2487,8 @@ if typing.TYPE_CHECKING: + @@ -2490,6 +2490,8 @@ if typing.TYPE_CHECKING: FedCmLoginGoogle, FedCmLoginGooglePatch, FedCmLoginPatch, @@ -30684,7 +30744,7 @@ patches: FlowAction, FlowActionActivecampaign, FlowActionActivecampaignListContacts, - @@ -3862,6 +3864,8 @@ if typing.TYPE_CHECKING: + @@ -3880,6 +3882,8 @@ if typing.TYPE_CHECKING: from .management_client import AsyncManagementClient, CustomDomainHeader, ManagementClient from .token_provider import AsyncTokenProvider, TokenProvider from .version import __version__ @@ -30693,7 +30753,7 @@ patches: _dynamic_imports: typing.Dict[str, str] = { "Action": ".types", "ActionBase": ".types", - @@ -4936,6 +4940,7 @@ _dynamic_imports: typing.Dict[str, str] = { + @@ -4957,6 +4961,7 @@ _dynamic_imports: typing.Dict[str, str] = { "CspReportingEndpoints": ".types", "CspReportingInfrastructure": ".types", "CustomDomain": ".types", @@ -30701,7 +30761,7 @@ patches: "CustomDomainCustomClientIpHeader": ".types", "CustomDomainCustomClientIpHeaderEnum": ".types", "CustomDomainHeader": ".management_client", - @@ -6355,6 +6360,8 @@ _dynamic_imports: typing.Dict[str, str] = { + @@ -6376,6 +6381,8 @@ _dynamic_imports: typing.Dict[str, str] = { "FedCmLoginGoogle": ".types", "FedCmLoginGooglePatch": ".types", "FedCmLoginPatch": ".types", @@ -30710,7 +30770,7 @@ patches: "FlowAction": ".types", "FlowActionActivecampaign": ".types", "FlowActionActivecampaignListContacts": ".types", - @@ -8816,6 +8823,7 @@ __all__ = [ + @@ -8855,6 +8862,7 @@ __all__ = [ "CspReportingEndpoints", "CspReportingInfrastructure", "CustomDomain", @@ -30718,7 +30778,7 @@ patches: "CustomDomainCustomClientIpHeader", "CustomDomainCustomClientIpHeaderEnum", "CustomDomainHeader", - @@ -10235,6 +10243,8 @@ __all__ = [ + @@ -10274,6 +10282,8 @@ __all__ = [ "FedCmLoginGoogle", "FedCmLoginGooglePatch", "FedCmLoginPatch", @@ -30791,9 +30851,11 @@ patches: AculOrganizationMetadata, AculRenderingModeEnum, AddOrganizationConnectionResponseContent, + AdvanceRampResponseContent, AgentMetadata, AgentResponseContent, AnomalyIpFormat, + AnonymousSessions, AppMetadata, AssessorsTypeEnum, AssociateOrganizationClientGrantResponseContent, @@ -31529,6 +31591,7 @@ patches: CreateActionModuleResponseContent, CreateActionModuleVersionResponseContent, CreateActionResponseContent, + CreateAnonymousSessions, CreateBrandingPhoneProviderResponseContent, CreateBrandingThemeResponseContent, CreateClientAuthenticationMethodSelfSignedTlsClientAuth, @@ -33812,6 +33875,7 @@ patches: GetDefaultDomainResponseContent, GetDirectoryProvisioningDefaultMappingResponseContent, GetDirectoryProvisioningResponseContent, + GetEmailFactorSettingsResponseContent, GetEmailProviderResponseContent, GetEmailTemplateResponseContent, GetEncryptionKeyResponseContent, @@ -33837,6 +33901,7 @@ patches: GetGuardianFactorsProviderSmsResponseContent, GetGuardianFactorsProviderSmsTwilioResponseContent, GetGuardianFactorsProviderSnsResponseContent, + GetGuardianSettingsResponseContent, GetHookResponseContent, GetHookSecretResponseContent, GetJobErrorResponseContent, @@ -33857,6 +33922,7 @@ patches: GetOrganizationInvitationResponseContent, GetOrganizationResponseContent, GetPartialsResponseContent, + GetPhoneFactorSettingsResponseContent, GetPhoneProviderProtectionResponseContent, GetPhoneTemplateResponseContent, GetRateLimitPolicyResponseContent, @@ -33963,7 +34029,6 @@ patches: ListOrganizationMembersPaginatedResponseContent, ListOrganizationRoleGroupsResponseContent, ListOrganizationRoleMembersResponseContent, - ListOrganizationTemplatesPaginatedResponseContent, ListOrganizationsPaginatedResponseContent, ListPhoneTemplatesResponseContent, ListRateLimitPoliciesPaginatedResponseContent, @@ -33978,7 +34043,6 @@ patches: ListSelfServiceProfileCustomTextResponseContent, ListSelfServiceProfilesPaginatedResponseContent, ListSynchronizedGroupsResponseContent, - ListTemplateOrganizationsPaginatedResponseContent, ListTokenExchangeProfileResponseContent, ListUserAttributeProfileTemplateResponseContent, ListUserAttributeProfilesPaginatedResponseContent, @@ -34105,9 +34169,9 @@ patches: OrganizationMemberEffectiveRoleSource, OrganizationMemberRole, OrganizationMetadata, + OrganizationSortFieldEnum, OrganizationTemplate, OrganizationTemplateAllowedStrategyEnum, - OrganizationTemplateAssignedOrganization, OrganizationTemplateRoleVisibilityEnum, OrganizationTemplateRoleVisibilityOverride, OrganizationTemplateRoleVisibilityPolicy, @@ -34189,7 +34253,11 @@ patches: ResourceServerProofOfPossessionMechanismEnum, ResourceServerProofOfPossessionRequiredForEnum, ResourceServerScope, + ResourceServerSearchResponse, + ResourceServerSortFieldEnum, ResourceServerSubjectTypeAuthorization, + ResourceServerSubjectTypeAuthorizationAnonymousUser, + ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum, ResourceServerSubjectTypeAuthorizationClient, ResourceServerSubjectTypeAuthorizationClientPolicyEnum, ResourceServerSubjectTypeAuthorizationUser, @@ -34220,6 +34288,10 @@ patches: ScimTokenItem, ScreenGroupNameEnum, SearchEngineVersionsEnum, + SearchOrganization, + SearchOrganizationsPaginatedResponseContent, + SearchParserEnum, + SearchResourceServersResponseContent, SelfServiceProfile, SelfServiceProfileAllowedStrategyEnum, SelfServiceProfileBranding, @@ -34256,6 +34328,7 @@ patches: SessionMetadata, SessionResponseContent, SetCustomSigningKeysResponseContent, + SetEmailFactorSettingsResponseContent, SetEmailTemplateResponseContent, SetGuardianFactorDuoSettingsResponseContent, SetGuardianFactorPhoneMessageTypesResponseContent, @@ -34273,8 +34346,10 @@ patches: SetGuardianFactorsProviderSmsTwilioResponseContent, SetGuardianPoliciesRequestContent, SetGuardianPoliciesResponseContent, + SetGuardianSettingsResponseContent, SetNetworkAclsResponseContent, SetPartialsRequestContent, + SetPhoneFactorSettingsResponseContent, SetRulesConfigResponseContent, SetSelfServiceProfileCustomTextRequestContent, SetSelfServiceProfileCustomTextResponseContent, @@ -34316,6 +34391,7 @@ patches: TenantSettingsPasswordPage, TenantSettingsResourceParameterProfile, TenantSettingsSessions, + TenantSettingsSessionsAnonymous, TenantSettingsSupportedLocalesEnum, TestActionPayload, TestActionResponseContent, @@ -34344,6 +34420,7 @@ patches: UpdateActionModuleResponseContent, UpdateActionResponseContent, UpdateAculResponseContent, + UpdateAnonymousSessions, UpdateAttackProtectionCaptchaResponseContent, UpdateBotDetectionSettingsResponseContent, UpdateBrandingColors, @@ -34529,6 +34606,7 @@ patches: ConflictError, ContentTooLargeError, ForbiddenError, + GatewayTimeoutError, GoneError, InternalServerError, NotFoundError, @@ -34555,6 +34633,7 @@ patches: emails, event_streams, events, + experimentation, flows, forms, groups, @@ -34565,7 +34644,6 @@ patches: log_streams, logs, network_acls, - organization_templates, organizations, prompts, rate_limit_policies, @@ -34651,9 +34729,11 @@ patches: "AculOrganizationMetadata": ".types", "AculRenderingModeEnum": ".types", "AddOrganizationConnectionResponseContent": ".types", + "AdvanceRampResponseContent": ".types", "AgentMetadata": ".types", "AgentResponseContent": ".types", "AnomalyIpFormat": ".types", + "AnonymousSessions": ".types", "AppMetadata": ".types", "AssessorsTypeEnum": ".types", "AssociateOrganizationClientGrantResponseContent": ".types", @@ -35397,6 +35477,7 @@ patches: "CreateActionModuleResponseContent": ".types", "CreateActionModuleVersionResponseContent": ".types", "CreateActionResponseContent": ".types", + "CreateAnonymousSessions": ".types", "CreateBrandingPhoneProviderResponseContent": ".types", "CreateBrandingThemeResponseContent": ".types", "CreateClientAuthenticationMethodSelfSignedTlsClientAuth": ".types", @@ -37652,6 +37733,7 @@ patches: "FormWidgetTypeGMapsAddressConst": ".types", "FormWidgetTypeRecaptchaConst": ".types", "FormsRequestParametersHydrateEnum": ".types", + "GatewayTimeoutError": ".errors", "GetActionExecutionResponseContent": ".types", "GetActionModuleActionsResponseContent": ".types", "GetActionModuleResponseContent": ".types", @@ -37686,6 +37768,7 @@ patches: "GetDefaultDomainResponseContent": ".types", "GetDirectoryProvisioningDefaultMappingResponseContent": ".types", "GetDirectoryProvisioningResponseContent": ".types", + "GetEmailFactorSettingsResponseContent": ".types", "GetEmailProviderResponseContent": ".types", "GetEmailTemplateResponseContent": ".types", "GetEncryptionKeyResponseContent": ".types", @@ -37711,6 +37794,7 @@ patches: "GetGuardianFactorsProviderSmsResponseContent": ".types", "GetGuardianFactorsProviderSmsTwilioResponseContent": ".types", "GetGuardianFactorsProviderSnsResponseContent": ".types", + "GetGuardianSettingsResponseContent": ".types", "GetHookResponseContent": ".types", "GetHookSecretResponseContent": ".types", "GetJobErrorResponseContent": ".types", @@ -37731,6 +37815,7 @@ patches: "GetOrganizationInvitationResponseContent": ".types", "GetOrganizationResponseContent": ".types", "GetPartialsResponseContent": ".types", + "GetPhoneFactorSettingsResponseContent": ".types", "GetPhoneProviderProtectionResponseContent": ".types", "GetPhoneTemplateResponseContent": ".types", "GetRateLimitPolicyResponseContent": ".types", @@ -37839,7 +37924,6 @@ patches: "ListOrganizationMembersPaginatedResponseContent": ".types", "ListOrganizationRoleGroupsResponseContent": ".types", "ListOrganizationRoleMembersResponseContent": ".types", - "ListOrganizationTemplatesPaginatedResponseContent": ".types", "ListOrganizationsPaginatedResponseContent": ".types", "ListPhoneTemplatesResponseContent": ".types", "ListRateLimitPoliciesPaginatedResponseContent": ".types", @@ -37854,7 +37938,6 @@ patches: "ListSelfServiceProfileCustomTextResponseContent": ".types", "ListSelfServiceProfilesPaginatedResponseContent": ".types", "ListSynchronizedGroupsResponseContent": ".types", - "ListTemplateOrganizationsPaginatedResponseContent": ".types", "ListTokenExchangeProfileResponseContent": ".types", "ListUserAttributeProfileTemplateResponseContent": ".types", "ListUserAttributeProfilesPaginatedResponseContent": ".types", @@ -37983,9 +38066,9 @@ patches: "OrganizationMemberEffectiveRoleSource": ".types", "OrganizationMemberRole": ".types", "OrganizationMetadata": ".types", + "OrganizationSortFieldEnum": ".types", "OrganizationTemplate": ".types", "OrganizationTemplateAllowedStrategyEnum": ".types", - "OrganizationTemplateAssignedOrganization": ".types", "OrganizationTemplateRoleVisibilityEnum": ".types", "OrganizationTemplateRoleVisibilityOverride": ".types", "OrganizationTemplateRoleVisibilityPolicy": ".types", @@ -38069,7 +38152,11 @@ patches: "ResourceServerProofOfPossessionMechanismEnum": ".types", "ResourceServerProofOfPossessionRequiredForEnum": ".types", "ResourceServerScope": ".types", + "ResourceServerSearchResponse": ".types", + "ResourceServerSortFieldEnum": ".types", "ResourceServerSubjectTypeAuthorization": ".types", + "ResourceServerSubjectTypeAuthorizationAnonymousUser": ".types", + "ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum": ".types", "ResourceServerSubjectTypeAuthorizationClient": ".types", "ResourceServerSubjectTypeAuthorizationClientPolicyEnum": ".types", "ResourceServerSubjectTypeAuthorizationUser": ".types", @@ -38100,6 +38187,10 @@ patches: "ScimTokenItem": ".types", "ScreenGroupNameEnum": ".types", "SearchEngineVersionsEnum": ".types", + "SearchOrganization": ".types", + "SearchOrganizationsPaginatedResponseContent": ".types", + "SearchParserEnum": ".types", + "SearchResourceServersResponseContent": ".types", "SelfServiceProfile": ".types", "SelfServiceProfileAllowedStrategyEnum": ".types", "SelfServiceProfileBranding": ".types", @@ -38137,6 +38228,7 @@ patches: "SessionMetadata": ".types", "SessionResponseContent": ".types", "SetCustomSigningKeysResponseContent": ".types", + "SetEmailFactorSettingsResponseContent": ".types", "SetEmailTemplateResponseContent": ".types", "SetGuardianFactorDuoSettingsResponseContent": ".types", "SetGuardianFactorPhoneMessageTypesResponseContent": ".types", @@ -38154,8 +38246,10 @@ patches: "SetGuardianFactorsProviderSmsTwilioResponseContent": ".types", "SetGuardianPoliciesRequestContent": ".types", "SetGuardianPoliciesResponseContent": ".types", + "SetGuardianSettingsResponseContent": ".types", "SetNetworkAclsResponseContent": ".types", "SetPartialsRequestContent": ".types", + "SetPhoneFactorSettingsResponseContent": ".types", "SetRulesConfigResponseContent": ".types", "SetSelfServiceProfileCustomTextRequestContent": ".types", "SetSelfServiceProfileCustomTextResponseContent": ".types", @@ -38197,6 +38291,7 @@ patches: "TenantSettingsPasswordPage": ".types", "TenantSettingsResourceParameterProfile": ".types", "TenantSettingsSessions": ".types", + "TenantSettingsSessionsAnonymous": ".types", "TenantSettingsSupportedLocalesEnum": ".types", "TestActionPayload": ".types", "TestActionResponseContent": ".types", @@ -38229,6 +38324,7 @@ patches: "UpdateActionModuleResponseContent": ".types", "UpdateActionResponseContent": ".types", "UpdateAculResponseContent": ".types", + "UpdateAnonymousSessions": ".types", "UpdateAttackProtectionCaptchaResponseContent": ".types", "UpdateBotDetectionSettingsResponseContent": ".types", "UpdateBrandingColors": ".types", @@ -38424,6 +38520,7 @@ patches: "emails": ".emails", "event_streams": ".event_streams", "events": ".events", + "experimentation": ".experimentation", "flows": ".flows", "forms": ".forms", "groups": ".groups", @@ -38434,7 +38531,6 @@ patches: "log_streams": ".log_streams", "logs": ".logs", "network_acls": ".network_acls", - "organization_templates": ".organization_templates", "organizations": ".organizations", "prompts": ".prompts", "rate_limit_policies": ".rate_limit_policies", @@ -38534,9 +38630,11 @@ patches: "AculOrganizationMetadata", "AculRenderingModeEnum", "AddOrganizationConnectionResponseContent", + "AdvanceRampResponseContent", "AgentMetadata", "AgentResponseContent", "AnomalyIpFormat", + "AnonymousSessions", "AppMetadata", "AssessorsTypeEnum", "AssociateOrganizationClientGrantResponseContent", @@ -39280,6 +39378,7 @@ patches: "CreateActionModuleResponseContent", "CreateActionModuleVersionResponseContent", "CreateActionResponseContent", + "CreateAnonymousSessions", "CreateBrandingPhoneProviderResponseContent", "CreateBrandingThemeResponseContent", "CreateClientAuthenticationMethodSelfSignedTlsClientAuth", @@ -41535,6 +41634,7 @@ patches: "FormWidgetTypeGMapsAddressConst", "FormWidgetTypeRecaptchaConst", "FormsRequestParametersHydrateEnum", + "GatewayTimeoutError", "GetActionExecutionResponseContent", "GetActionModuleActionsResponseContent", "GetActionModuleResponseContent", @@ -41569,6 +41669,7 @@ patches: "GetDefaultDomainResponseContent", "GetDirectoryProvisioningDefaultMappingResponseContent", "GetDirectoryProvisioningResponseContent", + "GetEmailFactorSettingsResponseContent", "GetEmailProviderResponseContent", "GetEmailTemplateResponseContent", "GetEncryptionKeyResponseContent", @@ -41594,6 +41695,7 @@ patches: "GetGuardianFactorsProviderSmsResponseContent", "GetGuardianFactorsProviderSmsTwilioResponseContent", "GetGuardianFactorsProviderSnsResponseContent", + "GetGuardianSettingsResponseContent", "GetHookResponseContent", "GetHookSecretResponseContent", "GetJobErrorResponseContent", @@ -41614,6 +41716,7 @@ patches: "GetOrganizationInvitationResponseContent", "GetOrganizationResponseContent", "GetPartialsResponseContent", + "GetPhoneFactorSettingsResponseContent", "GetPhoneProviderProtectionResponseContent", "GetPhoneTemplateResponseContent", "GetRateLimitPolicyResponseContent", @@ -41722,7 +41825,6 @@ patches: "ListOrganizationMembersPaginatedResponseContent", "ListOrganizationRoleGroupsResponseContent", "ListOrganizationRoleMembersResponseContent", - "ListOrganizationTemplatesPaginatedResponseContent", "ListOrganizationsPaginatedResponseContent", "ListPhoneTemplatesResponseContent", "ListRateLimitPoliciesPaginatedResponseContent", @@ -41737,7 +41839,6 @@ patches: "ListSelfServiceProfileCustomTextResponseContent", "ListSelfServiceProfilesPaginatedResponseContent", "ListSynchronizedGroupsResponseContent", - "ListTemplateOrganizationsPaginatedResponseContent", "ListTokenExchangeProfileResponseContent", "ListUserAttributeProfileTemplateResponseContent", "ListUserAttributeProfilesPaginatedResponseContent", @@ -41866,9 +41967,9 @@ patches: "OrganizationMemberEffectiveRoleSource", "OrganizationMemberRole", "OrganizationMetadata", + "OrganizationSortFieldEnum", "OrganizationTemplate", "OrganizationTemplateAllowedStrategyEnum", - "OrganizationTemplateAssignedOrganization", "OrganizationTemplateRoleVisibilityEnum", "OrganizationTemplateRoleVisibilityOverride", "OrganizationTemplateRoleVisibilityPolicy", @@ -41952,7 +42053,11 @@ patches: "ResourceServerProofOfPossessionMechanismEnum", "ResourceServerProofOfPossessionRequiredForEnum", "ResourceServerScope", + "ResourceServerSearchResponse", + "ResourceServerSortFieldEnum", "ResourceServerSubjectTypeAuthorization", + "ResourceServerSubjectTypeAuthorizationAnonymousUser", + "ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum", "ResourceServerSubjectTypeAuthorizationClient", "ResourceServerSubjectTypeAuthorizationClientPolicyEnum", "ResourceServerSubjectTypeAuthorizationUser", @@ -41983,6 +42088,10 @@ patches: "ScimTokenItem", "ScreenGroupNameEnum", "SearchEngineVersionsEnum", + "SearchOrganization", + "SearchOrganizationsPaginatedResponseContent", + "SearchParserEnum", + "SearchResourceServersResponseContent", "SelfServiceProfile", "SelfServiceProfileAllowedStrategyEnum", "SelfServiceProfileBranding", @@ -42020,6 +42129,7 @@ patches: "SessionMetadata", "SessionResponseContent", "SetCustomSigningKeysResponseContent", + "SetEmailFactorSettingsResponseContent", "SetEmailTemplateResponseContent", "SetGuardianFactorDuoSettingsResponseContent", "SetGuardianFactorPhoneMessageTypesResponseContent", @@ -42037,8 +42147,10 @@ patches: "SetGuardianFactorsProviderSmsTwilioResponseContent", "SetGuardianPoliciesRequestContent", "SetGuardianPoliciesResponseContent", + "SetGuardianSettingsResponseContent", "SetNetworkAclsResponseContent", "SetPartialsRequestContent", + "SetPhoneFactorSettingsResponseContent", "SetRulesConfigResponseContent", "SetSelfServiceProfileCustomTextRequestContent", "SetSelfServiceProfileCustomTextResponseContent", @@ -42080,6 +42192,7 @@ patches: "TenantSettingsPasswordPage", "TenantSettingsResourceParameterProfile", "TenantSettingsSessions", + "TenantSettingsSessionsAnonymous", "TenantSettingsSupportedLocalesEnum", "TestActionPayload", "TestActionResponseContent", @@ -42112,6 +42225,7 @@ patches: "UpdateActionModuleResponseContent", "UpdateActionResponseContent", "UpdateAculResponseContent", + "UpdateAnonymousSessions", "UpdateAttackProtectionCaptchaResponseContent", "UpdateBotDetectionSettingsResponseContent", "UpdateBrandingColors", @@ -42307,6 +42421,7 @@ patches: "emails", "event_streams", "events", + "experimentation", "flows", "forms", "groups", @@ -42317,7 +42432,6 @@ patches: "log_streams", "logs", "network_acls", - "organization_templates", "organizations", "prompts", "rate_limit_policies", @@ -42346,7 +42460,7 @@ patches: original_commit: 1e44613dc017468608983dfc1363804d02ed8fc4 original_message: Added migration guide for v5 to v6 original_author: Sourav Basu - base_generation: 687b6bdec9a1e256715830bc5a1af2fca12891c1 + base_generation: 29398c8e076021d0cce84a2ab2c4e4a2f7bff601 files: - UPGRADING.md patch_content: | @@ -42678,7 +42792,7 @@ patches: original_commit: 30b1089ae90f33c4b431b9d868edd89a6d4697ce original_message: Updated UPGRADING.md doc original_author: Sourav Basu - base_generation: 687b6bdec9a1e256715830bc5a1af2fca12891c1 + base_generation: 29398c8e076021d0cce84a2ab2c4e4a2f7bff601 files: - UPGRADING.md patch_content: | @@ -43006,19 +43120,19 @@ patches: endpoint. user_owned: true - id: patch-d6d69aeb - content_hash: sha256:b65d64186b01afaab6e31aea69046d6145404b9f6c13eeedf172600513b2c370 + content_hash: sha256:0efa9bc9e6f16dd1f574dc20b6a80a0649bbacd1b244f12c33bd5019a26aac70 original_commit: d6d69aeb98af7789afffbc697bc8fd50d7d86baa original_message: Remove duplicate FedCmLoginGooglePatch and FedCmLoginPatch entries original_author: Kunal Dawar - base_generation: 687b6bdec9a1e256715830bc5a1af2fca12891c1 + base_generation: 29398c8e076021d0cce84a2ab2c4e4a2f7bff601 files: - src/auth0/management/__init__.py patch_content: | diff --git a/src/auth0/management/__init__.py b/src/auth0/management/__init__.py - index 1723f3ca..65848f53 100644 + index d9396e43..8fe7ccdf 100644 --- a/src/auth0/management/__init__.py +++ b/src/auth0/management/__init__.py - @@ -2487,6 +2487,8 @@ if typing.TYPE_CHECKING: + @@ -2490,6 +2490,8 @@ if typing.TYPE_CHECKING: FedCmLoginGoogle, FedCmLoginGooglePatch, FedCmLoginPatch, @@ -43027,7 +43141,7 @@ patches: FlowAction, FlowActionActivecampaign, FlowActionActivecampaignListContacts, - @@ -3862,6 +3864,8 @@ if typing.TYPE_CHECKING: + @@ -3880,6 +3882,8 @@ if typing.TYPE_CHECKING: from .management_client import AsyncManagementClient, CustomDomainHeader, ManagementClient from .token_provider import AsyncTokenProvider, TokenProvider from .version import __version__ @@ -43036,7 +43150,7 @@ patches: _dynamic_imports: typing.Dict[str, str] = { "Action": ".types", "ActionBase": ".types", - @@ -4936,6 +4940,7 @@ _dynamic_imports: typing.Dict[str, str] = { + @@ -4957,6 +4961,7 @@ _dynamic_imports: typing.Dict[str, str] = { "CspReportingEndpoints": ".types", "CspReportingInfrastructure": ".types", "CustomDomain": ".types", @@ -43044,7 +43158,7 @@ patches: "CustomDomainCustomClientIpHeader": ".types", "CustomDomainCustomClientIpHeaderEnum": ".types", "CustomDomainHeader": ".management_client", - @@ -6355,6 +6360,8 @@ _dynamic_imports: typing.Dict[str, str] = { + @@ -6376,6 +6381,8 @@ _dynamic_imports: typing.Dict[str, str] = { "FedCmLoginGoogle": ".types", "FedCmLoginGooglePatch": ".types", "FedCmLoginPatch": ".types", @@ -43053,7 +43167,7 @@ patches: "FlowAction": ".types", "FlowActionActivecampaign": ".types", "FlowActionActivecampaignListContacts": ".types", - @@ -8816,6 +8823,7 @@ __all__ = [ + @@ -8855,6 +8862,7 @@ __all__ = [ "CspReportingEndpoints", "CspReportingInfrastructure", "CustomDomain", @@ -43061,7 +43175,7 @@ patches: "CustomDomainCustomClientIpHeader", "CustomDomainCustomClientIpHeaderEnum", "CustomDomainHeader", - @@ -10235,6 +10243,8 @@ __all__ = [ + @@ -10274,6 +10282,8 @@ __all__ = [ "FedCmLoginGoogle", "FedCmLoginGooglePatch", "FedCmLoginPatch", @@ -43134,9 +43248,11 @@ patches: AculOrganizationMetadata, AculRenderingModeEnum, AddOrganizationConnectionResponseContent, + AdvanceRampResponseContent, AgentMetadata, AgentResponseContent, AnomalyIpFormat, + AnonymousSessions, AppMetadata, AssessorsTypeEnum, AssociateOrganizationClientGrantResponseContent, @@ -43872,6 +43988,7 @@ patches: CreateActionModuleResponseContent, CreateActionModuleVersionResponseContent, CreateActionResponseContent, + CreateAnonymousSessions, CreateBrandingPhoneProviderResponseContent, CreateBrandingThemeResponseContent, CreateClientAuthenticationMethodSelfSignedTlsClientAuth, @@ -46155,6 +46272,7 @@ patches: GetDefaultDomainResponseContent, GetDirectoryProvisioningDefaultMappingResponseContent, GetDirectoryProvisioningResponseContent, + GetEmailFactorSettingsResponseContent, GetEmailProviderResponseContent, GetEmailTemplateResponseContent, GetEncryptionKeyResponseContent, @@ -46180,6 +46298,7 @@ patches: GetGuardianFactorsProviderSmsResponseContent, GetGuardianFactorsProviderSmsTwilioResponseContent, GetGuardianFactorsProviderSnsResponseContent, + GetGuardianSettingsResponseContent, GetHookResponseContent, GetHookSecretResponseContent, GetJobErrorResponseContent, @@ -46200,6 +46319,7 @@ patches: GetOrganizationInvitationResponseContent, GetOrganizationResponseContent, GetPartialsResponseContent, + GetPhoneFactorSettingsResponseContent, GetPhoneProviderProtectionResponseContent, GetPhoneTemplateResponseContent, GetRateLimitPolicyResponseContent, @@ -46306,7 +46426,6 @@ patches: ListOrganizationMembersPaginatedResponseContent, ListOrganizationRoleGroupsResponseContent, ListOrganizationRoleMembersResponseContent, - ListOrganizationTemplatesPaginatedResponseContent, ListOrganizationsPaginatedResponseContent, ListPhoneTemplatesResponseContent, ListRateLimitPoliciesPaginatedResponseContent, @@ -46321,7 +46440,6 @@ patches: ListSelfServiceProfileCustomTextResponseContent, ListSelfServiceProfilesPaginatedResponseContent, ListSynchronizedGroupsResponseContent, - ListTemplateOrganizationsPaginatedResponseContent, ListTokenExchangeProfileResponseContent, ListUserAttributeProfileTemplateResponseContent, ListUserAttributeProfilesPaginatedResponseContent, @@ -46448,9 +46566,9 @@ patches: OrganizationMemberEffectiveRoleSource, OrganizationMemberRole, OrganizationMetadata, + OrganizationSortFieldEnum, OrganizationTemplate, OrganizationTemplateAllowedStrategyEnum, - OrganizationTemplateAssignedOrganization, OrganizationTemplateRoleVisibilityEnum, OrganizationTemplateRoleVisibilityOverride, OrganizationTemplateRoleVisibilityPolicy, @@ -46532,7 +46650,11 @@ patches: ResourceServerProofOfPossessionMechanismEnum, ResourceServerProofOfPossessionRequiredForEnum, ResourceServerScope, + ResourceServerSearchResponse, + ResourceServerSortFieldEnum, ResourceServerSubjectTypeAuthorization, + ResourceServerSubjectTypeAuthorizationAnonymousUser, + ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum, ResourceServerSubjectTypeAuthorizationClient, ResourceServerSubjectTypeAuthorizationClientPolicyEnum, ResourceServerSubjectTypeAuthorizationUser, @@ -46563,6 +46685,10 @@ patches: ScimTokenItem, ScreenGroupNameEnum, SearchEngineVersionsEnum, + SearchOrganization, + SearchOrganizationsPaginatedResponseContent, + SearchParserEnum, + SearchResourceServersResponseContent, SelfServiceProfile, SelfServiceProfileAllowedStrategyEnum, SelfServiceProfileBranding, @@ -46599,6 +46725,7 @@ patches: SessionMetadata, SessionResponseContent, SetCustomSigningKeysResponseContent, + SetEmailFactorSettingsResponseContent, SetEmailTemplateResponseContent, SetGuardianFactorDuoSettingsResponseContent, SetGuardianFactorPhoneMessageTypesResponseContent, @@ -46616,8 +46743,10 @@ patches: SetGuardianFactorsProviderSmsTwilioResponseContent, SetGuardianPoliciesRequestContent, SetGuardianPoliciesResponseContent, + SetGuardianSettingsResponseContent, SetNetworkAclsResponseContent, SetPartialsRequestContent, + SetPhoneFactorSettingsResponseContent, SetRulesConfigResponseContent, SetSelfServiceProfileCustomTextRequestContent, SetSelfServiceProfileCustomTextResponseContent, @@ -46659,6 +46788,7 @@ patches: TenantSettingsPasswordPage, TenantSettingsResourceParameterProfile, TenantSettingsSessions, + TenantSettingsSessionsAnonymous, TenantSettingsSupportedLocalesEnum, TestActionPayload, TestActionResponseContent, @@ -46687,6 +46817,7 @@ patches: UpdateActionModuleResponseContent, UpdateActionResponseContent, UpdateAculResponseContent, + UpdateAnonymousSessions, UpdateAttackProtectionCaptchaResponseContent, UpdateBotDetectionSettingsResponseContent, UpdateBrandingColors, @@ -46872,6 +47003,7 @@ patches: ConflictError, ContentTooLargeError, ForbiddenError, + GatewayTimeoutError, GoneError, InternalServerError, NotFoundError, @@ -46898,6 +47030,7 @@ patches: emails, event_streams, events, + experimentation, flows, forms, groups, @@ -46908,7 +47041,6 @@ patches: log_streams, logs, network_acls, - organization_templates, organizations, prompts, rate_limit_policies, @@ -46994,9 +47126,11 @@ patches: "AculOrganizationMetadata": ".types", "AculRenderingModeEnum": ".types", "AddOrganizationConnectionResponseContent": ".types", + "AdvanceRampResponseContent": ".types", "AgentMetadata": ".types", "AgentResponseContent": ".types", "AnomalyIpFormat": ".types", + "AnonymousSessions": ".types", "AppMetadata": ".types", "AssessorsTypeEnum": ".types", "AssociateOrganizationClientGrantResponseContent": ".types", @@ -47740,6 +47874,7 @@ patches: "CreateActionModuleResponseContent": ".types", "CreateActionModuleVersionResponseContent": ".types", "CreateActionResponseContent": ".types", + "CreateAnonymousSessions": ".types", "CreateBrandingPhoneProviderResponseContent": ".types", "CreateBrandingThemeResponseContent": ".types", "CreateClientAuthenticationMethodSelfSignedTlsClientAuth": ".types", @@ -49995,6 +50130,7 @@ patches: "FormWidgetTypeGMapsAddressConst": ".types", "FormWidgetTypeRecaptchaConst": ".types", "FormsRequestParametersHydrateEnum": ".types", + "GatewayTimeoutError": ".errors", "GetActionExecutionResponseContent": ".types", "GetActionModuleActionsResponseContent": ".types", "GetActionModuleResponseContent": ".types", @@ -50029,6 +50165,7 @@ patches: "GetDefaultDomainResponseContent": ".types", "GetDirectoryProvisioningDefaultMappingResponseContent": ".types", "GetDirectoryProvisioningResponseContent": ".types", + "GetEmailFactorSettingsResponseContent": ".types", "GetEmailProviderResponseContent": ".types", "GetEmailTemplateResponseContent": ".types", "GetEncryptionKeyResponseContent": ".types", @@ -50054,6 +50191,7 @@ patches: "GetGuardianFactorsProviderSmsResponseContent": ".types", "GetGuardianFactorsProviderSmsTwilioResponseContent": ".types", "GetGuardianFactorsProviderSnsResponseContent": ".types", + "GetGuardianSettingsResponseContent": ".types", "GetHookResponseContent": ".types", "GetHookSecretResponseContent": ".types", "GetJobErrorResponseContent": ".types", @@ -50074,6 +50212,7 @@ patches: "GetOrganizationInvitationResponseContent": ".types", "GetOrganizationResponseContent": ".types", "GetPartialsResponseContent": ".types", + "GetPhoneFactorSettingsResponseContent": ".types", "GetPhoneProviderProtectionResponseContent": ".types", "GetPhoneTemplateResponseContent": ".types", "GetRateLimitPolicyResponseContent": ".types", @@ -50182,7 +50321,6 @@ patches: "ListOrganizationMembersPaginatedResponseContent": ".types", "ListOrganizationRoleGroupsResponseContent": ".types", "ListOrganizationRoleMembersResponseContent": ".types", - "ListOrganizationTemplatesPaginatedResponseContent": ".types", "ListOrganizationsPaginatedResponseContent": ".types", "ListPhoneTemplatesResponseContent": ".types", "ListRateLimitPoliciesPaginatedResponseContent": ".types", @@ -50197,7 +50335,6 @@ patches: "ListSelfServiceProfileCustomTextResponseContent": ".types", "ListSelfServiceProfilesPaginatedResponseContent": ".types", "ListSynchronizedGroupsResponseContent": ".types", - "ListTemplateOrganizationsPaginatedResponseContent": ".types", "ListTokenExchangeProfileResponseContent": ".types", "ListUserAttributeProfileTemplateResponseContent": ".types", "ListUserAttributeProfilesPaginatedResponseContent": ".types", @@ -50326,9 +50463,9 @@ patches: "OrganizationMemberEffectiveRoleSource": ".types", "OrganizationMemberRole": ".types", "OrganizationMetadata": ".types", + "OrganizationSortFieldEnum": ".types", "OrganizationTemplate": ".types", "OrganizationTemplateAllowedStrategyEnum": ".types", - "OrganizationTemplateAssignedOrganization": ".types", "OrganizationTemplateRoleVisibilityEnum": ".types", "OrganizationTemplateRoleVisibilityOverride": ".types", "OrganizationTemplateRoleVisibilityPolicy": ".types", @@ -50412,7 +50549,11 @@ patches: "ResourceServerProofOfPossessionMechanismEnum": ".types", "ResourceServerProofOfPossessionRequiredForEnum": ".types", "ResourceServerScope": ".types", + "ResourceServerSearchResponse": ".types", + "ResourceServerSortFieldEnum": ".types", "ResourceServerSubjectTypeAuthorization": ".types", + "ResourceServerSubjectTypeAuthorizationAnonymousUser": ".types", + "ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum": ".types", "ResourceServerSubjectTypeAuthorizationClient": ".types", "ResourceServerSubjectTypeAuthorizationClientPolicyEnum": ".types", "ResourceServerSubjectTypeAuthorizationUser": ".types", @@ -50443,6 +50584,10 @@ patches: "ScimTokenItem": ".types", "ScreenGroupNameEnum": ".types", "SearchEngineVersionsEnum": ".types", + "SearchOrganization": ".types", + "SearchOrganizationsPaginatedResponseContent": ".types", + "SearchParserEnum": ".types", + "SearchResourceServersResponseContent": ".types", "SelfServiceProfile": ".types", "SelfServiceProfileAllowedStrategyEnum": ".types", "SelfServiceProfileBranding": ".types", @@ -50480,6 +50625,7 @@ patches: "SessionMetadata": ".types", "SessionResponseContent": ".types", "SetCustomSigningKeysResponseContent": ".types", + "SetEmailFactorSettingsResponseContent": ".types", "SetEmailTemplateResponseContent": ".types", "SetGuardianFactorDuoSettingsResponseContent": ".types", "SetGuardianFactorPhoneMessageTypesResponseContent": ".types", @@ -50497,8 +50643,10 @@ patches: "SetGuardianFactorsProviderSmsTwilioResponseContent": ".types", "SetGuardianPoliciesRequestContent": ".types", "SetGuardianPoliciesResponseContent": ".types", + "SetGuardianSettingsResponseContent": ".types", "SetNetworkAclsResponseContent": ".types", "SetPartialsRequestContent": ".types", + "SetPhoneFactorSettingsResponseContent": ".types", "SetRulesConfigResponseContent": ".types", "SetSelfServiceProfileCustomTextRequestContent": ".types", "SetSelfServiceProfileCustomTextResponseContent": ".types", @@ -50540,6 +50688,7 @@ patches: "TenantSettingsPasswordPage": ".types", "TenantSettingsResourceParameterProfile": ".types", "TenantSettingsSessions": ".types", + "TenantSettingsSessionsAnonymous": ".types", "TenantSettingsSupportedLocalesEnum": ".types", "TestActionPayload": ".types", "TestActionResponseContent": ".types", @@ -50572,6 +50721,7 @@ patches: "UpdateActionModuleResponseContent": ".types", "UpdateActionResponseContent": ".types", "UpdateAculResponseContent": ".types", + "UpdateAnonymousSessions": ".types", "UpdateAttackProtectionCaptchaResponseContent": ".types", "UpdateBotDetectionSettingsResponseContent": ".types", "UpdateBrandingColors": ".types", @@ -50767,6 +50917,7 @@ patches: "emails": ".emails", "event_streams": ".event_streams", "events": ".events", + "experimentation": ".experimentation", "flows": ".flows", "forms": ".forms", "groups": ".groups", @@ -50777,7 +50928,6 @@ patches: "log_streams": ".log_streams", "logs": ".logs", "network_acls": ".network_acls", - "organization_templates": ".organization_templates", "organizations": ".organizations", "prompts": ".prompts", "rate_limit_policies": ".rate_limit_policies", @@ -50877,9 +51027,11 @@ patches: "AculOrganizationMetadata", "AculRenderingModeEnum", "AddOrganizationConnectionResponseContent", + "AdvanceRampResponseContent", "AgentMetadata", "AgentResponseContent", "AnomalyIpFormat", + "AnonymousSessions", "AppMetadata", "AssessorsTypeEnum", "AssociateOrganizationClientGrantResponseContent", @@ -51623,6 +51775,7 @@ patches: "CreateActionModuleResponseContent", "CreateActionModuleVersionResponseContent", "CreateActionResponseContent", + "CreateAnonymousSessions", "CreateBrandingPhoneProviderResponseContent", "CreateBrandingThemeResponseContent", "CreateClientAuthenticationMethodSelfSignedTlsClientAuth", @@ -53878,6 +54031,7 @@ patches: "FormWidgetTypeGMapsAddressConst", "FormWidgetTypeRecaptchaConst", "FormsRequestParametersHydrateEnum", + "GatewayTimeoutError", "GetActionExecutionResponseContent", "GetActionModuleActionsResponseContent", "GetActionModuleResponseContent", @@ -53912,6 +54066,7 @@ patches: "GetDefaultDomainResponseContent", "GetDirectoryProvisioningDefaultMappingResponseContent", "GetDirectoryProvisioningResponseContent", + "GetEmailFactorSettingsResponseContent", "GetEmailProviderResponseContent", "GetEmailTemplateResponseContent", "GetEncryptionKeyResponseContent", @@ -53937,6 +54092,7 @@ patches: "GetGuardianFactorsProviderSmsResponseContent", "GetGuardianFactorsProviderSmsTwilioResponseContent", "GetGuardianFactorsProviderSnsResponseContent", + "GetGuardianSettingsResponseContent", "GetHookResponseContent", "GetHookSecretResponseContent", "GetJobErrorResponseContent", @@ -53957,6 +54113,7 @@ patches: "GetOrganizationInvitationResponseContent", "GetOrganizationResponseContent", "GetPartialsResponseContent", + "GetPhoneFactorSettingsResponseContent", "GetPhoneProviderProtectionResponseContent", "GetPhoneTemplateResponseContent", "GetRateLimitPolicyResponseContent", @@ -54065,7 +54222,6 @@ patches: "ListOrganizationMembersPaginatedResponseContent", "ListOrganizationRoleGroupsResponseContent", "ListOrganizationRoleMembersResponseContent", - "ListOrganizationTemplatesPaginatedResponseContent", "ListOrganizationsPaginatedResponseContent", "ListPhoneTemplatesResponseContent", "ListRateLimitPoliciesPaginatedResponseContent", @@ -54080,7 +54236,6 @@ patches: "ListSelfServiceProfileCustomTextResponseContent", "ListSelfServiceProfilesPaginatedResponseContent", "ListSynchronizedGroupsResponseContent", - "ListTemplateOrganizationsPaginatedResponseContent", "ListTokenExchangeProfileResponseContent", "ListUserAttributeProfileTemplateResponseContent", "ListUserAttributeProfilesPaginatedResponseContent", @@ -54209,9 +54364,9 @@ patches: "OrganizationMemberEffectiveRoleSource", "OrganizationMemberRole", "OrganizationMetadata", + "OrganizationSortFieldEnum", "OrganizationTemplate", "OrganizationTemplateAllowedStrategyEnum", - "OrganizationTemplateAssignedOrganization", "OrganizationTemplateRoleVisibilityEnum", "OrganizationTemplateRoleVisibilityOverride", "OrganizationTemplateRoleVisibilityPolicy", @@ -54295,7 +54450,11 @@ patches: "ResourceServerProofOfPossessionMechanismEnum", "ResourceServerProofOfPossessionRequiredForEnum", "ResourceServerScope", + "ResourceServerSearchResponse", + "ResourceServerSortFieldEnum", "ResourceServerSubjectTypeAuthorization", + "ResourceServerSubjectTypeAuthorizationAnonymousUser", + "ResourceServerSubjectTypeAuthorizationAnonymousUserPolicyEnum", "ResourceServerSubjectTypeAuthorizationClient", "ResourceServerSubjectTypeAuthorizationClientPolicyEnum", "ResourceServerSubjectTypeAuthorizationUser", @@ -54326,6 +54485,10 @@ patches: "ScimTokenItem", "ScreenGroupNameEnum", "SearchEngineVersionsEnum", + "SearchOrganization", + "SearchOrganizationsPaginatedResponseContent", + "SearchParserEnum", + "SearchResourceServersResponseContent", "SelfServiceProfile", "SelfServiceProfileAllowedStrategyEnum", "SelfServiceProfileBranding", @@ -54363,6 +54526,7 @@ patches: "SessionMetadata", "SessionResponseContent", "SetCustomSigningKeysResponseContent", + "SetEmailFactorSettingsResponseContent", "SetEmailTemplateResponseContent", "SetGuardianFactorDuoSettingsResponseContent", "SetGuardianFactorPhoneMessageTypesResponseContent", @@ -54380,8 +54544,10 @@ patches: "SetGuardianFactorsProviderSmsTwilioResponseContent", "SetGuardianPoliciesRequestContent", "SetGuardianPoliciesResponseContent", + "SetGuardianSettingsResponseContent", "SetNetworkAclsResponseContent", "SetPartialsRequestContent", + "SetPhoneFactorSettingsResponseContent", "SetRulesConfigResponseContent", "SetSelfServiceProfileCustomTextRequestContent", "SetSelfServiceProfileCustomTextResponseContent", @@ -54423,6 +54589,7 @@ patches: "TenantSettingsPasswordPage", "TenantSettingsResourceParameterProfile", "TenantSettingsSessions", + "TenantSettingsSessionsAnonymous", "TenantSettingsSupportedLocalesEnum", "TestActionPayload", "TestActionResponseContent", @@ -54455,6 +54622,7 @@ patches: "UpdateActionModuleResponseContent", "UpdateActionResponseContent", "UpdateAculResponseContent", + "UpdateAnonymousSessions", "UpdateAttackProtectionCaptchaResponseContent", "UpdateBotDetectionSettingsResponseContent", "UpdateBrandingColors", @@ -54650,6 +54818,7 @@ patches: "emails", "event_streams", "events", + "experimentation", "flows", "forms", "groups", @@ -54660,7 +54829,6 @@ patches: "log_streams", "logs", "network_acls", - "organization_templates", "organizations", "prompts", "rate_limit_policies", diff --git a/UPGRADING.md b/UPGRADING.md new file mode 100644 index 00000000..ed653dbf --- /dev/null +++ b/UPGRADING.md @@ -0,0 +1,157 @@ +# v6 Migration Guide + +A guide to migrating the Auth0 Python SDK from v5 to v6. + +- [Overall changes](#overall-changes) +- [Breaking changes](#breaking-changes) + - [Federated connections tokensets removed](#federated-connections-tokensets-removed) + - [`federated_connections_access_tokens` field removed](#federated_connections_access_tokens-field-removed) + - [`read:federated_connections_tokens` / `delete:federated_connections_tokens` scopes removed](#readfederated_connections_tokens--deletefederated_connections_tokens-scopes-removed) + - [`ClientSessionTransferDelegationDeviceBindingEnum` narrowed](#clientsessiontransferdelegationdevicebindingenum-narrowed) + - [`ConnectionAttributeIdentifier` split into three types](#connectionattributeidentifier-split-into-three-types) + - [`PhoneProviderProtectionBackoffStrategyEnum` value renamed](#phoneproviderprotectionbackoffstrategyenum-value-renamed) + - [`ListRolesOffsetPaginatedResponseContent` pagination fields now required](#listrolesoffsetpaginatedresponsecontent-pagination-fields-now-required) + +## Overall changes + +v6 removes one deprecated Management API surface (federated connections +tokensets) and tightens a handful of generated types to match the current +Auth0 Management API contract. Most applications will only be affected if +they use the specific types or endpoints listed below. + +The Authentication API is not affected by this release. + +## Breaking changes + +### Federated connections tokensets removed + +The `users.federated_connections_tokensets` sub-client and its `list`/`delete` +methods have been removed, along with the `FederatedConnectionTokenSet` and +`ConnectionFederatedConnectionsAccessTokens` types. This endpoint is no longer +part of the Auth0 Management API. + +```python +# v5 +client.users.federated_connections_tokensets.list(id="user_id") +client.users.federated_connections_tokensets.delete(id="user_id", tokenset_id="tokenset_id") +``` + +```python +# v6 +# No replacement — the endpoint has been removed from the Management API. +``` + +If you depend on this functionality, do not upgrade until you have confirmed +an alternative with Auth0 support. + +### `federated_connections_access_tokens` field removed + +The optional `federated_connections_access_tokens` field has been removed +from: + +- `ConnectionOptionsAzureAd` +- `ConnectionOptionsCommonOidc` +- `ConnectionOptionsGoogleApps` +- `ConnectionPropertiesOptions` +- `UpdateConnectionOptions` + +Any code reading or setting this field on the above types will need to +remove that usage. Note that these models are configured with +`extra="allow"`, so passing `federated_connections_access_tokens` is **not** +silently dropped — it is retained on the model and still serialized into the +outbound request. Remove the field explicitly rather than relying on the SDK +to strip it. + +### `read:federated_connections_tokens` / `delete:federated_connections_tokens` scopes removed + +These two values are no longer valid members of `OauthScope`. Remove any +references to them when requesting or checking scopes. + +### `ClientSessionTransferDelegationDeviceBindingEnum` narrowed + +The `"asn"` literal value has been removed. The enum now only accepts `"ip"`: + +```python +# v5 +ClientSessionTransferDelegationDeviceBindingEnum = typing.Union[typing.Literal["ip", "asn"], typing.Any] +``` + +```python +# v6 +ClientSessionTransferDelegationDeviceBindingEnum = typing.Union[typing.Literal["ip"], typing.Any] +``` + +If you were setting this value to `"asn"`, update it to `"ip"` — this matches +the current Management API's accepted values. + +### `ConnectionAttributeIdentifier` split into three types + +`ConnectionAttributeIdentifier` has been removed with no compatibility alias. +It is replaced by three narrower types, one per attribute: + +| Attribute field | v5 type | v6 type | Shape | +| --- | --- | --- | --- | +| `EmailAttribute.identifier` | `ConnectionAttributeIdentifier` | `EmailAttributeIdentifier` | `{active?, default_method?: DefaultMethodEmailIdentifierEnum}` | +| `PhoneAttribute.identifier` | `ConnectionAttributeIdentifier` | `PhoneAttributeIdentifier` | `{active?, default_method?: DefaultMethodPhoneNumberIdentifierEnum}` | +| `UsernameAttribute.identifier` | `ConnectionAttributeIdentifier` | `UsernameAttributeIdentifier` | `{active?}` (no `default_method`) | + +```python +# v5 +from auth0.management.types import ConnectionAttributeIdentifier + +identifier = ConnectionAttributeIdentifier(active=True, default_method="email_otp") +``` + +```python +# v6 +from auth0.management.types import EmailAttributeIdentifier + +identifier = EmailAttributeIdentifier(active=True, default_method="email_otp") +``` + +`EmailAttributeIdentifier` has the same shape as the old +`ConnectionAttributeIdentifier` and is a drop-in replacement for code that +was only ever used with `EmailAttribute`. Code using +`ConnectionAttributeIdentifier` with `PhoneAttribute` or `UsernameAttribute` +must switch to `PhoneAttributeIdentifier` or `UsernameAttributeIdentifier` +respectively; `UsernameAttributeIdentifier` does not support +`default_method`. + +### `PhoneProviderProtectionBackoffStrategyEnum` value renamed + +The `"none"` literal has been replaced with `"default"`: + +```python +# v5 +PhoneProviderProtectionBackoffStrategyEnum = typing.Union[typing.Literal["exponential", "none"], typing.Any] +``` + +```python +# v6 +PhoneProviderProtectionBackoffStrategyEnum = typing.Union[typing.Literal["exponential", "default"], typing.Any] +``` + +Replace any use of `"none"` with `"default"`. + +### `ListRolesOffsetPaginatedResponseContent` pagination fields now required + +`start`, `limit`, and `total` are no longer optional: + +```python +# v5 +start: typing.Optional[float] = None +limit: typing.Optional[float] = None +total: typing.Optional[float] = None +``` + +```python +# v6 +start: float +limit: float +total: float +``` + +Deserializing a role-list response that is missing any of these fields now +raises `pydantic.ValidationError` instead of silently defaulting to `None`. +This matches the Management API, which always returns these fields for this +endpoint. diff --git a/src/auth0/management/__init__.py b/src/auth0/management/__init__.py index d9396e43..8fe7ccdf 100644 --- a/src/auth0/management/__init__.py +++ b/src/auth0/management/__init__.py @@ -2490,6 +2490,8 @@ FedCmLoginGoogle, FedCmLoginGooglePatch, FedCmLoginPatch, + FedCmLoginGooglePatch, + FedCmLoginPatch, FlowAction, FlowActionActivecampaign, FlowActionActivecampaignListContacts, @@ -3880,6 +3882,8 @@ from .management_client import AsyncManagementClient, CustomDomainHeader, ManagementClient from .token_provider import AsyncTokenProvider, TokenProvider from .version import __version__ + from .management_client import AsyncManagementClient, CustomDomainHeader, ManagementClient + from .token_provider import AsyncTokenProvider, TokenProvider _dynamic_imports: typing.Dict[str, str] = { "Action": ".types", "ActionBase": ".types", @@ -4957,6 +4961,7 @@ "CspReportingEndpoints": ".types", "CspReportingInfrastructure": ".types", "CustomDomain": ".types", + "CustomDomainHeader": ".management_client", "CustomDomainCustomClientIpHeader": ".types", "CustomDomainCustomClientIpHeaderEnum": ".types", "CustomDomainHeader": ".management_client", @@ -6376,6 +6381,8 @@ "FedCmLoginGoogle": ".types", "FedCmLoginGooglePatch": ".types", "FedCmLoginPatch": ".types", + "FedCmLoginGooglePatch": ".types", + "FedCmLoginPatch": ".types", "FlowAction": ".types", "FlowActionActivecampaign": ".types", "FlowActionActivecampaignListContacts": ".types", @@ -8855,6 +8862,7 @@ def __dir__(): "CspReportingEndpoints", "CspReportingInfrastructure", "CustomDomain", + "CustomDomainHeader", "CustomDomainCustomClientIpHeader", "CustomDomainCustomClientIpHeaderEnum", "CustomDomainHeader", @@ -10274,6 +10282,8 @@ def __dir__(): "FedCmLoginGoogle", "FedCmLoginGooglePatch", "FedCmLoginPatch", + "FedCmLoginGooglePatch", + "FedCmLoginPatch", "FlowAction", "FlowActionActivecampaign", "FlowActionActivecampaignListContacts", diff --git a/src/auth0/management/core/client_wrapper.py b/src/auth0/management/core/client_wrapper.py index abce2c81..53265612 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 From c0dd233d54e7696a349f3deefd9cabef976f64d4 Mon Sep 17 00:00:00 2001 From: Kunal Dawar Date: Fri, 11 Sep 2026 10:52:56 +0530 Subject: [PATCH 3/3] [fern-replay] Resolved conflicts Patches replayed: - patch-4894603d: chore: Restore custom wiring in management/__init__.py - patch-7271f157: Revert wrapper file to preserve Auth0 telemetry customizations - patch-c04f0b4d: Fix for incorrect return type and missing __all__ type - patch-95211006: Restore Auth0 telemetry and custom client wiring after regeneration - patch-f7384913: Remove duplicate FedCmLoginGooglePatch and FedCmLoginPatch entries - patch-1e44613d: Added migration guide for v5 to v6 - patch-30b1089a: Updated UPGRADING.md doc - patch-d6d69aeb: Remove duplicate FedCmLoginGooglePatch and FedCmLoginPatch entries --- .fern/replay.lock | 6 +++--- src/auth0/management/__init__.py | 10 ---------- src/auth0/management/core/client_wrapper.py | 11 +++++++++++ 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/.fern/replay.lock b/.fern/replay.lock index 99f839c1..a39c3661 100644 --- a/.fern/replay.lock +++ b/.fern/replay.lock @@ -8844,7 +8844,7 @@ patches: "verifiable_credentials", ] user_owned: true - status: unresolved + status: resolving - id: patch-7271f157 content_hash: sha256:cd98dd1948587cf3396a2eacf46626176784bd00996eb660374161bfef686e93 original_commit: 7271f15759cfb545c9ef82b5a4f519ffe0a89db2 @@ -9025,7 +9025,7 @@ patches: token = await self._async_token() headers["Authorization"] = f"Bearer {token}" return headers - status: unresolved + status: resolving - id: patch-c04f0b4d content_hash: sha256:0efa9bc9e6f16dd1f574dc20b6a80a0649bbacd1b244f12c33bd5019a26aac70 original_commit: c04f0b4dbbe8f2300f4f1bf42f62350888a92da5 @@ -30721,7 +30721,7 @@ patches: headers["Authorization"] = f"Bearer {token}" return headers user_owned: true - status: unresolved + status: resolving - id: patch-f7384913 content_hash: sha256:0efa9bc9e6f16dd1f574dc20b6a80a0649bbacd1b244f12c33bd5019a26aac70 original_commit: f7384913ab0a14df83dbc602d2b694e2cb7b7668 diff --git a/src/auth0/management/__init__.py b/src/auth0/management/__init__.py index 8fe7ccdf..d9396e43 100644 --- a/src/auth0/management/__init__.py +++ b/src/auth0/management/__init__.py @@ -2490,8 +2490,6 @@ FedCmLoginGoogle, FedCmLoginGooglePatch, FedCmLoginPatch, - FedCmLoginGooglePatch, - FedCmLoginPatch, FlowAction, FlowActionActivecampaign, FlowActionActivecampaignListContacts, @@ -3882,8 +3880,6 @@ from .management_client import AsyncManagementClient, CustomDomainHeader, ManagementClient from .token_provider import AsyncTokenProvider, TokenProvider from .version import __version__ - from .management_client import AsyncManagementClient, CustomDomainHeader, ManagementClient - from .token_provider import AsyncTokenProvider, TokenProvider _dynamic_imports: typing.Dict[str, str] = { "Action": ".types", "ActionBase": ".types", @@ -4961,7 +4957,6 @@ "CspReportingEndpoints": ".types", "CspReportingInfrastructure": ".types", "CustomDomain": ".types", - "CustomDomainHeader": ".management_client", "CustomDomainCustomClientIpHeader": ".types", "CustomDomainCustomClientIpHeaderEnum": ".types", "CustomDomainHeader": ".management_client", @@ -6381,8 +6376,6 @@ "FedCmLoginGoogle": ".types", "FedCmLoginGooglePatch": ".types", "FedCmLoginPatch": ".types", - "FedCmLoginGooglePatch": ".types", - "FedCmLoginPatch": ".types", "FlowAction": ".types", "FlowActionActivecampaign": ".types", "FlowActionActivecampaignListContacts": ".types", @@ -8862,7 +8855,6 @@ def __dir__(): "CspReportingEndpoints", "CspReportingInfrastructure", "CustomDomain", - "CustomDomainHeader", "CustomDomainCustomClientIpHeader", "CustomDomainCustomClientIpHeaderEnum", "CustomDomainHeader", @@ -10282,8 +10274,6 @@ def __dir__(): "FedCmLoginGoogle", "FedCmLoginGooglePatch", "FedCmLoginPatch", - "FedCmLoginGooglePatch", - "FedCmLoginPatch", "FlowAction", "FlowActionActivecampaign", "FlowActionActivecampaignListContacts", diff --git a/src/auth0/management/core/client_wrapper.py b/src/auth0/management/core/client_wrapper.py index 53265612..fd991f52 100644 --- a/src/auth0/management/core/client_wrapper.py +++ b/src/auth0/management/core/client_wrapper.py @@ -35,7 +35,18 @@ def __init__( 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()}"