@mark-robustelli thanks. I've also tried by retrieving the template application and then changing some of its properties as such
//Use same object for next request (creating application), assign new values appTemplate.jwtConfiguration.accessTokenKeyId = primaryDefaultJwtKeyId; appTemplate.jwtConfiguration.idTokenKeyId = secondaryDefaultJwtKeyId; appTemplate.tenantId = newTenant.id; appTemplate.name = `Portal (${env.toUpperCase()})`; appTemplate.oauthConfiguration.authorizedRedirectURLs = [ `https://frontend.com/*`, `https://backend.com/api/auth/callback` ] delete appTemplate.id; delete appTemplate.oauthConfiguration.clientSecret; delete appTemplate.oauthConfiguration.clientId; //assign new ID to roles... appTemplate.roles.forEach(role => role.id = crypto.randomUUID()); const newApplication = await fusionAuthService.createApplication(appTemplate); async createApplication(applicationRequest) { const client = new FusionAuthClient( this.apiKey, this.url, applicationRequest.tenantId ); try { return (await client.createApplication(null, { application: applicationRequest})).response.application; } catch (err) { this.logError(err); } }While this works API and UI wise any user trying to authenticate will receive no successResponse from ExchangeRefreshTokenForAccessTokenAsync and I have no further details in errorReponse either.
So maybe something else needs to be zapped/modified before using the appTemplate to create the clone ?