permissionService

Provides a webservice for managing permissions on users and groups.
Method Description
addAnonymousUserPermission Add the specified permission to all anonymous/guest users.
addCommunityPermissionToGroup Add the specified permission on the specified community to the group with the specified id.
addCommunityPermissionToUser Add the specified permission on the specified community to the user with the specified id.
addPermissionToGroup Add the specified permission to the group with the specified id.
addPermissionToUser Add the specified permission to the user with the specified id.
addRegisteredUserPermission Add the specified permission to all registered users
anonymousUserHasPermission Returns true if the anonymous users have a particular permission globally.
anonymousUserHasPermissionOnCommunity Returns true if the anonymous users have a particular permission on the community with the specified ID.
authenticate Returns if the username and password are valid; otherwise this method throws an UnauthorizedException.
isAuthorized Returns true if the current user has globally has the specified permission.
isAuthorizedOnCommunity Returns true if the current user has the permission specified on the specified community.
isGroupAuthorized Returns true if the specified group has the specified permission on the specified jive Object.
isUserAuthorized Check to see if the specified user has the particular permission system wide.
isUserAuthorizedOnCommunity Check to see if the specified user has the particular permission on the specified community.
registeredUserHasPermission Returns true if registered users have a particular permission globally.
registeredUserHasPermissionOnCommunity Returns true if registered users have a particular permission on the community with the specified ID.
removeAnonymousUserPermission Remove the specified permission from anonymous users
removeCommunityPermissionFromGroup Remove the specified permission on the specified community from the group with the specified id.
removeCommunityPermissionFromUser Remove the specified permission on the specified community from the user with the specified id.
removePermissionFromGroup Remove the specified permission from the group with the specified id.
removePermissionFromUser Remove the specified permission from the user with the specified id.
removeRegisteredUserPermission Remove the specified permission from all registered users
usersWithPermission Returns all the userID's of users with a particular permission.
usersWithPermissionCount Returns a count of the users that have a particular permission.
usersWithPermissionCountOnCommunity Returns a count of the users that have a particular permission on the specified community.
usersWithPermissionOnCommunity Returns all the userID's of users with a particular permission on the specified community.

addAnonymousUserPermission

Add the specified permission to all anonymous/guest users.

POST http://domain:port/application_context/rpc/rest/permissionService/anonymousPermissions

Arguments

Name Type Description
permission xs:long The permission to add to a user.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.

Arguments Template

<addAnonymousUserPermission> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
</addAnonymousUserPermission>

Errors

Error When Returned
Unauthorized if not a system administrator.

addCommunityPermissionToGroup

Add the specified permission on the specified community to the group with the specified id.

POST http://domain:port/application_context/rpc/rest/permissionService/groupCommunityPermissions

Arguments

Name Type Description
permission xs:long The permission to add to a group.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.
groupID xs:long The id of the group to add a permission too.
communityID xs:long The ID of the community to add the permission on

Arguments Template

<addCommunityPermissionToGroup> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
    <groupID>xs:long</groupID>
    <communityID>xs:long</communityID>
</addCommunityPermissionToGroup>

Errors

Error When Returned
GroupNotFound
CommunityNotFound
Unauthorized

addCommunityPermissionToUser

Add the specified permission on the specified community to the user with the specified id.

POST http://domain:port/application_context/rpc/rest/permissionService/userCommunityPermissions

Arguments

Name Type Description
permission xs:long The permission to add to a user.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.
userID xs:long The id of the user to add a permission too.
communityID xs:long The ID of the community to add the permission on

Arguments Template

<addCommunityPermissionToUser> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
    <userID>xs:long</userID>
    <communityID>xs:long</communityID>
</addCommunityPermissionToUser>

Errors

Error When Returned
UserNotFound
CommunityNotFound
Unauthorized if not a system administrator.

addPermissionToGroup

Add the specified permission to the group with the specified id.

POST http://domain:port/application_context/rpc/rest/permissionService/groupPermissions

Arguments

Name Type Description
permission xs:long The permission to add to a group.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.
groupID xs:long The id of the group to add a permission too.

Arguments Template

<addPermissionToGroup> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
    <groupID>xs:long</groupID>
</addPermissionToGroup>

Errors

Error When Returned
GroupNotFound
Unauthorized if not a system administrator.

addPermissionToUser

Add the specified permission to the user with the specified id.

POST http://domain:port/application_context/rpc/rest/permissionService/userPermissions

Arguments

Name Type Description
permission xs:long The permission to add to a user.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.
userID xs:long The id of the user to add a permission too.

Arguments Template

<addPermissionToUser> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
    <userID>xs:long</userID>
</addPermissionToUser>

Errors

Error When Returned
UserNotFound - if no user matches the specified userID
Unauthorized if not a system administrator.

addRegisteredUserPermission

