Repository navigation
feat!: add client profiles, captcha policies, client search, and dynamic CIMD settings - #898
Merged
Merged
Conversation
fern-api
Bot
force-pushed
the
fern-bot/2026-10-13_05-52-23_527
branch
from
October 13, 2026 10:25
526ce13 to
a401a80
Compare
Generated by Fern CLI Version: unknown Generators: - fernapi/fern-python-sdk: 5.26.0
fern-api
Bot
force-pushed
the
fern-bot/2026-10-13_05-52-23_527
branch
from
October 14, 2026 10:04
a401a80 to
ad252ea
Compare
6 tasks
- Restores the Auth0 telemetry headers in the base client wrapper, which were missing from the #898 branch. - `User-Agent` is set to `Python/<version>`. - `Auth0-Client` carries a base64-encoded JSON payload with the SDK name, the SDK version (read from the package at runtime), and the Python version. - Custom headers passed to the client are still merged in, and the `Authorization` header is still set last. - Adds `UPGRADING.md` to `.fernignore` so the v6 migration guide is kept in the repository. - Restores `UPGRADING.md` from master
1 of 6 tasks
### Changes - Adds the nine resource properties that the generated Auth0 client exposes but `ManagementClient` and `AsyncManagementClient` did not: `agents`, `client_profiles`, `connection_profiles`, `events`, `experimentation`, `groups`, `rate_limit_policies`, `risk_assessments`, and `user_attribute_profiles`. Each returns the matching typed sub-client. - Before this change, calls such as `client.agents.list()` raised `AttributeError` on the wrapper, even though the generated client had the resource. - Adds tests that compare the public properties of `Auth0` with `ManagementClient`, and of `AsyncAuth0` with `AsyncManagementClient`. A resource added to the generated client without a matching wrapper property now fails the test suite. ### References - #898 ### Testing Covered by unit tests in `tests/management`. The new drift tests fail when a wrapper property is missing. - [x] This change adds unit test coverage - [ ] This change adds integration test coverage - [ ] This change has been tested on the latest version of the platform/language or why not ### Checklist - [ ] I have read the [Auth0 general contribution guidelines](https://github.com/auth0/open-source-template/blob/master/GENERAL-CONTRIBUTING.md) - [ ] I have read the [Auth0 Code of Conduct](https://github.com/auth0/open-source-template/blob/master/CODE-OF-CONDUCT.md) - [ ] All existing and new tests complete without errors
Merged
rmad17
added a commit
that referenced
this pull request
Oct 14, 2026
⚠️ **Breaking Changes** - `management.experimentation.experiments.update_status()` and `management.experimentation.feature_flags.update_status()` removed along with `UpdateExperimentStatusResponseContent` and `UpdateFeatureFlagStatusResponseContent`. Set status through `update(id, status=...)` instead. `SearchOrganization.metadata` removed. `ConnectionResponseCommon` no longer extends `CreateConnectionCommon` and requires `display_name`, though no endpoint returns this model. Feature flag `variations.delete()` no longer maps HTTP 400 to `BadRequestError`, so a 400 raises the base `ApiError` [\#898](#898) ([fern-api[bot]](https://github.com/apps/fern-api)) **Added** - Client profiles (`management.client_profiles`), CAPTCHA policies (`management.attack_protection.captcha_policies`), client and client grant search (`management.clients.search()`, `management.client_grants.search()`), and dynamic CIMD registration in tenant settings with per-client metadata status. Client `enforce_anon_session_transfer_network_binding` setting, `oidc_support` on `clients.update()`, tenant `dpop_strict_refresh_token_binding` setting, brute force protection `form_submission_mode`, `status` on experiments, feature flags, and segments, Google Workspace provisioning and directory sync on connection profiles, organization member access level on organization connection events, and the passkey Guardian factor [\#898](#898) ([fern-api[bot]](https://github.com/apps/fern-api)) **Changed** - `management.clients.register_cimd_client()` raises `ConflictError` on HTTP 409 instead of `ApiError`. `ConflictError` subclasses `ApiError`, so existing handlers still catch it. Role `owner_id` filter and response fields are typed as `RoleOwnerIdFilter` and `RoleOwnerId` string aliases. `a0stream` is now optional on connection, group, organization, and user cloud event types [\#898](#898) ([fern-api[bot]](https://github.com/apps/fern-api)) **Fixed** - `ManagementClient` and `AsyncManagementClient` now expose `agents`, `client_profiles`, `connection_profiles`, `events`, `experimentation`, `groups`, `rate_limit_policies`, `risk_assessments`, and `user_attribute_profiles`, which previously raised `AttributeError` [\#901](#901) ([developerkunal](https://github.com/developerkunal))
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds client profiles, CAPTCHA policies, client and client grant search, and dynamic CIMD support to the Management API client, and exposes every generated resource on
ManagementClient.Breaking Changes⚠️
The breaking changes are limited to the experimentation APIs, one field on organization search results, a connection model that no endpoint returns, and one error mapping.
experiments.update_status()andfeature_flags.update_status()are removed. A separate status endpoint is no longer needed, because the status is now set through the update request:client.experimentation.experiments.update(id, status=...)andclient.experimentation.feature_flags.update(id, status=...).metadatafield is removed.CreateConnectionCommon, anddisplay_nameis required. No endpoint returns this model, so no client call is affected.variations.delete()no longer maps HTTP 400 toBadRequestError, so a 400 raises the baseApiError. Code that catchesApiErroris unaffected.Added
ManagementClient: every Management API resource is now available on the client, includingagents,client_profiles,connection_profiles,events,experimentation,groups,rate_limit_policies,risk_assessments, anduser_attribute_profiles.client.client_profiles.client.attack_protection.captcha_policies.client.clients.search()andclient.client_grants.search(), with pagination and sorting.enforce_anon_session_transfer_network_bindingandoidc_supportdpop_strict_refresh_token_bindingform_submission_modestatusChanged
client.clients.register_cimd_client()raisesConflictErroron HTTP 409 instead ofApiError.ConflictErrorsubclassesApiError, so existing handlers still catch it.owner_idon theroles.list()filter is typed asRoleOwnerIdFilter, andowner_idon the role response types asRoleOwnerId, withSystemRoleOwnerIdadded. All three are string aliases, so existing code is unaffected.a0streamis now optional on the connection, group, organization, and user cloud event types. It is omitted when events are retrieved through the Events API.Removed
experiments.update_status()andUpdateExperimentStatusResponseContent. Useexperiments.update(id, status=...).feature_flags.update_status()andUpdateFeatureFlagStatusResponseContent. Usefeature_flags.update(id, status=...).SearchOrganization.metadata.