Skip to content

feat: Branding Theme Identifiers, Self-Service Third-Party Client Access, Cross-App Access & Session Actor support#906

Merged
tanya732 merged 3 commits into
masterfrom
fern-bot/2026-07-21_07-15-49_185
Jul 22, 2026
Merged

feat: Branding Theme Identifiers, Self-Service Third-Party Client Access, Cross-App Access & Session Actor support#906
tanya732 merged 3 commits into
masterfrom
fern-bot/2026-07-21_07-15-49_185

Conversation

@fern-api

@fern-api fern-api Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR regenerates the SDK to surface newly released Management API fields across Branding Themes, Self-Service Profiles, Clients, Connections, Sessions, and Attack Protection.

Branding Themes

Adds typed support for the new identifiers object on the theme body.

New fields

  • identifiers (BrandingThemeIdentifiers)
    • login_display (BrandingThemeIdentifiersLoginDisplayEnum)
      • separate
      • unified
    • otp_autocomplete (boolean)
    • phone_display (BrandingThemeIdentifiersPhoneDisplay)
      • masking (BrandingThemeIdentifiersPhoneDisplayMaskingEnum)
        • hide_country_code
        • mask_digits
        • show_all
      • formatting (BrandingThemeIdentifiersPhoneDisplayFormattingEnum)
        • international
        • regional

Affected models

  • CreateBrandingThemeRequestContent
  • UpdateBrandingThemeRequestContent
  • CreateBrandingThemeResponseContent
  • UpdateBrandingThemeResponseContent
  • GetBrandingThemeResponseContent
  • GetBrandingDefaultThemeResponseContent

Self-Service Profiles

Adds typed support for the new third_party_client_access_config object on the SSO ticket request.

New fields

  • thirdPartyClientAccessConfig (ThirdPartyClientAccessConfig)
    • allow_configuration (boolean) (required when the object is provided)

Affected models

  • CreateSelfServiceProfileSsoTicketRequestContent

Clients

Adds typed support for:

  • identityAssertionAuthorizationGrant
    • CreateIdentityAssertionAuthorizationGrant
    • UpdateIdentityAssertionAuthorizationGrant

Affected models

  • CreateClientRequestContent
  • UpdateClientRequestContent

Enum additions

  • ClientAppTypeEnum
  • ClientGrantSubjectTypeEnum

Connections

Adds typed support for Cross-App Access resource apps.

New fields

  • crossAppAccessResourceApp
    • CreateCrossAppAccessResourceApp
    • UpdateCrossAppAccessResourceApp
    • CrossAppAccessResourceApp

Enum additions

  • CrossAppAccessResourceAppStatusEnum
  • ConnectionCrossAppAccessResourceApp

Affected models

  • CreateConnectionRequestContent
  • UpdateConnectionRequestContent
  • CreateConnectionRequestContentOidc
  • UpdateConnectionRequestContentOidc
  • ConnectionResponseContentOidc
  • ConnectionForList

Sessions

Adds typed support for actor metadata (token exchange / impersonation).

New fields

  • actor
    • SessionActorMetadata
    • SessionActorClaimValue

Affected models

  • SessionResponseContent
  • GetSessionResponseContent
  • UpdateSessionResponseContent

Attack Protection

Adds a new Suspicious IP Throttling stage:

  • pre-custom-token-exchange (SuspiciousIpThrottlingPreCustomTokenExchangeStage)

Testing

Automated Testing

  • Existing wire tests pass.
  • New/updated generated wire tests cover the new fields:
    • BrandingThemesWireTest
    • ClientsWireTest
    • ConnectionsWireTest
    • SessionsWireTest
    • AttackProtectionSuspiciousIpThrottlingWireTest

Manual Testing Snippets

  • Fetch accessToken from the Auth0 dashboard or using AuthAPI
  • Create ManagementApi instance with access token
ManagementApi client = ManagementApi
    .builder()
    .url(audience)
    .token(accessToken)
    .build();

Branding Themes

Create a theme with identifiers

Endpoint

