This page describes the Create Central Identity User API methods you can use to create central identity(ci) users in the current account. This API is only available when the current account is configured with the CI_USER_CREATION property.
You must be the account owner or have the administer user permissions to use the Create Central Identity User API. |
SAML and LDAP user creations are not supported. You can only create permissions through the UI. See Manage Custom Roles for Splunk AppDynamics.
The request payload should specify email, security_provider_type, and displayName. The server generates the user ID.
POST /controller/api/rbac/v1/ci-user
| Parameter Name | Parameter Type | Value | Mandatory |
|---|---|---|---|
email | Request payload | Yes | |
| Request payload | "INTERNAL" | Yes |
| Request payload | Yes |
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X POST -d '{"email": "user10@domain.com", "security_provider_type": "INTERNAL", "displayName": "user10"}' -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/ci-user
Response status code 200 :
{
"id": 10,
"name": "user10@domain.com",
"email": "user10@domain.com",
"displayName": "user10",
"security_provider_type": "INTERNAL"
} |
Use this to get full user information, including a summary of affiliated groups and roles, using the userId in the current account.
GET /controller/api/rbac/v1/users/userId
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/users/4
Response status code 200 :
{
"id": 4,
"name": "user1",
"email": "user1@customer1.com",
"displayName": "user1",
"security_provider_type": "INTERNAL",
"roles":
[
{"id": 17,"name": "Workflow Executor"},
{"id": 18,"name": "DB Monitoring Administrator"},
{"id": 19,"name": "DB Monitoring User"},
{"id": 20,"name": "Analytics Administrator"},
{"id": 21,"name": "Server Monitoring Administrator"},
{"id": 22,"name": "Server Monitoring User"},
{"id": 13,"name": "Account Administrator"},
{"id": 14,"name": "Administrator"},
{"id": 15,"name": "User"},
{"id": 16,"name": "Dashboard Viewer"}
],
"groups":
[
{"id": 1,"name": "group_01"}
]
} |
Use this to get full user information, including a summary of affiliated groups and roles, using the userName in the current account.
GET /controller/api/rbac/v1/users/name/name
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/users/name/user1
Response status code 200 :
{
"id": 4,
"name": "user1",
"email": "user1@customer1.com",
"displayName": "user1",
"security_provider_type": "INTERNAL",
"roles":
[
{"id": 17,"name": "Workflow Executor"},
{"id": 18,"name": "DB Monitoring Administrator"},
{"id": 19,"name": "DB Monitoring User"},
{"id": 20,"name": "Analytics Administrator"},
{"id": 21,"name": "Server Monitoring Administrator"},
{"id": 22,"name": "Server Monitoring User"},
{"id": 13,"name": "Account Administrator"},
{"id": 14,"name": "Administrator"},
{"id": 15,"name": "User"},
{"id": 16,"name": "Dashboard Viewer"}
],
"groups":
[
{"id": 1,"name": "group_01"}
] |
Use this to get a list of all users in the current account. The list includes user summaries, which includes userId and userName.
GET /controller/api/rbac/v1/users
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/users
Response status code 200 :
{
"users":
[
{"id": 4,"name": "user1"},
{"id": 10,"name": "user10"}
]
} |
Use this to update a user by userId in the current account. Only the user object itself is updated, with the relationship to roles and groups remaining unaffected.
PUT /controller/api/rbac/v1/users/userId
| Parameter Name | Parameter Type | Value | Mandatory |
|---|---|---|---|
id | Request payload | Yes | |
name | Request payload | Yes | |
| Request payload | Yes | |
| Request payload | "INTERNAL" | Yes |
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X PUT -d '{"id": 11,"name": "updated_user9","displayName": "user9","security_provider_type": "INTERNAL"}' -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/users/11
Response status code 200 :
{
"id": 11,
"name": "updated_user9",
"displayName": "user9",
"security_provider_type": "INTERNAL"
} |
Use this to delete a user by userId in the current account.
DELETE /controller/api/rbac/v1/users/userId
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/users/11 Response status code 200 : |
Use this to create a group in the current account. The groupId is generated by the server.
POST /controller/api/rbac/v1/groups
| Parameter Name | Parameter Type | Value | Mandatory |
|---|---|---|---|
name | Request payload | Yes | |
description | Request payload | No | |
| Request payload | "INTERNAL" | Yes |
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X POST -d '{"name": "group100","description": "new description", "security_provider_type": "INTERNAL"}' -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups
Response status code 200 :
{
"id": 2,
"name": "group100",
"security_provider_type": "INTERNAL",
"description": "new description"
} |
Use this to get full group information by groupId in the current account.
GET /controller/api/rbac/v1/groups/groupId
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups/1
Response status code 200 :
{
"id": 1,
"name": "group_03",
"security_provider_type": "INTERNAL"
"description": "",
"roles":
[
{"id": 19,"name": "DB Monitoring User"},
{"id": 20,"name": "Analytics Administrator"},
{"id": 21,"name": "Server Monitoring Administrator"},
{"id": 22,"name": "Server Monitoring User"},
{"id": 13,"name": "Account Administrator"},
{"id": 16,"name": "Dashboard Viewer"}
]
} |
Use this to get full group information by groupName in the current account.
GET /controller/api/rbac/v1/groups/name/name
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups/name/group_03
Response status code 200 :
{
"id": 1,
"name": "group_03",
"security_provider_type": "INTERNAL"
"description": "",
"roles":
[
{"id": 19,"name": "DB Monitoring User"},
{"id": 20,"name": "Analytics Administrator"},
{"id": 21,"name": "Server Monitoring Administrator"},
{"id": 22,"name": "Server Monitoring User"},
{"id": 13,"name": "Account Administrator"},
{"id": 16,"name": "Dashboard Viewer"}
]
} |
Use this to get all groups in the current account. This only returns group summaries, which includes groupId and groupName.
GET /controller/api/rbac/v1/groups
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups
Response status code 200 :
{
"groups":
[
{"id": 1,"name": "group_03"},
{"id": 2,"name": "group100"}
]
} |
Use this to update a group by groupId in the current account. Only the group itself is updated, while the relationships with users and roles remain unaffected.
PUT /controller/api/rbac/v1/groups/groupId
| Parameter Name | Parameter Type | Value | Mandatory |
|---|---|---|---|
id | Request payload | Yes | |
name | Request payload | Yes | |
description | Request payload | No | |
| Request payload | "INTERNAL" | Yes |
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X PUT -d '{"id": 1, "name": "group2","description": "new description", "security_provider_type": "INTERNAL"}' -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups/1
Response status code 200 :
{
"id": 1,
"name": "group2",
"security_provider_type": "INTERNAL",
"description": "new description",
"roles":
[
{"id": 19,"name": "DB Monitoring User"},
{"id": 20,"name": "Analytics Administrator"},
{"id": 21,"name": "Server Monitoring Administrator"},
{"id": 22,"name": "Server Monitoring User"},
{"id": 13,"name": "Account Administrator"},
{"id": 16,"name": "Dashboard Viewer"}
]
} |
Use this to delete a group by groupId in the current account.
DELETE /controller/api/rbac/v1/groups/groupId
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups/1 Response status code 200 : |
Use this to add a user to a group by userId and groupId.
PUT /controller/api/rbac/v1/groups/groupId/users/userId
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X PUT -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups/2/users/10 Response status code 200 : |
Use this to remove a user from a group by userId and groupId.
DELETE /controller/api/rbac/v1/groups/groupId/users/userId
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups/2/users/10 Response status code 200 : |
Use this to create a role in the current account. The ID is generated by the server.
POST /controller/api/rbac/v1/roles
| Parameter Name | Parameter Type | Value | Mandatory |
|---|---|---|---|
name | Request payload | Yes | |
| Request payload | No |
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X POST -d '{"name": "role2","description": "new description"}' -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles
Response status code 200 :
{
"id": 49,
"name": "role2",
"description": "new description"
} |
Use this to add a role to a user by roleId and userId.
PUT /controller/api/rbac/v1/roles/roleId/users/userId
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X PUT -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/50/users/10 Response status code 200 : |
Use this to remove a role from a user by roleId and userId.
DELETE /controller/api/rbac/v1/roles/roleId/users/userId
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/50/users/10 Response status code 200 : |
Use this to add a role to a group by roleId and groupId.
PUT /controller/api/rbac/v1/roles/roleId/groups/groupId
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X PUT -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/50/groups/2 Response status code 200 : |
Use this to remove a role from a group by roleId and groupId.
DELETE /controller/api/rbac/v1/roles/roleId/groups/groupId
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/50/groups/2 Response status code 200 : |
Use this to get full role information by roleId in the current account. This only returns the role object.
GET /controller/api/rbac/v1/roles/roleId
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/15
Response status code 200 :
{
"id": 15,
"name": "User",
"description": "Can view applications and dashboards but not modify their configuration"
} |
Use this to get full role information by roleName in the current account.
GET /controller/api/rbac/v1/roles/name/name
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/name/User
Response status code 200 :
{
"id": 15,"name":
"User",
"description": "Can view applications and dashboards but not modify their configuration"
} |
Use this to get all roles in the current account. This only returns role summaries, which includes roleId and roleName.
GET /controller/api/rbac/v1/roles
curl -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles
Response status code 200 :
{
"roles":
[
{"id": 13,"name": "Account Administrator"},
{"id": 14,"name": "Administrator"},
{"id": 20,"name": "Analytics Administrator"},
{"id": 16,"name": "Dashboard Viewer"},
{"id": 18,"name": "DB Monitoring Administrator"},
{"id": 19,"name": "DB Monitoring User"},
{"id": 21,"name": "Server Monitoring Administrator"},
{"id": 22,"name": "Server Monitoring User"},
{"id": 15,"name": "User"},
{"id": 17,"name": "Workflow Executor"}
]
} |
Use this to update a role by roleId in the current account. This only updates the role object itself, while leaving the relationship with users and groups unaffected.
PUT /controller/api/rbac/v1/roles/roleId
| Parameter Name | Parameter Type | Value | Mandatory |
|---|---|---|---|
id | Request payload | Yes | |
name | Request payload | Yes | |
description | Request payload | No |
curl -H "Content-Type: application/vnd.appd.cntrl+json;v=1" -X PUT -d '{"id": 49, "name": "role1","description": "new description" }' -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/49
Response status code 200 :
{
"id": 49,
"name": "role1",
"description": "new description"
} |
Use this to delete a role in the current account.
DELETE /controller/api/rbac/v1/roles/roleId
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/49 Response status code 200 : |