Skip to content

mgmt: add SSE Events streaming API, refresh token bulk revocation, and branding identifiers#995

Merged
kailash-b merged 4 commits into
masterfrom
fern-bot/2026-04-29_15-15-55_805
Apr 30, 2026
Merged

mgmt: add SSE Events streaming API, refresh token bulk revocation, and branding identifiers#995
kailash-b merged 4 commits into
masterfrom
fern-bot/2026-04-29_15-15-55_805

Conversation

@fern-api
Copy link
Copy Markdown
Contributor

@fern-api fern-api Bot commented Apr 29, 2026

Changes

New Features

Server-Sent Events (SSE) Streaming API

  • Added IEventsClient and EventsClient with SubscribeAsync method that returns IAsyncEnumerable<EventStreamSubscribeEventsResponseContent> for real-time event consumption
  • Uses SseParser.Create() and EnumerateAsync() for efficient SSE stream parsing
  • Supports cursor-based resumption for reliable event delivery
  • Handles error responses: 400, 401, 403, 404, 410 (Gone), 429 (Rate Limit)
  • Full CloudEvent type hierarchy: EventStreamSubscribeEventsEvent with typed variants for user, client, connection, API, organization, and other entity lifecycle events

GoneError (HTTP 410)

  • New GoneError exception class for expired stream cursors, extending ManagementApiException

Refresh Token Bulk Revocation

  • Added RevokeAsync method to RefreshTokensClient for bulk token revocation
  • RevokeRefreshTokensRequestContent supports filtering by Ids, UserId, and ClientId

Branding Identifiers

  • Added BrandingIdentifiers with LoginDisplay, OtpAutocomplete, and PhoneDisplay configuration
  • New BrandingPhoneDisplay type for phone number display formatting

Connection Assertion Decryption Settings

  • Added ConnectionAssertionDecryptionSettings for SAML assertion decryption configuration

Connection Properties Options Expansion

  • New fields on ConnectionPropertiesOptions: TokenEndpointJwtcaAudFormat, IdTokenSignedResponseAlgs, and additional configuration options

Modifications

  • ManagementApiClient now exposes Events client property
  • RefreshTokensClient gained RevokeAsync method
  • Self-Service Profiles: renamed "SSO Flow" concepts to "Enterprise Configuration" across request/response types
  • ConnectionOptionsCommonSaml expanded with assertion decryption settings

Infrastructure

  • Added explicit System.Net.ServerSentEvents and Microsoft.Bcl.AsyncInterfaces package references for non- .NET 9 targets

References

Adds support for Auth0 Management API event streaming, refresh token bulk operations, and branding configuration enhancements.

Testing

  • Verify EventsClient.SubscribeAsync returns async enumerable of typed events
  • Verify GoneError is thrown on HTTP 410 responses
  • Verify RefreshTokensClient.RevokeAsync accepts bulk revocation parameters
  • Verify branding identifiers configuration round-trips correctly

Checklist

  • All new classes follow existing SDK patterns
  • Error handling covers documented HTTP status codes
  • Public API surface uses appropriate async patterns (IAsyncEnumerable, Task)

@fern-api fern-api Bot requested a review from a team as a code owner April 29, 2026 15:16
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 29, 2026

Codecov Report

❌ Patch coverage is 1.85294% with 5032 lines in your changes missing coverage. Please review.
✅ Project coverage is 31.37%. Comparing base (efa524a) to head (6d508d0).
⚠️ Report is 5 commits behind head on master.

Files with missing lines Patch % Lines
...ventStreamCloudEventGroupMemberAddedObjectGroup.cs 0.00% 175 Missing ⚠️
...ntStreamCloudEventGroupMemberDeletedObjectGroup.cs 0.00% 175 Missing ⚠️
...entStreamCloudEventGroupRoleAssignedObjectGroup.cs 0.00% 175 Missing ⚠️
...ventStreamCloudEventGroupRoleDeletedObjectGroup.cs 0.00% 175 Missing ⚠️
...i/Types/EventStreamCloudEventGroupCreatedObject.cs 0.00% 172 Missing ⚠️
...i/Types/EventStreamCloudEventGroupDeletedObject.cs 0.00% 172 Missing ⚠️
...i/Types/EventStreamCloudEventGroupUpdatedObject.cs 0.00% 172 Missing ⚠️
...tStreamCloudEventGroupMemberDeletedObjectMember.cs 0.00% 148 Missing ⚠️
...entStreamCloudEventGroupMemberAddedObjectMember.cs 0.00% 146 Missing ⚠️
src/Auth0.ManagementApi/Events/EventsClient.cs 5.12% 74 Missing ⚠️
... and 264 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #995      +/-   ##
==========================================
- Coverage   35.38%   31.37%   -4.01%     
==========================================
  Files        2376     2699     +323     
  Lines       94958   107429   +12471     
  Branches     5447     6312     +865     
==========================================
+ Hits        33599    33704     +105     
- Misses      59597    71958   +12361     
- Partials     1762     1767       +5     
Flag Coverage Δ
authIntTests 2.97% <0.19%> (-0.39%) ⬇️
mgmtIntTests 30.10% <1.85%> (-3.85%) ⬇️
unittests 0.31% <0.00%> (-0.05%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@developerkunal developerkunal changed the title SDK regeneration feat: add SSE Events streaming API, refresh token bulk revocation, and branding identifiers Apr 29, 2026
@kailash-b kailash-b force-pushed the fern-bot/2026-04-29_15-15-55_805 branch from e42ab41 to 6d508d0 Compare April 30, 2026 05:10
@kailash-b kailash-b enabled auto-merge April 30, 2026 05:31
Copy link
Copy Markdown

@developerkunal developerkunal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kailash-b kailash-b merged commit af1d84f into master Apr 30, 2026
6 of 10 checks passed
@kailash-b kailash-b deleted the fern-bot/2026-04-29_15-15-55_805 branch April 30, 2026 05:37
@kailash-b kailash-b changed the title feat: add SSE Events streaming API, refresh token bulk revocation, and branding identifiers mgmt: add SSE Events streaming API, refresh token bulk revocation, and branding identifiers Apr 30, 2026
@kailash-b kailash-b mentioned this pull request Apr 30, 2026
github-actions Bot pushed a commit to mpaulosky/MyBlog that referenced this pull request May 5, 2026
Updated [Auth0.ManagementApi](https://github.com/auth0/auth0.net) from
8.1.0 to 8.2.0.

<details>
<summary>Release notes</summary>

_Sourced from [Auth0.ManagementApi's
releases](https://github.com/auth0/auth0.net/releases)._

## 8.2.0

**Added**
- SSE Events streaming: Added `IEventsClient` with `SubscribeAsync`
returning `IAsyncEnumerable<EventStreamSubscribeEventsResponseContent>`
for real-time event consumption with cursor-based resumption and typed
CloudEvent variants (user, client, connection, organization, etc.)
[\#​995](auth0/auth0.net#995)
([fern-api[bot]](https://github.com/apps/fern-api))
- New `GoneError` exception (HTTP 410) for expired stream cursors in SSE
event streams [\#​995](auth0/auth0.net#995)
([fern-api[bot]](https://github.com/apps/fern-api))
- Refresh token bulk revocation: Added `RefreshTokensClient.RevokeAsync`
to bulk-revoke tokens by `Ids`, `UserId`, or `ClientId`
[\#​995](auth0/auth0.net#995)
([fern-api[bot]](https://github.com/apps/fern-api))
- Branding identifiers: Added `BrandingIdentifiers` type with
`LoginDisplay`, `OtpAutocomplete`, and `PhoneDisplay` configuration
options [\#​995](auth0/auth0.net#995)
([fern-api[bot]](https://github.com/apps/fern-api))
- SAML assertion decryption: Added
`ConnectionAssertionDecryptionSettings` for configuring SAML assertion
decryption on connections
[\#​995](auth0/auth0.net#995)
([fern-api[bot]](https://github.com/apps/fern-api))
- Custom domain header forwarding: Added
`ManagementClientOptions.CustomDomain` to inject `Auth0-Custom-Header`
on allow-listed Management API endpoints via a new
`CustomDomainInterceptor`
[\#​984](auth0/auth0.net#984)
([kailash-b](https://github.com/kailash-b))
- Directory Provisioning: Added `ListSynchronizedGroupsAsync` and
`SetAsync` to `DirectoryProvisioningClient` for managing synchronized
groups on a connection
[\#​984](auth0/auth0.net#984)
([kailash-b](https://github.com/kailash-b))
- New query filters: `Strategy` on `Connections.ListAsync`, `Hydrate` on
Flows/Forms/FlowExecutions endpoints, `Search` on `Groups.ListAsync`,
`Identifiers` on `ResourceServers.ListAsync`, and `GrantIds` on
`Organizations.ClientGrants.ListAsync`
[\#​987](auth0/auth0.net#987)
([kailash-b](https://github.com/kailash-b))
- Email providers: Added `Resend` as a supported value in
`EmailProviderNameEnum`
[\#​987](auth0/auth0.net#987)
([kailash-b](https://github.com/kailash-b))
- `UpdateUserAuthenticationMethodResponseContent`: Added `Confirmed`
(`bool?`) property to indicate whether an authentication method has been
confirmed [\#​987](auth0/auth0.net#987)
([kailash-b](https://github.com/kailash-b))
- Client configuration: Added `ThirdPartySecurityMode`,
`RedirectionPolicy`, and `MyOrganizationConfiguration` properties on
Client request/response types
[\#​984](auth0/auth0.net#984)
([kailash-b](https://github.com/kailash-b))
- Client Grants: Added `DefaultFor` property and a matching `DefaultFor`
filter on `ClientGrants.ListAsync`
[\#​984](auth0/auth0.net#984)
([kailash-b](https://github.com/kailash-b))
- Tenant Settings: Added `DynamicClientRegistrationSecurityMode` and
`ClientIdMetadataDocumentSupported` on tenant settings request/response
types [\#​984](auth0/auth0.net#984)
([kailash-b](https://github.com/kailash-b))
- DPoP support on connections: Added `DpopSigningAlg` property to
`ConnectionOptionsOidc`, `ConnectionOptionsOkta`, and
`ConnectionPropertiesOptions`
[\#​984](auth0/auth0.net#984)
([kailash-b](https://github.com/kailash-b))
- Pagination metadata: `Page<TItem>` now exposes `Response`,
`StatusCode`, and `Headers` from the underlying HTTP response, populated
via `WithRawResponse()` in pager requests
[\#​976](auth0/auth0.net#976)
([fern-api[bot]](https://github.com/apps/fern-api))

**Fixed**
- `RefreshTokens.GetAsync` now correctly handles `BadRequestError` (HTTP
400) responses; previously only 401, 403, and 404 were handled
[\#​987](auth0/auth0.net#987)
([kailash-b](https://github.com/kailash-b))
- Fixed pagination page-size handling to correctly defer page size when
not specified [\#​987](auth0/auth0.net#987)
([kailash-b](https://github.com/kailash-b))
- Path parameters and query strings now use context-aware encoding
(path-segment-safe vs. query key/value character sets) to prevent
malformed URL construction
[\#​976](auth0/auth0.net#976)
([fern-api[bot]](https://github.com/apps/fern-api))

**Changed**
- Self-Service Profiles: renamed "SSO Flow" concepts to "Enterprise
Configuration" across request/response types
[\#​995](auth0/auth0.net#995)
([fern-api[bot]](https://github.com/apps/fern-api))
- Upgraded `WireMock.Net` test dependency to `2.4.0`
[\#​992](auth0/auth0.net#992)
([kailash-b](https://github.com/kailash-b))

Commits viewable in [compare
view](auth0/auth0.net@mgmt-8.1.0...mgmt-8.2.0).
</details>

Updated [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest)
from 18.5.0 to 18.5.1.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.NET.Test.Sdk's
releases](https://github.com/microsoft/vstest/releases)._

## 18.5.1

## What's Changed
* Fix System.Collections.Immutable binding mismatch in Common.dll
(rel/18.5) by @​nohwnd in microsoft/vstest#15720
* Port verify-binding-redirects.ps1 to rel/18.5 by @​nohwnd in
microsoft/vstest#15719
* Bump to 18.5.1 by @​nohwnd in
microsoft/vstest#15721


**Full Changelog**:
microsoft/vstest@v18.5.0...v18.5.1

Commits viewable in [compare
view](microsoft/vstest@v18.5.0...v18.5.1).
</details>

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mpaulosky <60372079+mpaulosky@users.noreply.github.com>
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.

2 participants