-
Notifications
You must be signed in to change notification settings - Fork 105
Release v10.0.0 - Major SDK Refactoring with Enhanced API Organization and Test Coverage #809
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
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
f5d490d to
bb290f8
Compare
f9570b6 to
e417d57
Compare
e417d57 to
2a8506f
Compare
0acf02c to
c841c99
Compare
ed424bb to
6912460
Compare
d8f028b to
2b8c89f
Compare
manmohan-shaw-okta
approved these changes
Nov 6, 2025
Closed
This was referenced Dec 17, 2025
This was referenced Dec 25, 2025
This was referenced Jan 2, 2026
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.
Release v10.0.0 - Major SDK Refactoring and Enhanced Test Coverage
Overview
This PR introduces Okta .NET SDK v10.0.0, a major release that significantly improves the SDK's architecture, maintainability, and developer experience. The release includes a comprehensive refactoring of monolithic API clients into specialized, focused clients, along with extensive test coverage improvements.
Key Highlights
Major API Reorganization
Enhanced Test Coverage
Breaking Changes
1. UserApi Split (Major Refactoring)
The monolithic
UserApihas been split into 10 specialized APIs:UserApi- Core CRUD operations (Create, Get, Update, Delete, List)UserLifecycleApi- Lifecycle operations (Activate, Deactivate, Suspend, Unsuspend, Unlock, Reactivate)UserCredApi- Credential management (ChangePassword, ExpirePassword, ForgotPassword, ResetPassword, SetPassword)UserGrantApi- Grant operations (GetUserGrant, ListUserGrants, RevokeUserGrant)UserOAuthApi- OAuth token operations (ListGrants, RevokeGrants, Refresh tokens)UserSessionsApi- Session management (ClearUserSessions, ListUserSessions, GetUserSession, RevokeUserSession)UserLinkedObjectApi- Linked object operationsUserResourcesApi- User resources (ListAppLinks, ListAssignedApplications)UserAuthenticatorEnrollmentsApi- Authenticator enrollmentsUserClassificationApi- User classificationUserRiskApi- User risk operationsMigration Example:
2. OrgSettingApi Split
Organization settings divided into 7 specialized APIs:
OrgSettingGeneralApi- General org settingsOrgSettingAdminApi- Admin settingsOrgSettingCommunicationApi- Communication preferencesOrgSettingContactApi- Contact informationOrgSettingCustomizationApi- Customization settingsOrgSettingMetadataApi- Organization metadataOrgSettingSupportApi- Support settings3. RoleApi Split
Role management reorganized into 8 specialized APIs:
RoleAssignmentAUserApi- User role assignmentsRoleAssignmentBGroupApi- Group role assignmentsRoleAssignmentClientApi- Client role assignmentsRoleBTargetAdminApi- Admin role targetsRoleBTargetBGroupApi- Group role targetsRoleBTargetClientApi- Client role targetsRoleECustomApi- Custom role managementRoleECustomPermissionApi- Custom role permissions4. ResourceSetApi Split
Resource set operations moved to 4 role-based APIs:
RoleCResourceSetApi- Resource set CRUD operationsRoleCResourceSetResourceApi- Resource set resource operationsRoleDResourceSetBindingApi- Resource set binding operationsRoleDResourceSetBindingMemberApi- Resource set binding member operations5. Removed APIs
ApplicationCredentialsApi- Functionality moved to ApplicationSSOApi and related SSO APIs6. Parameter Changes
Some methods have gained new optional parameters:
ApplicationApi.ListApplications()- AddeduseOptimizationparameterUserApi.GetUserAsync()- AddedcontentTypeparameterUserApi.ListUsers()- AddedcontentTypeparameterNew API Clients (29 Total)
Application APIs
ApplicationCrossAppAccessConnectionsApi- Manage cross-app access connectionsApplicationSSOCredentialKeyApi- Manage SSO credential keysApplicationSSOFederatedClaimsApi- Manage SSO federated claimsApplicationSSOPublicKeysApi- Manage SSO public keysDevice Management APIs
DeviceAccessApi- Device access policiesDeviceIntegrationsApi- Device integrationsDevicePostureCheckApi- Device posture checksIdentity Provider APIs
IdentityProviderKeysApi- Identity provider keysIdentityProviderSigningKeysApi- Identity provider signing keysIdentityProviderUsersApi- Identity provider usersOther New APIs
AssociatedDomainCustomizationsApiEmailCustomizationApiGovernanceBundleApiGroupPushMappingApiGroupRuleApiOAuth2ResourceServerCredentialsKeysApiOktaPersonalSettingsApiOrgCreatorApiServiceAccountApiWebAuthnPreregistrationApiIntegration Test Coverage
This release includes comprehensive integration test coverage for 38 API clients:
User Management APIs
Application APIs
Group APIs
Organization & Settings APIs
Documentation
Migration Guides
CHANGELOG
Comprehensive release notes documenting:
Technical Improvements
Test Enhancements
Code Quality
OpenAPI Spec Updates
Impact Analysis
Changed APIs: 4
New APIs: 29
Specialized APIs for improved functionality and organization
Unchanged APIs: 60+
Including: AgentPoolsApi, ApiServiceIntegrationsApi, ApiTokenApi, ApplicationFeaturesApi, AuthenticatorApi, AuthorizationServerApi, BehaviorApi, BrandsApi, CAPTCHAApi, CustomDomainApi, DeviceApi, EmailDomainApi, EventHookApi, FeatureApi, GroupApi, IdentityProviderApi, LinkedObjectApi, NetworkZoneApi, PolicyApi, SchemaApi, SessionApi, SystemLogApi, ThemesApi, TrustedOriginApi, UserFactorApi, and many more.
Benefits
Migration Path
Testing
Test Coverage Notes and Limitations
Some API endpoints have inherent testing limitations due to their authentication requirements or destructive nature:
Browser Session Cookie Requirements
SessionAPI (6 methods): The following
/meendpoints require browser-based authentication with session cookies and cannot be tested server-to-server:CloseCurrentSessionAsync(DELETE /api/v1/sessions/me)CloseCurrentSessionWithHttpInfoAsync(DELETE /api/v1/sessions/me)GetCurrentSessionAsync(GET /api/v1/sessions/me)GetCurrentSessionWithHttpInfoAsync(GET /api/v1/sessions/me)RefreshCurrentSessionAsync(POST /api/v1/sessions/me/lifecycle/refresh)RefreshCurrentSessionWithHttpInfoAsync(POST /api/v1/sessions/me/lifecycle/refresh)These endpoints are designed for client-side JavaScript applications where the browser automatically includes the session cookie in requests.
UserSessionsAPI:
EndUserSessionsAsyncandEndUserSessionsWithHttpInfoAsyncrequire a session cookie and cannot be tested with API Token authentication.OAuth Flow Limitations
UserOAuthAPI: Cannot test OAuth2RefreshToken properties (Status, ClientId, Created, ExpiresAt, Id, Issuer, LastUpdated, Scopes, UserId, Embedded, Links) as refresh tokens require browser-based user login/consent which cannot be automated in server-to-server tests.
ApplicationTokensAPI: The following scenarios are not tested due to browser-based authentication requirements:
Destructive Operations
Organization Configuration Constraints
Known Issues
Despite these limitations, the test suite provides comprehensive coverage for all testable API operations and validates the core functionality of the SDK.
Version Updates
🔗 Related Links