Add the specified permission to all registered users

POST http://domain:port/application_context/rpc/rest/permissionService/registeredUserPermissions

Arguments

Name Type Description
permission xs:long The permission to add to a user.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.

Arguments Template

<addRegisteredUserPermission> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
</addRegisteredUserPermission>

Errors

Error When Returned
Unauthorized if not a system administrator.

anonymousUserHasPermission

Returns true if the anonymous users have a particular permission globally.

GET http://domain:port/application_context/rpc/rest/permissionService/anonymousUserHasPermission/{permission}/{additive}

Arguments

Name Type Description
permission xs:long The permission to see if anonymous users have this permission.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.

Arguments Template

<anonymousUserHasPermission> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
</anonymousUserHasPermission>

Response

Type Description
xs:boolean True if anonymous users have the specified permission.

Response Template

<anonymousUserHasPermissionResponse> 
    <return>xs:boolean</return>
</anonymousUserHasPermissionResponse>

anonymousUserHasPermissionOnCommunity

Returns true if the anonymous users have a particular permission on the community with the specified ID.

GET http://domain:port/application_context/rpc/rest/permissionService/anonymousUserHasPermissionOnCommunity/{permission}/{additive}/{communityID}

Arguments

Name Type Description
permission xs:long The permission to see if anonymous users have this permission on the specified community.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.
communityID xs:long The ID of the community to check to see if a user has permission on.

Arguments Template

<anonymousUserHasPermissionOnCommunity> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
    <communityID>xs:long</communityID>
</anonymousUserHasPermissionOnCommunity>

Response

Type Description
xs:boolean True if anonymous users have the specified permission.

Response Template

<anonymousUserHasPermissionOnCommunityResponse> 
    <return>xs:boolean</return>
</anonymousUserHasPermissionOnCommunityResponse>

Errors

Error When Returned
CommunityNotFound

authenticate

Returns if the username and password are valid; otherwise this method throws an UnauthorizedException.

GET http://domain:port/application_context/rpc/rest/permissionService/authenticate/{userID}/{password}

Arguments

Name Type Description
userID xs:string The username to authenticate.
password xs:string The password .

Arguments Template

<authenticate> 
    <userID>xs:string</userID>
    <password>xs:string</password>
</authenticate>

Errors

Error When Returned
Unauthorized if the username and password do not match any existing user.

isAuthorized

Returns true if the current user has globally has the specified permission. Certain methods of this class are restricted to certain permissions as specified in the method comments.

GET http://domain:port/application_context/rpc/rest/permissionService/isAuthorized/{permission}

Arguments

Name Type Description
permission xs:long a permission type.

Arguments Template

<isAuthorized> 
    <permission>xs:long</permission>
</isAuthorized>

Response

Type Description
xs:boolean True If the permssion exists globally for the current user.

Response Template

<isAuthorizedResponse> 
    <return>xs:boolean</return>
</isAuthorizedResponse>

isAuthorizedOnCommunity

Returns true if the current user has the permission specified on the specified community.

GET http://domain:port/application_context/rpc/rest/permissionService/isAuthorizedOnCommunity/{permission}/{communityID}

Arguments

Name Type Description
permission xs:long a permission type.
communityID xs:long to see if the current user has permission on.

Arguments Template

<isAuthorizedOnCommunity> 
    <permission>xs:long</permission>
    <communityID>xs:long</communityID>
</isAuthorizedOnCommunity>

Response

Type Description
xs:boolean true if the current user has the permissions.

Response Template

<isAuthorizedOnCommunityResponse> 
    <return>xs:boolean</return>
</isAuthorizedOnCommunityResponse>

Errors

Error When Returned
CommunityNotFound

isGroupAuthorized

Returns true if the specified group has the specified permission on the specified jive Object.

GET http://domain:port/application_context/rpc/rest/permissionService/isGroupAuthorized/{permission}/{groupID}/{objectType}/{objectID}

Arguments

Name Type Description
permission xs:long The permission to test for.
groupID xs:long The group to test for the permission
objectType xs:int The type of object to test against.
objectID xs:long The id of the object to test against.

Arguments Template

<isGroupAuthorized> 
    <permission>xs:long</permission>
    <groupID>xs:long</groupID>
    <objectType>xs:int</objectType>
    <objectID>xs:long</objectID>
</isGroupAuthorized>

Response

Type Description
xs:boolean True if the group is authorized.

Response Template

<isGroupAuthorizedResponse> 
    <return>xs:boolean</return>
</isGroupAuthorizedResponse>

isUserAuthorized

Check to see if the specified user has the particular permission system wide.

GET http://domain:port/application_context/rpc/rest/permissionService/isUserAuthorized/{permissoin}/{userID}

Arguments

Name Type Description
permission xs:long The permission to add to check.
userID xs:long The id of the user.

