Warning |
---|
This documentation is work in progress! |
Tip |
---|
Warning |
This documentation is work in progress! |
Tip |
---|
Tip: Prior to IS 5.4.0, SCIM 2.0 was supported as an external connector that could be plugged in to WSO2 Identity Server. From 5.4.0 onwards, SCIM 2.0 is supported OOTB with WSO2 IS. |
This REST API implements the SCIM 2.0 Protocol according to the SCIM 2.0 specification.The following endpoints are supported with WSO2 Identity Server.
Table of Contents |
---|
Users endpoint
Panel | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
GET/ Get User by ID
This API is used to retrieve users by their user ID. It returns an
Parameters
Responses
|
Panel | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
POST/ Create User
This API creates a user and returns the user details along with the user's unique ID. It returns
Parameters
Responses
|
Panel | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
DELETE/ Delete User by ID
This API deletes a user using the user's unique ID. It returns
Parameters
Responses
|
Panel | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET/ Get Users (User Listing/Filtering)
This API returns users according to the filter, sort and pagination parameters. It returns an
Parameters
Responses
|
Panel | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
POST/ Search Users
This API returns users according to the filter, sort and pagination parameters. It returns an
Parameters
Responses
|
Panel | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
PATCH/ Update User
This API updates user details and returns the updated user details using a PATCH operation. It returns an
Parameters
Responses
|
Panel | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
PUT/ Update User
This API updates user details and returns the updated user details using a PUT operation. It returns an
Parameters
Responses
|
Groups endpoint
Panel | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||
GET/ Group by ID
This API returns the group details of a particular group using its unique ID. It returns an
Parameters
Responses
|
Panel | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
POST/ Create Group
This API creates a group and returns the details of the created group including its unique ID. It returns an
Parameters
Responses
|
Panel | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
POST/ Create Group
This API creates a group and returns the details of the created group including its unique ID. It returns an
Parameters
Responses
|
Panel | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
DELETE/ Delete Group By ID
This API deletes a particular group using its unique ID. It returns an
Parameters
Responses
|
Panel | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET/ Filter Groups
This API deletes a particular group using its unique ID. It returns an
Parameters
Responses
|
Panel | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
POST/ Search Groups
This API returns groups according to the specified filter, sort and pagination parameters. It returns an
Parameters
Responses
|
Panel | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
PATCH/ Update User
This API updates the group details and returns the updated group details using a PATCH operation. It returns an
Parameters
Responses
|
Panel | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
PUT/ Update User
This API updates the group details and returns the updated group details using a PUT operation. It returns an
Parameters
Responses
|
Bulk Endpoint
Panel | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
POST/ Create Users in Bulk
This API is used to create multiple users at once. It returns an
Parameters
Responses
|
ResourceType Endpoint
Panel | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
GET/ Get Resource Types
This API lists and returns metadata about resource types. It returns an
Parameters None Responses
|
ServiceProviderConfig Endpoint
Panel | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
GET/ Get Service Provider Config
This API is used to create multiple users at once. It returns an
Parameters None Responses
|
Required permissions for SCIM 2.0 APIs
The default permissions required to access each resource in SCIM 2.0 are given below.
Endpoint | HTTP Method | Permission | |||
---|---|---|---|---|---|
/scim2/Users | POST
| /permission/admin/manage/identity/usermgt/create
| |||
/scim2/Users
| GET
| /permission/admin/manage/identity/usermgt/list
| |||
/scim2/Groups
| POST
| /permission/admin/manage/identity/rolemgt/create
| |||
/scim2/Groups
| GET
| /permission/admin/manage/identity/rolemgt/view
| |||
/scim2/Users/(.*)
| GET
| /permission/admin/manage/identity/usermgt/view
| |||
/scim2/Users/(.*)
| PUT | /permission/admin/manage/identity/usermgt/update
| |||
/scim2/Users/(.*)
| PATCH | /permission/admin/manage/identity/usermgt/update
| |||
/scim2/Users/(.*)
| DELETE | /permission/admin/manage/identity/usermgt/delete
| |||
/scim2/Groups/(.*)
| GET
| /permission/admin/manage/identity/rolemgt/view
| |||
/scim2/Groups/(.*)
| PUT | /permission/admin/manage/identity/rolemgt/update
| |||
/scim2/Groups/(.*)
| PATCH | /permission/admin/manage/identity/rolemgt/update
| |||
/scim2/Groups/(.*)
| DELETE | /permission/admin/manage/identity/rolemgt/delete
| |||
/scim2/Me
| GET | /permission/admin/login
| |||
/scim2/Me
| DELETE | /permission/admin/login
| |||
/scim2/Me
| PUT | /permission/admin/login | |||
/scim2/Me | PATCH | /permission/admin/login | |||
/scim2/Me | POST | /permission/admin/manage/identity/usermgt/create/login
| |||
/scim2/ServiceProviderConfigMe
| allPATCH | - | /permission/scim2admin/ResourceTypelogin
| all | - |
/scim2/BulkMe
| allPOST | /permission/admin/manage/identity/usermgt/create
|
...
The EnableFilteringEnhancements
property is introduced to identity.xml
in <IS_HOME>/repository/conf/identity
in order to apply filtering enhancements for SCIM2 filter results. This property makes sure that Eq checks for the String match (in this case cross user store search will not be performed). It also enforces consistency in the filtered attribute formats in the response when filtering is done via different endpoints. For example, when this property is enabled, the two endpoints, Users and Groups will have the same format of response.
/scim2/ServiceProviderConfig | all | - |
/scim2/ResourceType | all | - |
/scim2/Bulk | all | /permission/admin/manage/identity/usermgt |
Note | ||
---|---|---|
If the OverrideUsernameClaimFromInternalUsername property in
|
...