User management via REST API
IDE Services provides a set of public REST APIs that enable you to synchronize user data between your external identity provider and IDE Services. By using these APIs, you can automate the process of creating, updating, and removing users and ensure accurate profile assignments. This guide outlines the key endpoints for establishing and maintaining that synchronization process, helping you keep your IDE Services instance in sync with your external identity provider.
Endpoints and workflow
Fetch all IDE Services users
GET /api/v1/users
Retrieve the current list of all IDE Services users.
Call
GET /api/v1/usersto retrieve a full list of current IDE Services users.Compare the returned user list with your identity provider's system.
Identify users that need to be added to or removed from IDE Services.
Add new users
POST /api/v1/users
Create new users in IDE Services.
For each user not found in IDE Services but present in your identity provider's system, send a
POST /api/v1/usersrequest with their details.
Delete users
DELETE /api/v1/users/{id}
Delete users from IDE Services.
For each user removed from your identity provider but present in IDE Services, send a
DELETE /api/v1/users/{id}request, where{id}is the user’s unique identifier in IDE Services.
Fetch all IDE Services profiles
GET /api/v1/profiles
Retrieve the current list of profiles from IDE Services. This action will help you get the necessary profile identifiers, which you can later use to assign or unassign profiles.
Synchronize user profiles
GET /api/v1/users/{userId}/profilesRetrieve all profiles assigned to a specific user.
PUT /api/v1/users/{userId}/profilesSearch for a required user by its ID and assign the needed profiles to them.
PUT /api/v1/profiles/{profileId}/usersSearch for a required profile by its ID and assign it to users.
DELETE /api/v1/users/{userId}/profiles/{profileId}Unassign a profile from a specific user.
For each user, call
GET /api/v1/users/{userId}/profilesto get a list of their profiles.Check the list of assigned profiles and decide whether you need to assign more profiles or unassign some of them.
Call
PUT /api/v1/users/{userId}/profilesorPUT /api/v1/profiles/{profileId}/users(depending on the preferable flow) to assign a profile to the user.Call
DELETE /api/v1/users/{userId}/profiles/{profileId}to unassign a specific profile from the user.
Validate the changes
GET /api/v1/usersRetrieve the current list of all IDE Services users.
GET /api/v1/users/{userId}/profilesRetrieve all profiles assigned to a specific user.
Call
GET /api/v1/usersto fetch details of all IDE Services users one more time.Compare the updated data against your identity provider’s records to confirm full synchronization.
Call
GET /api/v1/users/{userId}/profilesto get all profiles assigned to a specific user.Check that required profiles are assigned to users.