Group and User API: Admin Controller

Users are created in EnterWorks and then assigned to one or more groups. These groups are role-based depending on the business functions the user will perform, such as Business Administrator, Product Manager, or Syndication Manager. Permissions are assigned to each group. These permissions determine what data the members of the group can access, how they can access it, and what functions the users can perform.

With the Group and User APIs, you can view, create, modify, or delete both groups and individual users. Using the groupId and userId parameters, you can specify the groups or individual users on which you want to perform each operation. For user operations that do not utilize the userId parameter, the operation is performed on the currently logged in user.

You can also view or edit the list of capabilities assigned to a group, see what languages are available to a user, or maintain the home configuration settings for a specified user. The Group and User APIs can also be used to impersonate another user within the system, see which other users you can impersonate, or update the settings that determine which users can be impersonated.

For more detailed information, see the Group and User API Endpoints section below or the EnterWorks Swagger pages.

Group and User API Endpoints

GET /api/capabilities:

  • Retrieves a map of capabilities for the current user.

  • A user belongs to one or more groups, and each group is assigned a set of capabilities.

  • Each capability assigned to the group represents an available feature accessible within EnterWorks.

GET /api/groups:

  • Gets the group specified by {name} or retrieves a paged list of all existing groups the user can view.

POST /api/groups:

  • Creates a new group.

GET /api/groups/count:

  • Returns a count of the number of user groups.

DELETE /api/groups/{groupId}:

  • Deletes the specified user group (groupId).

GET /api/groups/{groupId}:

  • Retrieves a specified user group (groupId).

PATCH /api/groups/{groupId}:

  • Updates the values within a specified user group (groupId).

PUT /api/groups/{groupId}:

  • Updates the values within a specified user group (groupId).

PUT /api/groups/{groupId}/capabilities:

  • Updates the capabilities of a specified group (groupId) within the New UI.

GET /api/groups/{groupId}/homeConfigs:

  • Retrieves the home configuration for the specified group (groupId).

GET /api/groups/{groupId}/users:

  • Retrieves a list of users in the specified group (groupId).

DELETE /api/homeConfigs:

  • Deletes the home configuration for a specified user (userId) or group (groupId).

GET /api/homeConfigs:

  • Retrieves a list of the current user's home configurations.

    Note: The first configuration in the list is the default value.

POST /api/homeConfigs:

  • Creates a new home configuration.

    Note: There is no PATCH API for home configurations. The POST and PUT home configuration operations are the same. Both will remove the existing home configurations and create a new one for the user.

GET /api/homeConfigs/default:

  • Retrieves the default home configuration for the currently logged in user.

GET /api/homeConfigs/{homeConfigID}:

  • Retrieves the specified home configuration (homeConfigID).

PUT /api/homeConfigs/{homeConfigID}:

  • Updates the specified home configuration (homeConfigID).

    Note: The POST and PUT home configuration operations are the same. Both will remove the existing home configurations and create a new one for the user.

GET /api/userLangs:

  • Retrieves the language list for the currently logged in user.

  • The editInd value indicates whether or not the user can edit in each language.

GET /api/userNames:

  • Retrieves a list of user IDs and user names.

GET /api/users:

  • Retrieves a list of users.

POST /api/users:

  • Creates a new user.

POST /api/users/impersonate:

  • Impersonates the specified user.

    Note: If this operation is called for a second user while already impersonating another user, then the logged in user is switched to impersonate that second user.

PATCH /api/users/setting:

  • Updates the current user's settings.

    Note: Any field not passed in this operation will not be updated.

POST /api/users/stopImpersonate:

  • Stops impersonating another user.

POST /api/users/updateImpersonatee:

  • Updates the impersonation data for a specified user (userId).

POST /api/users/userBelongsToGroup:

  • Checks to see if the specified user (login) belongs to the specified group (groupName).

DELETE /api/users/{userId}:

  • Deletes the specified user (userId).

GET /api/users/{userId}:

  • Retrieves the specified user (userId).

PATCH /api/users/{userId}:

  • Updates the specified user (userId).

PUT /api/users/{userId}:

  • Updates the specified user (userId).

GET /api/users/{userId}/groups:

  • Retrieves the group list for the specified user (userId).

PUT /api/users/{userId}/groups:

  • Adds, removes, or reorders the groups for the specified user (userId).

    Note: A full group ID list is required to perform this operation.

GET /api/users/{userId}/homeConfigs:

  • Retrieves the home configuration for the specified user (userId).

GET /api/users/{userId}/homeConfigs/default:

  • Retrieves the home configuration for the specified user (userId) if one exists.

  • If a home configuration does not existing for the specified user, the home configuration for one of the groups to which this user belongs is returned.

GET /api/users/{userId}/impersonatees:

  • Retrieves the list of users that the specified user (userId) can impersonate.

  • If the specified user is in the Administration group, that user can impersonate all users.