Add Groups (v2)
Adds groups that are provided in the request payload. Additionally, users or group members can be assigned. These groups can be viewed in Access Control.
This topic describes the simplified v2 version of this REST API. This version contains all parameters in the payload and does not require URL encoding while calling the REST APIs. This makes the v2 API easier to use.
The user running this API must be authorized to perform this action. This API should be run only by a Service Administrator in the environment where groups are to be added. With this API, you can see which records failed and the reason why they failed in addition to how many records passed and failed.
The API is synchronous and returns the outcome of the operation in the response. Any non-zero status indicates failure of adding groups.
This API is version v2.
Required Roles
Service Administrator or any predefined role and the Access Control - Manage application role
REST Resource
POST /interop/rest/security/v2/groups/add
Note:
Before using the REST resources, you must understand how to access the REST resources and other important concepts. See Implementation Best Practices for Cloud EPM REST APIs. Using this REST API requires prerequisites. See Prerequisites.
Table 12-60 Tasks for Add Users to Group
Task | Request | REST Resource |
---|---|---|
Add groups | POST | /interop/rest/security/v2/groups/add |
Request
Supported Media Types: application/json
The following table summarizes the POST request parameters.
Table 12-61 Parameters
Name | Description | Type | Required | Default |
---|---|---|---|---|
groupname |
Name of group to add | Payload | Yes | None |
description |
Description of group | Payload | No | None |
userlogin |
The user login of the user to add to the group | Payload | No | None |
groupname |
Name of the group to add as a member of this group | Payload | No | None |
Example URL and Payload
https://<BASE-URL>/interop/rest/security/v2/groups/add
Payload with Only Groups
{
"groups":
[
{
"groupname": "GroupA",
"description": "GroupADescription"
},
{
"groupname": "GroupB",
"description": "GroupBDescription"
}
]
}
Payload with Groups and Members
{
"groups": [
{
"groupname": "GroupA",
"description": "GroupADescription",
"members": {
"users": [
{
"userlogin": "jdoe"
},
{
"userlogin": "chris"
}
],
"groups": [
{
"groupname": "User"
},
{
"groupname": "Interactive User"
}
]
}
},
{
"groupname": "GroupB",
"description": "GroupBDescription",
"members": {
"users": [
{
"userlogin": "jane"
},
{
"userlogin": "alex"
}
],
"groups": [
{
"groupname": "Analyst"
},
{
"groupname": "Super User"
}
]
}
}
]
}
Response
Supported Media Types: application/json
Table 12-62 Parameters
Name | Description |
---|---|
links |
Detailed information about the link and HTTP call type |
status |
Identifies the status of the operation
|
error |
Detailed information about the error |
details |
Detailed status of the operation performed. Total number of records processed, succeeded, and failed, and the reason for why they failed. |
Examples of Response Body
The following examples show the contents of the response body in JSON format:
Example 1: REST API Completes without Errors
{
"links": {
"href": "https://<BASE-URL>/interop/rest/security/v2/groups/add",
"action": "POST"
},
"status": 0,
"error": null,
"details": {
"processed": 2,
"succeeded": 2,
"failed": 0,
"faileditems": null
}
}
Example 2: REST API Completes with Errors
{
"links": {
"href": "https://<BASE-URL>/interop/rest/security/v2/groups/add",
"action": "POST"
},
"status": 1,
"error": {
"errorcode": "EPMCSS-21119",
"errormessage": "Failed to add groups. Invalid or insufficient parameters specified. Provide all required parameters for the REST API."
},
"details": null
}
Example 3: REST API Completes with Partial Errors
{
"links": {
"href": "https://<BASE-URL>/interop/rest/security/v2/groups/add",
"action": "POST"
},
"status": 0,
"error": null,
"details": {
"processed": 3,
"succeeded": 1,
"failed": 2,
"faileditems": [
{
"groupname": "GroupA",
"errorcode": "EPMCSS-21140",
"errormessage": "Failed to add group. Group already exists in System. Provide different group name."
},
{
"groupname": "GroupB",
"errorcode": "EPMCSS-21231",
"errormessage": "Failed to add group. Unable to add member(s). Provide valid member(s).",
"erroritems": {
"groups": [
{
"groupname": "GroupC",
"errorcode": "EPMCSS-21228",
"errormessage": "Group GroupC does not exist. Provide a valid groupname."
}
],
"users": [
{
"userlogin": "UserA",
"errorcode": "EPMCSS-21230",
"errormessage": "User UserA does not exist. Provide a valid userlogin."
}
]
}
}
],
"items": null
}
}
Sample cURL Command Basic Auth
curl -X POST -s -u '<USERNAME>:<PASSWORD>' -H 'Content-Type: application/json' -d '{"groups":[{"groupname":"GroupA","description":"GroupADescription"},{"groupname":"GroupB","description":"GroupBDescription"}]}' 'https://<BASE-URL>/interop/rest/security/v2/groups/add'
curl -X POST -s -u '<USERNAME>:<PASSWORD>' -H 'Content-Type: application/json' -d '{"groups":[{"groupname":"GroupA","description":"GroupADescription","members":{"users":[{"userlogin":"jdoe"},{"userlogin":"chris"}],"groups":[{"groupname":"User"},{"groupname":"Interactive User"}]}}]}' 'https://<BASE-URL>/interop/rest/security/v2/groups/add'
Sample cURL Command OAuth 2.0
curl -X POST --header "Authorization: Bearer <OAUTH_ACCESS_TOKEN>" -H 'Content-Type: application/json' -d '{"groups":[{"groupname":"GroupA","description":"GroupADescription"},{"groupname":"GroupB","description":"GroupBDescription"}]}' 'https://<BASE-URL>/interop/rest/security/v2/groups/add'
curl -X POST --header "Authorization: Bearer <OAUTH_ACCESS_TOKEN>" -H 'Content-Type: application/json' -d '{"groups":[{"groupname":"GroupA","description":"GroupADescription","members":{"users":[{"userlogin":"jdoe"},{"userlogin":"chris"}],"groups":[{"groupname":"User"},{"groupname":"Interactive User"}]}}]}' 'https://<BASE-URL>/interop/rest/security/v2/groups/add'