Arguments Template

<isUserAuthorized> 
    <permission>xs:long</permission>
    <userID>xs:long</userID>
</isUserAuthorized>

Response

Type Description
xs:boolean True if the user has the specified permission.

Response Template

<isUserAuthorizedResponse> 
    <return>xs:boolean</return>
</isUserAuthorizedResponse>

isUserAuthorizedOnCommunity

Check to see if the specified user has the particular permission on the specified community.

GET http://domain:port/application_context/rpc/rest/permissionService/isUserAuthorizedOnCommunity/{permission}/{userID}/{communityID}

Arguments

Name Type Description
permission xs:long The permission to add to check.
userID xs:long The id of the user.
communityID xs:long The id of the community.

Arguments Template

<isUserAuthorizedOnCommunity> 
    <permission>xs:long</permission>
    <userID>xs:long</userID>
    <communityID>xs:long</communityID>
</isUserAuthorizedOnCommunity>

Response

Type Description
xs:boolean True if the user has the permission.

Response Template

<isUserAuthorizedOnCommunityResponse> 
    <return>xs:boolean</return>
</isUserAuthorizedOnCommunityResponse>

Errors

Error When Returned
CommunityNotFound Thrown if the specified community does not exist.

registeredUserHasPermission

Returns true if registered users have a particular permission globally. "Registered Users" does not refer to the static current list of users. Instead, it dynamically matches to any member of the user database.

GET http://domain:port/application_context/rpc/rest/permissionService/registeredUserHasPermission/{permission}/{additive}

Arguments

Name Type Description
permission xs:long The permission to check.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.

Arguments Template

<registeredUserHasPermission> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
</registeredUserHasPermission>

Response

Type Description
xs:boolean true if all registered users have the specified permission.

Response Template

<registeredUserHasPermissionResponse> 
    <return>xs:boolean</return>
</registeredUserHasPermissionResponse>

registeredUserHasPermissionOnCommunity

Returns true if registered users have a particular permission on the community with the specified ID. "Registered Users" does not refer to the static current list of users. Instead, it dynamically matches to any member of the user database.

GET http://domain:port/application_context/rpc/rest/permissionService/registeredUserHasPermissionOnCommunity/{permission}/{additive}/{communityID}

Arguments

Name Type Description
permission xs:long The permission to check.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.
communityID xs:long The ID of the community to check the permission on.

Arguments Template

<registeredUserHasPermissionOnCommunity> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
    <communityID>xs:long</communityID>
</registeredUserHasPermissionOnCommunity>

Response

Type Description
xs:boolean true if all registered users have the specified permission.

Response Template

<registeredUserHasPermissionOnCommunityResponse> 
    <return>xs:boolean</return>
</registeredUserHasPermissionOnCommunityResponse>

Errors

Error When Returned
CommunityNotFound

removeAnonymousUserPermission

Remove the specified permission from anonymous users

DELETE http://domain:port/application_context/rpc/rest/permissionService/anonymousPermissions/{permission}/{additive}

Arguments

Name Type Description
permission xs:long The permission remove from a user.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.

Arguments Template

<removeAnonymousUserPermission> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
</removeAnonymousUserPermission>

Errors

Error When Returned
Unauthorized if not a system administrator.

removeCommunityPermissionFromGroup

Remove the specified permission on the specified community from the group with the specified id.

DELETE http://domain:port/application_context/rpc/rest/permissionService/groupCommunityPermissions/{permission}/{additive}/{groupID}/{communityID}

Arguments

Name Type Description
permission xs:long The permission remove from a group.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.
groupID xs:long The id of the group to remove a permission from.
communityID xs:long The ID of the community to remove the permission from.

Arguments Template

<removeCommunityPermissionFromGroup> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
    <groupID>xs:long</groupID>
    <communityID>xs:long</communityID>
</removeCommunityPermissionFromGroup>

Errors

Error When Returned
GroupNotFound
CommunityNotFound
Unauthorized

removeCommunityPermissionFromUser

Remove the specified permission on the specified community from the user with the specified id.

DELETE http://domain:port/application_context/rpc/rest/permissionService/userCommunityPermissions/{permission}/{additive}/{userID}/{communityID}

Arguments

Name Type Description
permission xs:long The permission remove from a user.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.
userID xs:long The id of the user to remove a permission from.
communityID xs:long The ID of the community to remove the permission from.

Arguments Template

<removeCommunityPermissionFromUser> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
    <userID>xs:long</userID>
    <communityID>xs:long</communityID>
</removeCommunityPermissionFromUser>

Errors

Error When Returned
UserNotFound
CommunityNotFound
Unauthorized

removePermissionFromGroup

Remove the specified permission from the group with the specified id.

