Skip to content

Expose all generated resources on ManagementClient - #901

Merged
developerkunal merged 2 commits into
fern-bot/2026-10-13_05-52-23_527from
fix/management-client-missing-resources
Oct 14, 2026
Merged

developerkunal merged 2 commits into
fern-bot/2026-10-13_05-52-23_527from
fix/management-client-missing-resources

Conversation

@developerkunal

Copy link
Copy Markdown
Contributor

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

Testing

Covered by unit tests in tests/management. The new drift tests fail when a wrapper property is missing.

  • 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

ManagementClient and AsyncManagementClient were missing nine resource
properties that the generated Auth0 client already has: agents,
client_profiles, connection_profiles, events, experimentation, groups,
rate_limit_policies, risk_assessments, and user_attribute_profiles.
Calls to those resources raised AttributeError on the wrapper.

Add typed properties for each one to both classes. Add tests that
compare the public properties of Auth0 with ManagementClient, and of
AsyncAuth0 with AsyncManagementClient, so a missing resource fails CI.
@developerkunal
developerkunal requested a review from a team as a code owner October 14, 2026 10:28
Add a header comment to management_client.py describing how to keep it in step with the generated client. The drift test failure message now says what to add and where.
@developerkunal
developerkunal merged commit 7b2d1c4 into fern-bot/2026-10-13_05-52-23_527 Oct 14, 2026
7 checks passed
@developerkunal
developerkunal deleted the fix/management-client-missing-resources branch October 14, 2026 10:41
@rmad17 rmad17 mentioned this pull request Oct 14, 2026
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))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant