Hello,
We are in the initial stages of building a custom SCIM 2.0 server to integrate with Okta as an Identity Provider.
Our goal is to understand if we can adopt an incremental, phased approach to building out our SCIM capabilities, or if the Okta SCIM client requires a fully functional server (supporting all core operations) from day one to work correctly.
For example, could we follow a development plan like this?
- Phase 1 (Deprovisioning Focus): Initially, only implement
GET /Users
(for lookups) andPATCH /Users
(specifically to support deactivation withactive: false
). - Phase 2 (Provisioning): Later, add support for
POST /Users
to handle user creation. - Phase 3 (Groups, etc.): Subsequently, add support for
/Groups
and other features.
Our Specific Questions Are:
- Is an incremental approach viable? Or will the Okta provisioning service encounter critical, non-recoverable errors if, for instance, it attempts to create a user but the
POST /Users
endpoint is not yet implemented? - What is the minimum required set of endpoints for the Okta SCIM client to function without getting into a persistent error state? For example, must
POST /Users
be available before any users are assigned to the application? - What is the recommended best practice from Okta for developing a new SCIM integration? Is there a “minimum viable SCIM server” definition that we should aim for in our first release?
We want to ensure we can deliver value iteratively without causing downstream issues in our customers’ Okta tenants. Any guidance or insights from your experience would be greatly appreciated.