POST /api/v2/branding/themes
BrandingThemeIdentifiers identifiers = BrandingThemeIdentifiers.builder()
    .loginDisplay(BrandingThemeIdentifiersLoginDisplayEnum.UNIFIED)
    .otpAutocomplete(true)
    .phoneDisplay(BrandingThemeIdentifiersPhoneDisplay.builder()
        .formatting(BrandingThemeIdentifiersPhoneDisplayFormattingEnum.INTERNATIONAL)
        .masking(BrandingThemeIdentifiersPhoneDisplayMaskingEnum.MASK_DIGITS)
        .build())
    .build();

CreateBrandingThemeResponseContent created = client.branding().themes().create(
    CreateBrandingThemeRequestContent.builder()
        .borders(borders)
        .colors(colors)
        .fonts(fonts)
        .pageBackground(pageBackground)
        .widget(widget)
        .displayName("Verification Test Theme")
        .identifiers(identifiers)
        .build());

System.out.println("Created theme: " + created);

Update theme identifiers

Endpoint

PATCH /api/v2/branding/themes/{themeId}
UpdateBrandingThemeResponseContent updated = client.branding().themes().update(
    themeId,
    UpdateBrandingThemeRequestContent.builder()
        .borders(borders)
        .colors(colors)
        .fonts(fonts)
        .pageBackground(pageBackground)
        .widget(widget)
        .identifiers(
            BrandingThemeIdentifiers.builder()
                .loginDisplay(BrandingThemeIdentifiersLoginDisplayEnum.SEPARATE)
                .otpAutocomplete(false)
                .phoneDisplay(
                    BrandingThemeIdentifiersPhoneDisplay.builder()
                        .formatting(BrandingThemeIdentifiersPhoneDisplayFormattingEnum.REGIONAL)
                        .masking(BrandingThemeIdentifiersPhoneDisplayMaskingEnum.SHOW_ALL)
                        .build())
                .build())
        .build());

System.out.println("Updated theme: " + updated);

Read a theme

Endpoint

GET /api/v2/branding/themes/{themeId}
GetBrandingThemeResponseContent fetched =
    client.branding().themes().get(themeId);

fetched.getIdentifiers()
    .ifPresent(i -> System.out.println("Identifiers: " + i));

Read the default theme

Endpoint

GET /api/v2/branding/themes/default
GetBrandingDefaultThemeResponseContent defaultTheme =
    client.branding().themes().getDefault();

defaultTheme.getIdentifiers()
    .ifPresent(i -> System.out.println("Identifiers: " + i));

Self-Service Profiles

Create an SSO ticket with third-party client access

Endpoint

POST /api/v2/self-service-profiles/{id}/sso-ticket
CreateSelfServiceProfileSsoTicketResponseContent ticket =
    client.selfServiceProfiles()
        .ssoTicket()
        .create(
            <ID>,
            CreateSelfServiceProfileSsoTicketRequestContent.builder()
                .connectionId("con_xxxxxxxx")
                .thirdPartyClientAccessConfig(
                    ThirdPartyClientAccessConfig.builder()
                        .allowConfiguration(true)
                        .build())
                .build());

System.out.println(ticket.getTicket().orElse("<none>"));

fern-api Bot added 2 commits July 21, 2026 07:15
Generated by Fern
CLI Version: unknown
Generators:
  - fernapi/fern-java-sdk: 4.11.1
Patches applied (1):
  - patch-ec28244b: feat: add MIGRATION_GUIDE (#900)
@fern-api
fern-api Bot requested a review from a team as a code owner July 21, 2026 07:15
@tanya732 tanya732 changed the title SDK regeneration feat: Branding Theme Identifiers, Self-Service Third-Party Client Access, Cross-App Access & Session Actor support Jul 22, 2026
@tanya732
tanya732 merged commit e6870e7 into master Jul 22, 2026
7 checks passed
@tanya732
tanya732 deleted the fern-bot/2026-07-21_07-15-49_185 branch July 22, 2026 12:33
@tanya732 tanya732 mentioned this pull request Jul 22, 2026
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