Create Central Identity User API
CI_USER_CREATION property.Create User
The request payload should specify email, security_provider_type, and displayName. The server generates the user ID.
Format
POST /controller/api/rbac/v1/ci-user
Input Parameters
| Parameter Name | Parameter Type | Value | Mandatory |
|---|---|---|---|
email
| Request payload | Yes | |
|
security_provider_type | Request payload | "INTERNAL"
| Yes |
|
displayName | Request payload | Yes |
Example
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"
}
Get User by ID
Use this to get full user information, including a summary of affiliated groups and roles, using the userId in the current account.
Format
GET /controller/api/rbac/v1/users/userId
Example
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"}
]
}
Get User by Name
Use this to get full user information, including a summary of affiliated groups and roles, using the userName in the current account.
Format
GET /controller/api/rbac/v1/users/name/name
Example
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"}
]
Get All Users
Use this to get a list of all users in the current account. The list includes user summaries, which includes userId and userName.
Format
GET /controller/api/rbac/v1/users
Example
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"}
]
}
Update User
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.
Format
PUT /controller/api/rbac/v1/users/userId
Input Parameters
| Parameter Name | Parameter Type | Value | Mandatory |
|---|---|---|---|
id
| Request payload | Yes | |
name
| Request payload | Yes | |
|
displayName | Request payload | Yes | |
|
security_provider_type | Request payload | "INTERNAL"
| Yes |
Example
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"
}
Delete User
Use this to delete a user by userId in the current account.
Format
DELETE /controller/api/rbac/v1/users/userId
Example
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/users/11 Response status code 200 :
Create Group
Use this to create a group in the current account. The groupId is generated by the server.
Format
POST /controller/api/rbac/v1/groups
Input Parameters
| Parameter Name | Parameter Type | Value | Mandatory |
|---|---|---|---|
name
| Request payload | Yes | |
description
| Request payload | No | |
|
security_provider_type | Request payload | "INTERNAL"
| Yes |
Example
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"
}
Get Group by ID
Use this to get full group information by groupId in the current account.
Format
GET /controller/api/rbac/v1/groups/groupId
Example
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"}
]
}
Get Group by Name
Use this to get full group information by groupName in the current account.
Format
GET /controller/api/rbac/v1/groups/name/name
Example
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"}
]
}
Get All Groups
Use this to get all groups in the current account. This only returns group summaries, which includes groupId and groupName.
Format
GET /controller/api/rbac/v1/groups
Example
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"}
]
}
Update Group
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.
Format
PUT /controller/api/rbac/v1/groups/groupId
Input Parameters
| Parameter Name | Parameter Type | Value | Mandatory |
|---|---|---|---|
id
| Request payload | Yes | |
name
| Request payload | Yes | |
description
| Request payload | No | |
|
security_provider_type | Request payload | "INTERNAL"
| Yes |
Example
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"}
]
}
Delete Group
Use this to delete a group by groupId in the current account.
Format
DELETE /controller/api/rbac/v1/groups/groupId
Example
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups/1 Response status code 200 :
Add User to Group
Use this to add a user to a group by userId and groupId.
Format
PUT /controller/api/rbac/v1/groups/groupId/users/userId
Example
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 :
Remove User from Group
Use this to remove a user from a group by userId and groupId.
Format
DELETE /controller/api/rbac/v1/groups/groupId/users/userId
Example
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/groups/2/users/10 Response status code 200 :
Create Role
Use this to create a role in the current account. The ID is generated by the server.
Format
POST /controller/api/rbac/v1/roles
Input Parameters
| Parameter Name | Parameter Type | Value | Mandatory |
|---|---|---|---|
name
| Request payload | Yes | |
| Request payload | No |
Example
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"
}
Add Role to User
Use this to add a role to a user by roleId and userId.
Format
PUT /controller/api/rbac/v1/roles/roleId/users/userId
Example
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 :
Remove Role from User
Use this to remove a role from a user by roleId and userId.
Format
DELETE /controller/api/rbac/v1/roles/roleId/users/userId
Example
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/50/users/10 Response status code 200 :
Add Role to Group
Use this to add a role to a group by roleId and groupId.
Format
PUT /controller/api/rbac/v1/roles/roleId/groups/groupId
Example
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 :
Remove Role from Group
Use this to remove a role from a group by roleId and groupId.
Format
DELETE /controller/api/rbac/v1/roles/roleId/groups/groupId
Example
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/50/groups/2 Response status code 200 :
Get Role by ID
Use this to get full role information by roleId in the current account. This only returns the role object.
Format
GET /controller/api/rbac/v1/roles/roleId
Example
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"
}
Get Role by Name
Use this to get full role information by roleName in the current account.
Format
GET /controller/api/rbac/v1/roles/name/name
Example
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"
}
Get All Roles
Use this to get all roles in the current account. This only returns role summaries, which includes roleId and roleName.
Format
GET /controller/api/rbac/v1/roles
Example
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"}
]
}
Update Role
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.
Format
PUT /controller/api/rbac/v1/roles/roleId
Input Parameters
| Parameter Name | Parameter Type | Value | Mandatory |
|---|---|---|---|
id
| Request payload | Yes | |
name
| Request payload | Yes | |
description
| Request payload | No |
Example
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"
}
Delete Role
Use this to delete a role in the current account.
Format
DELETE /controller/api/rbac/v1/roles/roleId
Example
curl -X DELETE -u user1@customer1 http://localhost:8080/controller/api/rbac/v1/roles/49 Response status code 200 :