Role management
Create new group
- PUT /aalam/base/groups
Group is a collection of users and this API help you create anew group
Permissions
Permissions
all of the following permissions
Groups/manage
Outputs
Group is created successfully
Status code: 200
Group name already exists
Status code: 409
Inputs
The details of the group are sent as input data
Content type: application/json
Content specification
{
"name": "Name of the group (mandatory)",
"description": "Description about the group (optional)"
}
List groups
- GET /aalam/base/groups
This api lists all the groups that are created so far.
Permissions
Flags
deny_anon
Outputs
Fetched the groups successfully.
Status code: 200
Content type: application/json
Content specification
[
{
"name": "Name of the group",
"description": "Description about the group"
}
]
Assign items to groups
- PUT /aalam/base/group/{group_name}
Assign a list of users or groups or permissions to an existing group.The users of this group and the users of member groups will inheritthis permission.
Permissions
Permissions
all of the following permissions
Groups/manage
Outputs
Items assigned the group successfully.
Status code: 200
The group name is not found
Status code: 404
Input data is not correct.
Status code: 400
Forbidden to assign on ‘Administrators’ group
Status code: 403
Inputs
The input should have atleast of one of ‘user’, ‘groups’ and ‘permissions’.
Content type: application/json
Content specification
{
"users": [(optional) list of user email ids],
"groups": [(optional) list of groups],
"permissions": [(optional)list of fully qualified
permission names]
}
Delete group user
- DELETE /aalam/base/group/{group_name}/user/{user_id}
Remove user with email id {user_id} from group of name {group_name},this user will no more inherit the permissions assigned on this group
Permissions
Permissions
all of the following permissions
Groups/manage
Outputs
Successfull deleted user from the group
Status code: 200
Either {group_name} or {user_id} cannot be found, or the user is not yet assigned to this group
Status code: 404
Delete sub-group
- DELETE /aalam/base/group/{group_name}/group/{group_member}
Remove group member of name {group_member} from group of name{group_name}, the members of {group_member} group will no longerinherit permissions assigned on this group
Permissions
Permissions
all of the following permissions
Groups/manage
Outputs
Deleted the group member successfully
Status code: 200
Content type: application/json
Unable to find group with name {group_name}
Status code: 404
Revoke group permission
- DELETE /aalam/base/group/{group_name}/permission/{provider}/{app}/{perm_group}/{perm_name}
Revoke the permisson from group of name {group_name}. All the membersof this groups will no more have this permission. If the user is amember of a different group which has this permission assigned, theuser will still be holding this permission.
Permissions
Permissions
all of the following permissions
Groups/manage
Outputs
Revoked group permission successfull
Status code: 200
Either {group_name} or permission name is invalid, or this permission is not assigned on this group
Status code: 404
Delete group
- DELETE /aalam/base/group/{group_name}
Delete the group. By deleting the members of this group will no longerinherit any of the permissions assigned on this group
Permissions
Permissions
all of the following permissions
Groups/manage
Outputs
The group is deleted
Status code: 200
No group found with {group_name}
Status code: 404
Update group
- POST /aalam/base/group/{group_name}
Update the group’s name and description
Permissions
Permissions
all of the following permissions
Groups/manage
Parameters
name
New name to replace the group’s existing name
description
New description to replace the group’s existing description
Outputs
Update successfull
Status code: 200
No group found with {group_name}
Status code: 404
Get group info
- GET /aalam/base/group/{group_name}
Get detailed information about a group
Permissions
Flags
deny_anon
Outputs
Succefully fetched the group information
Status code: 200
Content type: application/json
Content specification
{
"users": [List of email ids of user members],
"groups": [List of name of group members],
"permissions": [List of fully qualified names of the
permissions]
}
Unable to find a group with {group_name}
Status code: 404
List permission groups
- GET /aalam/base/permissions
List all the permission groups of all apps
Permissions
Permissions
any of the following permissions
Groups/manage
Users/manage
Outputs
Fetched the perimssion groups successfully
Status code: 200
Content specification
[{
"name": "Name of the permission group",
"description": "Description of the permission group",
"provider_code": "Code of the provider to which permission
group belongs",
"app_code": "App's code value",
"app_name": "Name of the application which owns this
permission group"
},
...
]
List app permission groups
- GET /aalam/base/permissions/{provider}/{app}
List all the permission groups owned by {provider}/{app}
Permissions
Permissions
any of the following permissions
Groups/manage
Users/manage
Outputs
Listing successfull
Status code: 200
Content type: application/json
Content specification
[{
"name": "Name of the permission group",
"description": "Description of the permission group",
},
...
]
List app permissions
- GET /aalam/base/permissions/{provider}/{app}/{perm_group_name}
List all the permissions grouped under {perm_group_name} ownedby {provider}/{app}
Permissions
Permissions
any of the following permissions
Groups/manage
Users/manage
Outputs
Listing successfull
Status code: 200
Content type: application/json
Content specification
[{
"id": "(integer) Permission identifier",
"name": "Name of the permission",
"description": "Description of the permission",
},
...
]
Grant permission
- PUT /aalam/base/permissions/{provider}/{app}/{perm_group_name}/{perm}
Grant a single permission permission to a list of users or groups.
Permissions
Permissions
all of the following permissions
Groups/manage
Users/manage
Outputs
Permissions granted successfully
Status code: 200
Either some of the users or groups are not found
Status code: 404
Inputs
Details of the permissions are passed as input data
Content type: application/json
Content specification
{
"users": [List of user email ids],
"groups": [List of group names]
}
Revoke user permission
- DELETE /aalam/base/permissions/{provider}/{app}/{perm_group_name}/{perm}/user/{user_email}
Revoke a permission which was granted to a user already.
Permissions
Permissions
all of the following permissions
Users/manage
Outputs
Successfully revoked user permission
Status code: 200
Either the user is not valid, or this permission is not assigned to the user
Status code: 404
Revoke group permission
- DELETE /aalam/base/permissions/{provider}/{app}/{perm_group_name}/{perm}/group/{group_name}
Revoke a permission on a group
Permissions
Permissions
all of the following permissions
Groups/manage
Outputs
Revoked permission successfully
Status code: 200
Either the group is not valid, or this permission is not assigned to the group.
Status code: 404