DELETE http://domain:port/application_context/rpc/rest/permissionService/groupPermissions/{permission}/{additive}/{groupID}

Arguments

Name Type Description
permission xs:long The permission remove from a group.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.
groupID xs:long The id of the group to remove a permission from.

Arguments Template

<removePermissionFromGroup> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
    <groupID>xs:long</groupID>
</removePermissionFromGroup>

Errors

Error When Returned
GroupNotFound
Unauthorized if not a system administrator.

removePermissionFromUser

Remove the specified permission from the user with the specified id.

DELETE http://domain:port/application_context/rpc/rest/permissionService/userPermissions/{permission}/{additive}/{userID}

Arguments

Name Type Description
permission xs:long The permission remove from a user.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.
userID xs:long The id of the user to remove a permission from.

Arguments Template

<removePermissionFromUser> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
    <userID>xs:long</userID>
</removePermissionFromUser>

Errors

Error When Returned
UserNotFound - if no user matches the specified userID
Unauthorized if not a system administrator.

removeRegisteredUserPermission

Remove the specified permission from all registered users

DELETE http://domain:port/application_context/rpc/rest/permissionService/registeredUserPermissions/{permission}/{additive}

Arguments

Name Type Description
permission xs:long The permission remove from a user.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.

Arguments Template

<removeRegisteredUserPermission> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
</removeRegisteredUserPermission>

Errors

Error When Returned
Unauthorized if not a system administrator.

usersWithPermission

Returns all the userID's of users with a particular permission. This list does not include the special "anonymous users" and "registered users" permission types. This method is not the normal method for determining if a user has a certain permission on an object in the system; instead it is only useful for permission management. For example, to check if a user has(perm), where community is the community you want to check perms on.

GET http://domain:port/application_context/rpc/rest/permissionService/userPermissions/{permission}/{additive}

Arguments

Name Type Description
permission xs:long the permission to check.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.

Arguments Template

<usersWithPermission> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
</usersWithPermission>

Response

Type Description
List of an Iterator of all the users with the specified permission.

Response Template

<usersWithPermissionResponse> 
    <!-- List of ... -->
    <return>xs:long</return>
</usersWithPermissionResponse>

usersWithPermissionCount

Returns a count of the users that have a particular permission. This count does not include the special "anonymous users" and "registered users" permission types.

GET http://domain:port/application_context/rpc/rest/permissionService/usersWithPermissionCount/{permission}/{additive}

Arguments

Name Type Description
permission xs:long the permission to check.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.

Arguments Template

<usersWithPermissionCount> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
</usersWithPermissionCount>

Response

Type Description
xs:int a count of the users that have a particular permission.

Response Template

<usersWithPermissionCountResponse> 
    <return>xs:int</return>
</usersWithPermissionCountResponse>

usersWithPermissionCountOnCommunity

Returns a count of the users that have a particular permission on the specified community. This count does not include the special "anonymous users" and "registered users" permission types.

GET http://domain:port/application_context/rpc/rest/permissionService/communityUserPermissionCount/{permission}/{additive}/{communityID}

Arguments

Name Type Description
permission xs:long the permission to check.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects
communityID xs:long The id of the community..

Arguments Template

<usersWithPermissionCountOnCommunity> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
    <communityID>xs:long</communityID>
</usersWithPermissionCountOnCommunity>

Response

Type Description
xs:int a count of the users that have a particular permission.

Response Template

<usersWithPermissionCountOnCommunityResponse> 
    <return>xs:int</return>
</usersWithPermissionCountOnCommunityResponse>

Errors

Error When Returned
CommunityNotFound

usersWithPermissionOnCommunity

Returns all the userID's of users with a particular permission on the specified community. This list does not include the special "anonymous users" and "registered users" permission types. This method is not the normal method for determining if a user has a certain permission on an object in the system; instead it is only useful for permission management. For example, to check if a user has(perm), where community is the community you want to check perms on.

GET http://domain:port/application_context/rpc/rest/permissionService/userCommunityPermissions/{permission}/{additive}/{communityID}

Arguments

Name Type Description
permission xs:long the permission to check.
additive xs:boolean True if the permission should be 'added' to the permissions retrieved from a parent object(s). This means that if the permission has been already set in a parent object, it will be inherited by all child objects.
communityID xs:long The ID of the community to get users with the specified permission.

Arguments Template

<usersWithPermissionOnCommunity> 
    <permission>xs:long</permission>
    <additive>xs:boolean</additive>
    <communityID>xs:long</communityID>
</usersWithPermissionOnCommunity>

Response

Type Description
List of an array of ids of the users with the specified permission.

Response Template

<usersWithPermissionOnCommunityResponse> 
    <!-- List of ... -->
    <return>xs:long</return>
</usersWithPermissionOnCommunityResponse>

Errors

Error When Returned
CommunityNotFound