This document list the web services that Clearspace exposes via REST, or Representational State Transfer.

As with other REST-style web services, methods here are each in one of four forms, similar to database operations.

Reading This Reference

The method descriptions here give the method type (also known as the HTTP "verb,"), such as GET, PUT, POST, or DELETE. They also give the resource endpoint. The endpoint is merely the end of the resource URI, which begins with the URL of your Clearspace instance and includes the general address of REST web services in Clearspace. Taken together, the complete URI's form is what you should use when requesting resources. That form looks like this:

http://<host_name>:<port_number>/<context>/rpc/rest/<endpoint>

So if your domain was at example.com and you had code to find out if avatars were enabled, you might end up with a resource URI like the following:

http://example.com:8080/ourspace/rpc/rest/avatarService/isAvatarsEnabled

Example

Here's a brief client example in Java for getting a Clearspace REST resource. REST services in Clearspace use basic authentication, so you'll need to pass in user credentials that have sufficient permission to get the resource you're requesting.

This example uses DOM4J and Apache's HttpClient, but there aren't any implementation restrictions on how you request the resource and manipulate XML parameter or return values.

import java.io.InputStream;

import org.apache.commons.httpclient.Credentials;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.GetMethod;
import org.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

// Code omitted.

// Use apache commons-httpclient to create the request/response
HttpClient client = new HttpClient();
Credentials defaultcreds = new UsernamePasswordCredentials("joe_admin",
    "mypassword");
client.getState().setCredentials(AuthScope.ANY, defaultcreds);

// GET a community by its ID number, which is "1".
GetMethod method = new GetMethod(
    "http://example.com:8080/clearspace/rpc/rest/communityService/communities/1");
client.executeMethod(method);
InputStream in = method.getResponseBodyAsStream();

// Use dom4j to parse the response and print nicely to the output stream
SAXReader reader = new SAXReader();
Document document = reader.read(in);
XMLWriter writer = new XMLWriter(System.out, OutputFormat
    .createPrettyPrint());
writer.write(document);

Note that to use any of the web services exposed by Clearspace, you'll need to first enable web services for your Clearspace instance. You can do that in the admin console at System > Settings > Web Services. On the Web Services page, enable the type of web services you want exposed by Clearspace, then click Save Settings.

Service Description
addressBookService Provides ability to interact with the Private Message addressbook.
attachmentService <p> A web service for managing attachment settings.
auditService Provides a webservice for auditing actions from remote services.
avatarService
blogService A web service interface for managing blogs.
commentService
communityService Provides the ability to manipulate communities.
documentService This service provides methods to load and manipulate documents, comments.
forumService Provides the ability to manipulate forum messages.
groupService Provides a the ability for managing groups and group membership.
iMService Provides a the ability for managing real time comunication.
permissionService Provides a webservice for managing permissions on users and groups.
pollService
privateMessageService Provides the ability to manipulate private messages.
profileFieldService Defines methods used to create, access, update, and remove profile fields data.
profileSearchService Provides the ability to search users.
profileService Manages user profile data.
projectService This service provides methods to load tasks by ID and to retrieve lists of projects.
ratingsService
referenceService Manager used to create references between different kind of jive objects.
searchService Provides the ability to search for content.
statusLevelService Manages status level feature.
systemPropertiesService Provides a web service for managing Jive System Properties.
tagService Provides a service to create, retrieve and delete tags.
taskService
userService Provides a webservice for managing user's, avatar's, and status levels.
watchService A service for manipulating a user's watches on objects.

addressBookService

Provides ability to interact with the Private Message addressbook. Retrieve, add and remove users.



Method Description
addUser Adds a specified username to users addressbook.
addUsers Adds a list of users to the Private Message addressbook of the specified user.
getRoster Retrieves a list of users contained within the specified users addressbook.
removeUser Removes the specified username from a users Private Message addressbook.
removeUsers Removes the specified list of users from a users Private Message addressbook.

addUser

Adds a specified username to users addressbook.

Method Type Endpoint
POST /addressbooks

Parameters

userID
associated with the addressbook to be manipulated
usernameToAdd
username of the user to add
XML Format
<addUser> 
  <userID>long</userID>

  <usernameToAdd>String</usernameToAdd>
</addUser>

addUsers

Adds a list of users to the Private Message addressbook of the specified user.

Method Type Endpoint
POST /bulk

Parameters

userID
associated with the addressbook to be manipulated
userIDsToAdd
list of userIds to add to the addressbook
XML Format
<addUsers> 
  <userID>long</userID>

  <userIDsToAdd>long</userIDsToAdd>
</addUsers>

getRoster

Retrieves a list of users contained within the specified users addressbook.

Method Type Endpoint
GET /addressbooks/{userID}

Parameters

userID
of the the users addressbook to retrieve

removeUser

Removes the specified username from a users Private Message addressbook.

Method Type Endpoint
DELETE /addressbooks/{userID}/{usernameToRemove}

Parameters

userID
associated with the addressbook to be manipulated
usernameToRemove
username to remove from the addressbook

removeUsers

Removes the specified list of users from a users Private Message addressbook.

Method Type Endpoint
DELETE /bulk}

Parameters

userID
associated with the addressbook to be manipulated
userIDsToRemove
list of user ids to remove from the addressbook

attachmentService

A web service for managing attachment settings. A clone of the com.jivesoftware.community.AttachmentManager, modified for a web service.

There are three main properties that can administered with respect to attachments:





Method Description
addAllowedType Adds a content type to the list of explicitly allowed types.
addDisallowedType Adds a content type to the list of explicitly disallowed types.
getAllowedTypes Returns a List of explicitly allowed types.
getDisallowedTypes Returns a List of explicitly disallowed types.
getImagePreviewMaxSize Returns the max dimension of generated thumbnails (ie, the max value for the width or height).
getMaxAttachmentSize Returns the maximum size of an individual attachment in kilobytes.
getMaxAttachmentsPerBlogPost Returns the maximum number of attachments per blog post.
getMaxAttachmentsPerDocument Returns the maximum number of attachments per document.
getMaxAttachmentsPerMessage Returns the maximum number of attachments per message.
isAllowAllByDefault Returns true if in the "allow all content types by default" mode.
isAttachmentsEnabled Returns true if attachments are enabled, false otherwise.
isImagePreviewEnabled Returns true if image preview support is enabled.
isImagePreviewRatioEnabled Returns true if the aspect ratio of thumbnails should be preserved.
isValidType Returns true if the content type is valid based on the current settings of the <tt>allowAllByDefault</tt> flag and the allowed and disallowed types list.
removeAllowedType Removes a content type fromt he list of explicitly allowed types.
removeDisallowedType Removes a content type from the list of explicitly disallowed types.
setAllowAllByDefault Sets the default allowed content types mode.
setAttachmentsEnabled Sets whether attachments are attachmentsEnabled, false otherwise.
setImagePreviewEnabled Toggles whether image preview support is enabled.
setImagePreviewMaxSize Sets the max dimension of generated thumbnails (ie, the max value for the width or height).
setImagePreviewRatioEnabled Toggles whether the aspect ratio of thumbnails should be preserved.
setMaxAttachmentSize Sets the maximum size of an individual attachment in kilobytes.
setMaxAttachmentsPerBlogPost Sets the maximum number of attachments per blog post.
setMaxAttachmentsPerDocument Sets the maximum number of attachments per document.
setMaxAttachmentsPerMessage Sets the maximum number of attachments per message.

addAllowedType

Adds a content type to the list of explicitly allowed types.

Method Type Endpoint
POST /allowedTypes

Parameters

contentType
a content type to add to the explicitly allowed types list.
XML Format
<addAllowedType> 
  <contentType>String</contentType>
</addAllowedType>

addDisallowedType

Adds a content type to the list of explicitly disallowed types.

Method Type Endpoint
POST /disallowedTypes

Parameters

contentType
a content type to add to the explicitly disallowed types list.
XML Format
<addDisallowedType> 
  <contentType>String</contentType>
</addDisallowedType>

getAllowedTypes

Returns a List of explicitly allowed types.

Method Type Endpoint
GET /allowedTypes

getDisallowedTypes

Returns a List of explicitly disallowed types.

Method Type Endpoint
GET /disallowedTypes

getImagePreviewMaxSize

Returns the max dimension of generated thumbnails (ie, the max value for the width or height). The default value is 25.

Method Type Endpoint
GET /imagePreviewMaxSize

getMaxAttachmentSize

Returns the maximum size of an individual attachment in kilobytes. Trying to create an attachment larger than the max size will fail with an exception. The default maximum attachment size is 1 megabyte, or 1,024 K.

Method Type Endpoint
GET /maxAttachmentSize

getMaxAttachmentsPerBlogPost

Returns the maximum number of attachments per blog post. The default is 5 attachments.

Method Type Endpoint
GET /maxAttachmentsPerBlogPost

getMaxAttachmentsPerDocument

Returns the maximum number of attachments per document. The default is 5 attachments.

Method Type Endpoint
GET /maxAttachmentsPerDoc

getMaxAttachmentsPerMessage

Returns the maximum number of attachments per message. The default is 5 attachments.

Method Type Endpoint
GET /maxAttachmentsPerMessage

isAllowAllByDefault

Returns true if in the "allow all content types by default" mode. The alternative is that all content types are disallowed unless they're on the "allowed" list.

Method Type Endpoint
GET /allowAllByDefault

isAttachmentsEnabled

Returns true if attachments are enabled, false otherwise.

Method Type Endpoint
GET /attachmentsEnabled

isImagePreviewEnabled

Returns true if image preview support is enabled. When enabled, the JiveServlet will generate thumbnails for image attachments. False by default.

Method Type Endpoint
GET /imagePreviewEnabled

isImagePreviewRatioEnabled

Returns true if the aspect ratio of thumbnails should be preserved. When enabled, the aspect ratio of the original image will be preserved when generating the thumbnail. When false, the thumbnail will always be a square (which may distort the image). The default is true..

Method Type Endpoint
GET /imagePreviewRatioEnabled

isValidType

Returns true if the content type is valid based on the current settings of the allowAllByDefault flag and the allowed and disallowed types list.

Method Type Endpoint
GET /allowedTypes/{contentType}

Parameters

contentType
the content type to test.

removeAllowedType

Removes a content type fromt he list of explicitly allowed types. If the given content type does not exist in the list, this method does nothing.

Method Type Endpoint
DELETE /allowedTypes/{contentType}

Parameters

contentType
a content type to remove from the explicitly allowed types list.

removeDisallowedType

Removes a content type from the list of explicitly disallowed types.

Method Type Endpoint
DELETE /disallowedTypes/{contentType}

Parameters

contentType
a content type to remove from the explicitly disallowed types list.

setAllowAllByDefault

Sets the default allowed content types mode. The value true means that all content types will be allowed unless they're on the "disallowed list". If false, no content types will be allowed unless on the "allowed list".

Method Type Endpoint
POST /allowAllByDefault

Parameters

allowAllByDefault
<tt>true</tt> if all content types should be allowed by default.
XML Format
<setAllowAllByDefault> 
  <allowAllByDefault>boolean</allowAllByDefault>
</setAllowAllByDefault>

setAttachmentsEnabled

Sets whether attachments are attachmentsEnabled, false otherwise.

Method Type Endpoint
POST /attachmentsEnabled

Parameters

attachmentsEnabled
true if attachments are attachmentsEnabled, false otherwise.
XML Format
<setAttachmentsEnabled> 
  <attachmentsEnabled>boolean</attachmentsEnabled>
</setAttachmentsEnabled>

setImagePreviewEnabled

Toggles whether image preview support is enabled. When enabled, the JiveServlet will generate thumbnails for image attachments. False by default.

Method Type Endpoint
POST /imagePreviewEnabled

Parameters

imagePreviewEnabled
true if thumbnail support should be enabled.
XML Format
<setImagePreviewEnabled> 
  <imagePreviewEnabled>boolean</imagePreviewEnabled>
</setImagePreviewEnabled>

setImagePreviewMaxSize

Sets the max dimension of generated thumbnails (ie, the max value for the width or height). The default value is 25.

Method Type Endpoint
POST /imagePreviewMaxSize

Parameters

imagePreviewMaxSize
the max dimension of a thumbnail.
XML Format
<setImagePreviewMaxSize> 
  <imagePreviewMaxSize>int</imagePreviewMaxSize>
</setImagePreviewMaxSize>

setImagePreviewRatioEnabled

Toggles whether the aspect ratio of thumbnails should be preserved. When enabled, the aspect ratio of the original image will be preserved when generating the thumbnail. When false, the thumbnail will always be a square (which may distort the image). The default is true.

Method Type Endpoint
POST /imagePreviewRatioEnabled

Parameters

imagePreviewRatioEnabled
true if the aspect ration should be preserved.
XML Format
<setImagePreviewRatioEnabled> 
  <imagePreviewRatioEnabled>boolean</imagePreviewRatioEnabled>
</setImagePreviewRatioEnabled>

setMaxAttachmentSize

Sets the maximum size of an individual attachment in kilobytes. Trying to create an attachment larger than the max size will fail with an exception. The default maximum attachment size is 1 megabyte, or 1024 K.

Method Type Endpoint
POST /maxAttachmentSize

Parameters

maxAttachmentSize
the max size in kilobytes of any single attachment.
XML Format
<setMaxAttachmentSize> 
  <maxAttachmentSize>int</maxAttachmentSize>
</setMaxAttachmentSize>

setMaxAttachmentsPerBlogPost

Sets the maximum number of attachments per blog post. The default is 5 attachments.

Method Type Endpoint
POST /maxAttachmentsPerBlogPost

Parameters

maxAttachmentsPerBlogPost
the max number of attachments allowed per blog post.
XML Format
<setMaxAttachmentsPerBlogPost> 
  <maxAttachmentsPerBlogPost>int</maxAttachmentsPerBlogPost>
</setMaxAttachmentsPerBlogPost>

setMaxAttachmentsPerDocument

Sets the maximum number of attachments per document. The default is 5 attachments.

Method Type Endpoint
POST /maxAttachmentsPerDocument

Parameters

maxAttachmentsPerDocument
the max number of attachments allowed per document.
XML Format
<setMaxAttachmentsPerDocument> 
  <maxAttachmentsPerDocument>int</maxAttachmentsPerDocument>
</setMaxAttachmentsPerDocument>

setMaxAttachmentsPerMessage

Sets the maximum number of attachments per message. The default is 5 attachments.

Method Type Endpoint
POST /maxAttachmentsPerMessage

Parameters

maxAttachmentsPerMessage
the max number of attachments allowed per message.
XML Format
<setMaxAttachmentsPerMessage> 
  <maxAttachmentsPerMessage>int</maxAttachmentsPerMessage>
</setMaxAttachmentsPerMessage>

auditService

Provides a webservice for auditing actions from remote services.

For soap services this service can be accessed at /rpc/soap/AuditService For rest services this service can be accessed at /rpc/rest/audit



Method Description
auditEvent Audits (logs) a remote event with formatted data passed from remote service.
getAuditMessages Retrieves audit logs and returns them to remote caller.

auditEvent

Audits (logs) a remote event with formatted data passed from remote service.

Method Type Endpoint
POST /audit

Parameters

username
The name of user.
description
The description (summary) of the event.
details
The details of the method call.
XML Format
<auditEvent> 
  <username>String</username>

  <description>String</description>

  <details>String</details>
</auditEvent>

getAuditMessages

Retrieves audit logs and returns them to remote caller.

Method Type Endpoint
GET /audit

avatarService





Method Description
createAvatar Creates a new avatar for a user allowing the user to specify byte array for the image.
deleteAvatar Deletes an avatar from the system.
getActiveAvatar Returns an avatar for a user, else the if the user does not have an active avatar specified.
getAvatar Used to acquire an avatar by its id
getAvatarCount Used to acquire a count of all the avatars for a specific user
getAvatars Returns a collection of avatars for a user
getGlobalAvatars Returns a collection of all of the global avatars
getMaxAllowableHeight Returns the maximum allowable height for an avatar image
getMaxAllowableWidth Returns the maximum allowable width for an avatar image
getMaxUserAvatars Returns the maximum amount of avatars a user is allowed to have, -1 for limitless
getModerationAvatarCount Used to acquire a count of all the avatars that require moderation.
getModerationAvatars Returns a collection of all of the avatars that require moderation.
isAllowImageResize Returns true if the system should attempt to resize images
isAvatarsEnabled Returns true if the avatars feature is enabled, else false
isModerateUserAvatars Returns whether or not user avatars will be moderated.
isUserAvatarsEnabled Returns true if users can create their own avatars, false otherwise.
setActiveAvatar Used to make a user use a global avatar, to set no active avatar pass -1 for the avatar value.
setAllowImageResize Used to set whether the system should attempt to resize images
setMaxAllowableHeight Sets the maximum allowable height for an avatar image
setMaxAllowableWidth Sets the maximum allowable width for an avatar image
setMaxUserAvatars Sets the maximum number of avatars a user can have
setModerateUserAvatars Sets whether or not user avatars will be moderated.
setUserAvatarsEnabled Sets whether or not users can create their own custom avatars.

createAvatar

Creates a new avatar for a user allowing the user to specify byte array for the image.

Method Type Endpoint
POST /avatars

Parameters

ownerID
the user ID to create the avatar for
name
image name of the avatar
contentType
mime type of the image
data
byte array of the image
XML Format
<createAvatar> 
  <ownerID>long</ownerID>

  <name>String</name>

  <contentType>String</contentType>

  <data>byte</data>
</createAvatar>

deleteAvatar

Deletes an avatar from the system.

Method Type Endpoint
DELETE /avatar/{avatarID}

Parameters

avatarID
the avatar ID to delete

getActiveAvatar

Returns an avatar for a user, else the if the user does not have an active avatar specified.

Method Type Endpoint
GET /activeAvatar/{userID}

Parameters

userID
user ID to acquire an avatar for

getAvatar

Used to acquire an avatar by its id

Method Type Endpoint
GET /avatarByID/{avatarID}

Parameters

avatarID
unique id of the avatar

getAvatarCount

Used to acquire a count of all the avatars for a specific user

Method Type Endpoint
GET /avatarCount/{userID}

Parameters

userID
user to count avatars for

getAvatars

Returns a collection of avatars for a user

Method Type Endpoint
GET /avatarsByUser/{userID}

Parameters

userID
user ID to find an avatar for

getGlobalAvatars

Returns a collection of all of the global avatars

Method Type Endpoint
GET /globalAvatars

getMaxAllowableHeight

Returns the maximum allowable height for an avatar image

Method Type Endpoint
GET /avatarMaxAllowableHeight

getMaxAllowableWidth

Returns the maximum allowable width for an avatar image

Method Type Endpoint
GET /avatarMaxAllowableWidth

getMaxUserAvatars

Returns the maximum amount of avatars a user is allowed to have, -1 for limitless

Method Type Endpoint
GET /maxUserAvatars

getModerationAvatarCount

Used to acquire a count of all the avatars that require moderation.

Method Type Endpoint
GET /moderationAvatarCount

getModerationAvatars

Returns a collection of all of the avatars that require moderation.

Method Type Endpoint
GET /moderationAvatars

isAllowImageResize

Returns true if the system should attempt to resize images

Method Type Endpoint
GET /avatarAllowImageResize

isAvatarsEnabled

Returns true if the avatars feature is enabled, else false

Method Type Endpoint
GET /avatarsEnabled

isModerateUserAvatars

Returns whether or not user avatars will be moderated. The default value is true.

Method Type Endpoint
GET /moderateUserAvatars

isUserAvatarsEnabled

Returns true if users can create their own avatars, false otherwise. If custom user avatars are enabled, the number of custom avatars allowed per user and whether or not custom avatars should be moderated can be set using setMaxUserAvatars(int max); and setModerateUserAvatars(boolean moderateUserAvatars); respecitvely.

Method Type Endpoint
GET /userAvatarsEnabled

setActiveAvatar

Used to make a user use a global avatar, to set no active avatar pass -1 for the avatar value.

Method Type Endpoint
POST /activeAvatar

Parameters

userID
the user ID to set an avatar for
avatarID
the avatar ID to make active
XML Format
<setActiveAvatar> 
  <userID>long</userID>

  <avatarID>long</avatarID>
</setActiveAvatar>

setAllowImageResize

Used to set whether the system should attempt to resize images

Method Type Endpoint
POST /avatarAllowImageResize

Parameters

isAllowImageResize
whether the system should attempt to resize images
XML Format
<setAllowImageResize> 
  <isAllowImageResize>boolean</isAllowImageResize>
</setAllowImageResize>

setMaxAllowableHeight

Sets the maximum allowable height for an avatar image

Method Type Endpoint
POST /avatarMaxAllowableHeight

Parameters

height
the maximum allowable height for an avatar image
XML Format
<setMaxAllowableHeight> 
  <height>int</height>
</setMaxAllowableHeight>

setMaxAllowableWidth

Sets the maximum allowable width for an avatar image

Method Type Endpoint
POST /avatarMaxAllowableWidth

Parameters

width
the maximum allowable width for an avatar image
XML Format
<setMaxAllowableWidth> 
  <width>int</width>
</setMaxAllowableWidth>

setMaxUserAvatars

Sets the maximum number of avatars a user can have

Method Type Endpoint
POST /maxUserAvatars

Parameters

max
the maximum number of avatars a user can have
XML Format
<setMaxUserAvatars> 
  <max>int</max>
</setMaxUserAvatars>

setModerateUserAvatars

Sets whether or not user avatars will be moderated. The default value is true.

Method Type Endpoint
POST /moderateUserAvatars

Parameters

moderateUserAvatars
whether or not user avatars will be moderated
XML Format
<setModerateUserAvatars> 
  <moderateUserAvatars>boolean</moderateUserAvatars>
</setModerateUserAvatars>

setUserAvatarsEnabled

Sets whether or not users can create their own custom avatars. If custom user avatars are enabled, the number of custom avatars allowed per user and whether or not custom avatars should be moderated can be set using setMaxUserAvatars(int max); and setModerateUserAvatars(boolean moderateUserAvatars); respecitvely.

Method Type Endpoint
POST /userAvatarsEnabled

Parameters

enableCustomAvatars
true if custom user avatars are enabled, false otherwise
XML Format
<setUserAvatarsEnabled> 
  <enableCustomAvatars>boolean</enableCustomAvatars>
</setUserAvatarsEnabled>

blogService

A web service interface for managing blogs.



Method Description
addAttachmentToBlogPost Adds an attachment to the blog post with the specified ID.
addImageToBlogPost Adds an image to the blog post with the specified ID.
createBlog Creates a new blog.
createBlogPost Creates a new blog post.
deleteBlog Permanently deletes a blog and all of the blog postings and comments associated with the blog.
deleteBlogPost Permanently deletes a blog post and all of the comments associated with the it.
getAttachmentsByBlogPostID Returns an array of attachments that are attached to the specified blog post.
getBlog Returns a blog by blog blogName.
getBlog Returns a blog by blog ID.
getBlogCount Returns the total number of blogs on this system.
getBlogCount Returns the total number of blogs on this system that match the criteria specified by the ResultFilter.
getBlogCountForUser Returns the count of all blogs which are associated with the given user.
getBlogPost Returns a blog by blog ID.
getBlogPostCount Returns the number of blog posts on the system, by default only includes blog posts where status = and publish date less than now().
getBlogPostCount Returns the number of blog posts on the system.
getBlogPosts Returns all the blog posts that match the criteria specified by the BlogPostResultFilter on the entire system.
getBlogsByDisplayName Returns all the blogs on this system whose display name is LIKE the given query.
getBlogsForUser Returns all blogs which are associated with the given user.
getCommentCount Returns the number of comments on blog posts in the system.
getCommentCount Returns the number of comments on blog posts that match the criteria specified by the FeedbackResultFilter in the entire system.
getComments Returns all the comments on blog posts that match the criteria specified by the FeedbackResultFilter in the entire system.
getImagesByBlogPostID Returns an array of images that are attached to the specified blog post.
getPingServices Returns a comma delimited list of available ping services for the system.
getRecentBlogs Returns (at most) the ten most recent blogs created on this system.
getTags Returns all tags for blogs in the system.
getTags Returns all tags for blogs in the system filtered by the BlogTagResultFilter.
isBlogsEnabled Returns true if the blogs feature is turned on.
isCommentsEnabled Returns true if the comments feature is turned on.
isPingsEnabled Returns true if the pings feature is turned on.
isPingsOverrideEnabled Returns true if the system has been configured to allow users to override the ping URIs configured for the system.
isTrackbacksEnabled Returns true if the trackbacks feature is turned on.
publishBlogPost
setBlogsEnabled Enables or disables the blogs feature.
setCommentsEnabled Enables or disables the comments feature system wide.
setPingsEnabled Enables or disables the pings feature system wide.
setPingServices Sets the comma delimited list of available ping services for the system.
setPingsOverrideEnabled Configures the system to allow users to override the ping URIs configured for all blogs.
setTrackbacksEnabled Enables or disables the trackbacks feature system wide.
updateBlogPost
userHasBlogs Returns <tt>true</tt> if the given user has one or more blogs, <tt>false</tt> if the user does not have a blog.

addAttachmentToBlogPost

Adds an attachment to the blog post with the specified ID.

Method Type Endpoint
POST /attachments

Parameters

blogPostID
The ID of the blog post.
name
The name of the attachment.
contentTypes
the content type of the attachment.
source
The content for the attachment.
XML Format
<addAttachmentToBlogPost> 
  <blogPostID>long</blogPostID>

  <name>String</name>

  <contentTypes>String</contentTypes>

  <source>byte</source>
</addAttachmentToBlogPost>

addImageToBlogPost

Adds an image to the blog post with the specified ID.

Method Type Endpoint
POST /images

Parameters

blogPostID
The ID of the blog post.
name
The name of the image.
contentTypes
the content type of the image.
source
The content for the image.
XML Format
<addImageToBlogPost> 
  <blogPostID>long</blogPostID>

  <name>String</name>

  <contentTypes>String</contentTypes>

  <source>byte</source>
</addImageToBlogPost>

createBlog

Creates a new blog.

Method Type Endpoint
POST /blogs

Parameters

userID
the user ID creating the blog.
blogName
the name of the blog.
displayName
the display name of the blog.
XML Format
<createBlog> 
  <userID>long</userID>

  <blogName>String</blogName>

  <displayName>String</displayName>
</createBlog>

createBlogPost

Creates a new blog post.

Method Type Endpoint
POST /blogPosts

Parameters

subject
the subject of the blog post.
body
the body content of the blog post.
blogID
the id of the blog to post to.
userID
the user ID creating the blog post.
XML Format
<createBlogPost> 
  <subject>String</subject>

  <body>String</body>

  <blogID>long</blogID>

  <userID>long</userID>
</createBlogPost>

deleteBlog

Permanently deletes a blog and all of the blog postings and comments associated with the blog.

Method Type Endpoint
DELETE /blogs/{blogID}

Parameters

blogID
the ID of the blog to delete.

deleteBlogPost

Permanently deletes a blog post and all of the comments associated with the it.

Method Type Endpoint
DELETE /blogPosts/{blogPostID}

Parameters

blogPostID
the ID of the blog post to delete.

getAttachmentsByBlogPostID

Returns an array of attachments that are attached to the specified blog post.

Method Type Endpoint
GET /attachments/{blogPostID}

Parameters

blogPostID
The ID of the blog post to acquire attachments for.

getBlog

Returns a blog by blog ID.

Method Type Endpoint
GET /blogsByID/{blogID}

Parameters

blogID
the ID of the blog to return.

getBlog

Returns a blog by blog blogName.

Method Type Endpoint
GET /blogsByName/{blogName}

Parameters

blogName
the displayName of the blog to return.

getBlogCount

Returns the total number of blogs on this system.

Method Type Endpoint
GET /blogCount

getBlogCount

Returns the total number of blogs on this system that match the criteria specified by the ResultFilter.

Method Type Endpoint
POST /blogCount

Parameters

filter
the besult filter holding the criteria to filter the blog count
XML Format
<getBlogCount> 
  <filter>WSBlogResultFilter</filter>
</getBlogCount>

getBlogCountForUser

Returns the count of all blogs which are associated with the given user.

Method Type Endpoint
GET /userBlogCount/{userID}

Parameters

userID
the ID of the user to find blogs for

getBlogPost

Returns a blog by blog ID.

Method Type Endpoint
GET /blogPosts/{blogPostID}

Parameters

blogPostID
the ID of the blog to return.

getBlogPostCount

Returns the number of blog posts on the system, by default only includes blog posts where status = and publish date less than now().

Method Type Endpoint
GET /blogPostCount

getBlogPostCount

Returns the number of blog posts on the system. The default blog post result filter () only includes blog posts where status = and publish date less than now().

Method Type Endpoint
POST /blogPostCount

Parameters

filter
the besult filter holding the criteria to filter the blogposts
XML Format
<getBlogPostCount> 
  <filter>WSBlogPostResultFilter</filter>
</getBlogPostCount>

getBlogPosts

Returns all the blog posts that match the criteria specified by the BlogPostResultFilter on the entire system.

Method Type Endpoint
POST /blogsPostsWithFilter

Parameters

filter
a BlogPostResultFilter object to perform filtering and sorting with.
XML Format
<getBlogPosts> 
  <filter>WSBlogPostResultFilter</filter>
</getBlogPosts>

getBlogsByDisplayName

Returns all the blogs on this system whose display name is LIKE the given query.

NOTE: This method is designed only to be used only by administrators for administration purposes and will throw an UnauthorizedException if the current user is not a system administrator.

Method Type Endpoint
GET /blogsByDisplayName/{query}/{startIndex}/{endIndex}/{numResults}

Parameters

query
a string to search blog display names by
startIndex
Starting index to grab blogs.
endIndex
Ending index to grab blogs.
numResults
Total number of results to grab.

getBlogsForUser

Returns all blogs which are associated with the given user.

Method Type Endpoint
GET /userBlogs/{userID}

Parameters

userID
the ID of the user to find blogs for

getCommentCount

Returns the number of comments on blog posts in the system.

Method Type Endpoint
GET /commentCount

getCommentCount

Returns the number of comments on blog posts that match the criteria specified by the FeedbackResultFilter in the entire system.

Method Type Endpoint
POST /commentCountWithFilter

Parameters

filter
a FeedbackResultFilter object to perform filtering and sorting with.
XML Format
<getCommentCount> 
  <filter>WSFeedbackResultFilter</filter>
</getCommentCount>

getComments

Returns all the comments on blog posts that match the criteria specified by the FeedbackResultFilter in the entire system.

Method Type Endpoint
POST /commentsWithFilter

Parameters

filter
a FeedbackResultFilter object to perform filtering and sorting with.
XML Format
<getComments> 
  <filter>WSFeedbackResultFilter</filter>
</getComments>

getImagesByBlogPostID

Returns an array of images that are attached to the specified blog post.

Method Type Endpoint
GET /images/{blogPostID}

Parameters

blogPostID
The ID of the blog post to acquire images for.

getPingServices

Returns a comma delimited list of available ping services for the system.

Method Type Endpoint
GET /pingServices

getRecentBlogs

Returns (at most) the ten most recent blogs created on this system.

Method Type Endpoint
GET /recentBlogs

getTags

Returns all tags for blogs in the system.

Method Type Endpoint
GET /tags

getTags

Returns all tags for blogs in the system filtered by the BlogTagResultFilter.

Method Type Endpoint
POST /tags

isBlogsEnabled

Returns true if the blogs feature is turned on. When blogs are disabled, other methods serve as no-ops.

Method Type Endpoint
GET /blogsEnabled

isCommentsEnabled

Returns true if the comments feature is turned on. When comments are disabled on the system, all individual blog comment settings are disabled as well.

Method Type Endpoint
GET /commentsEnabled

isPingsEnabled

Returns true if the pings feature is turned on. When pings are disabled on the system, all individual blog ping settings are disabled as well.

Method Type Endpoint
GET /pingsEnabled

isPingsOverrideEnabled

Returns true if the system has been configured to allow users to override the ping URIs configured for the system.

Method Type Endpoint
GET /pingsOverrideEnabled

isTrackbacksEnabled

Returns true if the trackbacks feature is turned on. When trackbacks are disabled on the system, all individual blog trackback settings are disabled as well.

Method Type Endpoint
GET /trackbacksEnabled

publishBlogPost

Method Type Endpoint
POST /publishBlogPost

Parameters

subject
body
blogID
userID
XML Format
<publishBlogPost> 
  <subject>String</subject>

  <body>String</body>

  <blogID>long</blogID>

  <userID>long</userID>
</publishBlogPost>

setBlogsEnabled

Enables or disables the blogs feature. When blogs are disabled, other methods serve as no-ops.

Method Type Endpoint
POST /blogsEnabled

Parameters

blogsEnabled
true to enable the blogs feature, false to disable
XML Format
<setBlogsEnabled> 
  <blogsEnabled>boolean</blogsEnabled>
</setBlogsEnabled>

setCommentsEnabled

Enables or disables the comments feature system wide.

Method Type Endpoint
POST /commentsEnabled

Parameters

commentsEnabled
true to enable the comments feature, false to disable
XML Format
<setCommentsEnabled> 
  <commentsEnabled>boolean</commentsEnabled>
</setCommentsEnabled>

setPingsEnabled

Enables or disables the pings feature system wide.

Method Type Endpoint
POST /pingsEnabled

Parameters

pingsEnabled
true to enable the ping feature, false to disable
XML Format
<setPingsEnabled> 
  <pingsEnabled>boolean</pingsEnabled>
</setPingsEnabled>

setPingServices

Sets the comma delimited list of available ping services for the system.

Method Type Endpoint
POST /pingServices

Parameters

services
comma delimited list of available ping services for the system.
XML Format
<setPingServices> 
  <services>String</services>
</setPingServices>

setPingsOverrideEnabled

Configures the system to allow users to override the ping URIs configured for all blogs.

Method Type Endpoint
POST /pingsOverrideEnabled

Parameters

pingsOverrideEnabled
true to enable users to override the system settings, false to use system settings.
XML Format
<setPingsOverrideEnabled> 
  <pingsOverrideEnabled>boolean</pingsOverrideEnabled>
</setPingsOverrideEnabled>

setTrackbacksEnabled

Enables or disables the trackbacks feature system wide.

Method Type Endpoint
POST /trackbacksEnabled

Parameters

trackbacksEnabled
true to enable the trackback feature, false to disable
XML Format
<setTrackbacksEnabled> 
  <trackbacksEnabled>boolean</trackbacksEnabled>
</setTrackbacksEnabled>

updateBlogPost

Method Type Endpoint
PUT /blogPosts

Parameters

blogPost
XML Format
<updateBlogPost> 
  <blogPost>WSBlogPost</blogPost>
</updateBlogPost>

userHasBlogs

Returns true if the given user has one or more blogs, false if the user does not have a blog.

Method Type Endpoint
GET /userHasBlogs

Parameters

userID
the user to check to see if they have a blog

commentService





Method Description
addComment Adds a new comment to an object.
addCommentToComment Adds a new comment having a parent comment to the object.
deleteAllComments Deletes all comments on the object.
deleteComment Deletes a comment in the object.
deleteCommentRecursive Deletes a comment in the object.
getComment Acquire a comment.
getCommentCount Returns the number of comments in the object.
getCommentCountWithFilter Returns the number of comments in the object based on the specified ResultFilter.
getComments Returns an array of all the comments in the object.
getUserContentCommentCount Returns a count of all the comments in all content which has been authored by the supplied user.
getUserContentCommentCountWithFilter Returns a count of all the comments in all content which has been authored by the supplied user.
getUserContentComments Returns array of all the comments in all content which has been authored by the supplied user.
getUserContentCommentsWithFilter Returns array of all the comments in all content which has been authored by the supplied user.
updateComment Updates an existing comment.

addComment

Adds a new comment to an object.

Method Type Endpoint
POST /comments

Parameters

objectType
The object type of the parent.
objectID
The object id of the parent.
userID
The id of the user.
body
The comment body.
XML Format
<addComment> 
  <objectType>int</objectType>

  <objectID>long</objectID>

  <userID>long</userID>

  <body>String</body>
</addComment>

addCommentToComment

Adds a new comment having a parent comment to the object.

Method Type Endpoint
POST /comments/addChild

Parameters

objectType
The parent jive object's object type.
objectID
The parent object's id.
commentID
The id of the parent comment.
userID
Body of the new comment.
body
Add the id of the new user.
XML Format
<addCommentToComment> 
  <objectType>int</objectType>

  <objectID>long</objectID>

  <commentID>long</commentID>

  <userID>long</userID>

  <body>String</body>
</addCommentToComment>

deleteAllComments

Deletes all comments on the object.

Method Type Endpoint
DELETE /comments/{objectType}/{objectID}

Parameters

objectType
The object type of the parent object.
objectID
The object id of the parent id.

deleteComment

Deletes a comment in the object. Deleting a comment also deletes all of its children comments. The search index and other resources that referenced the comment and its children will also be updated appropriately.

Method Type Endpoint
DELETE /comments/{objectType}/{objectID}/{commentID}

Parameters

objectType
The owner's object type.
objectID
The owner's object id.
commentID
the id of the comment to delete

deleteCommentRecursive

Deletes a comment in the object. The search index and other resources that referenced the comment will also be updated appropriately.

Method Type Endpoint
DELETE /comments/recursiveDelete/{objectType}/{objectID}/{commentID}/{recursive}

Parameters

objectType
The object type of the parent.
objectID
The object id of the parent.
commentID
The id of the comment to delete.
recursive
true to delete all the child comments, false to leave the children.

getComment

Acquire a comment.

Method Type Endpoint
GET /comments/{objectType}/{objectID}/{commentID}

Parameters

objectType
The object type of the parent.
objectID
The object id of the parent.
commentID
The id of the comment.

getCommentCount

Returns the number of comments in the object.

Method Type Endpoint
GET /commentcount/{objectType}/{objectID}

Parameters

objectType
The type of object to acquire comment count for.
objectID
The id of the manager.

getCommentCountWithFilter

Returns the number of comments in the object based on the specified ResultFilter. This is useful for determining such things as the number of comments in a date range, etc.

Method Type Endpoint
POST /comments/count

Parameters

objectType
The object type.
objectID
The id of the object.
filter
a filter to limit the query on.
XML Format
<getCommentCountWithFilter> 
  <objectType>int</objectType>

  <objectID>long</objectID>

  <filter>WSCommentResultFilter</filter>
</getCommentCountWithFilter>

getComments

Returns an array of all the comments in the object.

Method Type Endpoint
GET /comments/{objectType}/{objectID}

Parameters

objectType
The object type of the parent.
objectID
The object id of the parent.

getUserContentCommentCount

Returns a count of all the comments in all content which has been authored by the supplied user.

Method Type Endpoint
GET /usercommentcount/{userID}

Parameters

userID
the id of the user whose content will be searched for comments.

getUserContentCommentCountWithFilter

Returns a count of all the comments in all content which has been authored by the supplied user.

Method Type Endpoint
POST /comments/user/count

Parameters

userID
the id of the user whose content will be searched for comments.
filter
The filter to apply to the results
XML Format
<getUserContentCommentCountWithFilter> 
  <userID>long</userID>

  <filter>WSUserContentCommentResultFilter</filter>
</getUserContentCommentCountWithFilter>

getUserContentComments

Returns array of all the comments in all content which has been authored by the supplied user.

Method Type Endpoint
GET /usercomments/{userID}

Parameters

userID
the User whose content will be searched for comments.

getUserContentCommentsWithFilter

Returns array of all the comments in all content which has been authored by the supplied user.

Method Type Endpoint
POST /comments/user

Parameters

userID
the User whose content will be searched for comments.
filter
The filter to apply to the results
XML Format
<getUserContentCommentsWithFilter> 
  <userID>long</userID>

  <filter>WSUserContentCommentResultFilter</filter>
</getUserContentCommentsWithFilter>

updateComment

Updates an existing comment.

Method Type Endpoint
PUT /comments

Parameters

objectType
The object type of the parent object.
objectID
The object id of the parent object.
comment
the comment to update.
XML Format
<updateComment> 
  <objectType>int</objectType>

  <objectID>long</objectID>

  <comment>WSComment</comment>
</updateComment>

communityService

Provides the ability to manipulate communities. This service will allow you to create, delete, move and acquire communities.



Method Description
createCommunity Creates a new Community as a sub-community off of the specified community.
deleteCommunity Used to delete the specified community
deleteProperty Delete a property with the given name from the community with the given id.
getCommunity Returns a by its id
getDocumentIDs Returns document IDs for all the published documents in the community.
getProperties Returns all tbe extended properties for the community with the specified id.
getProperty Returns a specific extended property for the community with the specified property name and community ID.
getRecursiveCommunities
getRecursiveCommunities Returns all of the communities under the specified community recursively.
getRecursiveCommunityCount Returns a count of call the communities under a community
getSubCommunities Returns all the sub communities for the parent community.
setProperty Set an extended propery for the community with the given community id.
updateCommunity Update a Community

createCommunity

Creates a new Community as a sub-community off of the specified community.

Method Type Endpoint
POST /communities

Parameters

name
the name of the new community.
displayName
the display name of the new community.
description
the description of the new community.
communityID
Community to use as the parent
XML Format
<createCommunity> 
  <name>String</name>

  <displayName>String</displayName>

  <description>String</description>

  <communityID>long</communityID>
</createCommunity>

deleteCommunity

Used to delete the specified community

Method Type Endpoint
DELETE /communities/{communityID}

Parameters

communityID
the id of the community to delete

deleteProperty

Delete a property with the given name from the community with the given id.

Method Type Endpoint
DELETE /properties/{communityID}/{name}

Parameters

name
the name of the property to delete.
communityID
id of the community to delete the property from.

getCommunity

Returns a by its id

Method Type Endpoint
GET /communities/{communityID}

Parameters

communityID
id of the community

getDocumentIDs

Returns document IDs for all the published documents in the community. Does not traverse the subcommunities.

Method Type Endpoint
GET /documentIDs/{communityID}

Parameters

communityID
The id of the community.

getProperties

Returns all tbe extended properties for the community with the specified id.

Method Type Endpoint
GET /properties/{communityID}

Parameters

communityID
id of the community to retrieve properties for.

getProperty

Returns a specific extended property for the community with the specified property name and community ID.

Method Type Endpoint
GET /properties/{communityID}/{name}

Parameters

name
The name of the property.
communityID
The ID of the community to get the extended property for.

getRecursiveCommunities

Returns all of the communities under the specified community recursively.

Method Type Endpoint
GET /recursiveCommunities/{communityID}

Parameters

communityID
The id of the community.

getRecursiveCommunities

Method Type Endpoint
GET /communities

getRecursiveCommunityCount

Returns a count of call the communities under a community

Method Type Endpoint
GET /recursiveCount/{communityID}

Parameters

communityID
The id of the community.

getSubCommunities

Returns all the sub communities for the parent community.

Method Type Endpoint
GET /subCommunities/{communityID}

Parameters

communityID
The id of the parent community.

setProperty

Set an extended propery for the community with the given community id.

Method Type Endpoint
POST /properties

Parameters

name
The name of the property.
value
The value of the property.
communityID
The ID of the community to set an extended property for.
XML Format
<setProperty> 
  <name>String</name>

  <value>String</value>

  <communityID>long</communityID>
</setProperty>

updateCommunity

Update a Community

Method Type Endpoint
PUT /communities

Parameters

community
the community to update
XML Format
<updateCommunity> 
  <community>WSCommunity</community>
</updateCommunity>

documentService

This service provides methods to load and manipulate documents, comments.



Method Description
addAttachmentToDocumentByDocumentID Add a new attachment to the document with the specified id.
addAttachmentToDocumentByInternalDocID Add a new attachment to the document with the specified internal id.
addAuthor Adds the user with the supplied id as an author of this document of the specified document.
addDocumentApproverOnCommunity Add the user as a document approver for this entire community.
addDocumentApproverOnDocument Adds a user as a document approver for this document.
addImageToDocumentByDocumentID Add a new image to the document with the specified id.
addImageToDocumentByInternalDocID Add a new image to the document with the specified internal id.
createBinaryDocument Creates a new binary document.
createDocument Create a new document.
deleteDocument Deletes a document.
deleteDocumentProperty Delete a property with the given name from the document with the given ID.
getApprovalStatusForDocument Returns a collection of objects.
getAttachmentCountByDocumentID Returns the number of attachments on the document with the specified id.
getAttachmentCountByInternalDocID Returns the number of attachments on the document with the specified internal id.
getAttachmentsByDocumentID Acquire the attachments for a document by the document id.
getAttachmentsByInternalDocID Acquire the attachments for a document by the internal document id.
getAuthors Returns the userss who are allowed to edit the document.
getBinaryDocumentContent Returns the content of the binary document.
getDocumentApproversOnCommunity Returns all of the users that must approve new documents before they reach a PUBLISHED state when it is in a PENDING_APPROVAL state.
getDocumentApproversOnDocument Returns all of the users that must approve new documents before they reach a PUBLISHED state when it is in a PENDING_APPROVAL state.
getDocumentByDocumentID Returns a document from the community based on its document ID.
getDocumentByDocumentIDAndVersion Returns the revision of the document with the specified docID and version number.
getDocumentByInternalDocID Returns the document with the specified docID.
getDocumentByInternalDocIDAndVersion Returns the revision of document with the specified docID and version number.
getDocumentProperties Returns all tbe extended properties for the message with the specified ID.
getDocumentProperty Returns a specific extended property for the document with the specified property name and document ID.
getDocumentsByCommunity Returns all of the documents for the specified community.
getImageCountByDocumentID Returns the number of images on the document with the specified id.
getImageCountByInternalDocID Returns the number of images on the document with the specified internal id.
getPopularDocuments Returns the top x documents across all communities according to ratings, document views and time passed since the document was created.
getPopularDocumentsByLanguage Returns the top x documents across all communities according to ratings, document views and time passed since the document was created in the languages specified.
getUserApprovalDocuments Returns a list of documents that a user needs to approve.
isCommentsEnabled Returns true if the comments feature is turned on.
isTrackbacksEnabled Returns true if the trackbacks feature is turned on.
moveDocument Moves a document from it's current community to another.
publishDocument Publish a new document.
removeAuthor Removes the user with the supplied id as an author of this document.
setCommentsEnabled Enables or disables the comments feature system wide.
setDocumentProperty Set an extended for the property with the given document id.
setTrackbacksEnabled Enables or disables the trackbacks feature system wide.
updateDocument

addAttachmentToDocumentByDocumentID

Add a new attachment to the document with the specified id.

Method Type Endpoint
POST /attachments

Parameters

documentID
The id of the document.
name
The name of the file that is being added as an attachment.
contentType
The mime type of the file.
source
The file content.
XML Format
<addAttachmentToDocumentByDocumentID> 
  <documentID>String</documentID>

  <name>String</name>

  <contentType>String</contentType>

  <source>byte</source>
</addAttachmentToDocumentByDocumentID>

addAttachmentToDocumentByInternalDocID

Add a new attachment to the document with the specified internal id.

Method Type Endpoint
POST /attachmentsByInternalDocID

Parameters

internalDocID
The id of the document.
name
The name of the file that is being added as an attachment.
contentType
The mime type of the file.
source
The file content.
XML Format
<addAttachmentToDocumentByInternalDocID> 
  <internalDocID>long</internalDocID>

  <name>String</name>

  <contentType>String</contentType>

  <source>byte</source>
</addAttachmentToDocumentByInternalDocID>

addAuthor

Adds the user with the supplied id as an author of this document of the specified document. Once any users have been added, the document is no longer available for editing by just anyone with the appropriate permissions.

Method Type Endpoint
POST /authors

Parameters

documentID
the id of the user to add as an author.
userID
the document to add a user too.
XML Format
<addAuthor> 
  <documentID>long</documentID>

  <userID>long</userID>
</addAuthor>

addDocumentApproverOnCommunity

Add the user as a document approver for this entire community.

This user will be required to approve all document edits for all documents in this community that have document approval enabled.

Method Type Endpoint
POST /approval/communityUsers

Parameters

communityID
The id of the community.
userID
The id of the user to add as a document approver.
XML Format
<addDocumentApproverOnCommunity> 
  <communityID>long</communityID>

  <userID>long</userID>
</addDocumentApproverOnCommunity>

addDocumentApproverOnDocument

Adds a user as a document approver for this document. If document approval is enabled for this document this user will have to approve this document to before it will be changed to a PUBLISHED status when it is edited.

Method Type Endpoint
POST /approval/users

Parameters

documentID
The id of the document.
userID
The user to add as a document approver
XML Format
<addDocumentApproverOnDocument> 
  <documentID>long</documentID>

  <userID>long</userID>
</addDocumentApproverOnDocument>

addImageToDocumentByDocumentID

Add a new image to the document with the specified id.

Method Type Endpoint
POST /images

Parameters

documentID
The id of the document.
name
The name of the image that is being added.
contentType
The mime type of the image.
source
The image content.
XML Format
<addImageToDocumentByDocumentID> 
  <documentID>String</documentID>

  <name>String</name>

  <contentType>String</contentType>

  <source>byte</source>
</addImageToDocumentByDocumentID>

addImageToDocumentByInternalDocID

Add a new image to the document with the specified internal id.

Method Type Endpoint
POST /imagesByInternalDocID

Parameters

internalDocID
The internal id of the document.
name
The name of the image that is being added.
conentType
The mime type of the image.
source
The image content.
XML Format
<addImageToDocumentByInternalDocID> 
  <internalDocID>long</internalDocID>

  <name>String</name>

  <conentType>String</conentType>

  <source>byte</source>
</addImageToDocumentByInternalDocID>

createBinaryDocument

Creates a new binary document.

If a documentID is not provided (i.e. it's null) one will be automatically created. By default the autogenerated ID will be 'tempDOC-#' however the 'tempDOC-#' prefix can be controlled by changing the 'jive.temporaryDocPrefix' jive property.

Method Type Endpoint
POST /binaryDocument

Parameters

communityID
The id of the community to create the document in.
userID
The id of the author of the new document
the id of the document type of the new document
the document ID of the new document
The title of the document
The name of the file.
The file's mime content type.
@throws java.io.IOException Thrown if there is problems reading the datasouce
XML Format
<createBinaryDocument> 
  <communityID>long</communityID>

  <userID>long</userID>

  <>long</>

  <>String</>

  <>String</>

  <>String</>

  <>String</>

  <>byte</>
</createBinaryDocument>

createDocument

Create a new document.

If a documentID is not provided (i.e. it's null, or empty string) one will be automatically created. By default the autogenerated ID will be 'tempDOC-#' however the 'tempDOC-#' prefix can be controlled by changing the 'jive.temporaryDocPrefix' jive property.

Method Type Endpoint
POST /documents

Parameters

communityID
The id of the community to create the document.
userID
The id of the author of the new document
documentTypeID
the id of the document type of the new document
documentID
the document ID of the new document
title
the title of the new document
body
the body of the new document @return the new document
XML Format
<createDocument> 
  <communityID>long</communityID>

  <userID>long</userID>

  <documentTypeID>long</documentTypeID>

  <documentID>String</documentID>

  <title>String</title>

  <body>String</body>
</createDocument>

deleteDocument

Deletes a document. Once a document is deleted, the document object should no longer be used. The search index and other resources that referenced the document and its comments will also be updated appropriately.

Note that since documents are versioned you may want to just delete or archive the specific version of the document instead of deleting the document which will delete all versions of the document. If this is the case see

Method Type Endpoint
DELETE /{documentID}

Parameters

documentID
the id of the document to delete.

deleteDocumentProperty

Delete a property with the given name from the document with the given ID.

Method Type Endpoint
DELETE /properties/{documentID}/{name}

Parameters

name
The name of the property to delete.
documentID
The ID of the message to delete the property from.

getApprovalStatusForDocument

Returns a collection of objects. The objects contain show which user has approved the Document and which hasn't.

Method Type Endpoint
GET /approval/status/{documentID}

Parameters

documentID
Thrown if the specified document does not exist.

getAttachmentCountByDocumentID

Returns the number of attachments on the document with the specified id.

Method Type Endpoint
GET /attachmentCount/{documentID}

Parameters

documentID
The id of the document.

getAttachmentCountByInternalDocID

Returns the number of attachments on the document with the specified internal id.

Method Type Endpoint
GET /attachmentCountByInternalDocID/{internalDocID}

Parameters

internalDocID
The id of the document.

getAttachmentsByDocumentID

Acquire the attachments for a document by the document id.

Method Type Endpoint
GET /attachments/{documentID}

Parameters

documentID
The id of the document.

getAttachmentsByInternalDocID

Acquire the attachments for a document by the internal document id.

Method Type Endpoint
GET /attachementsByInternalDocID/{internalDocID}

Parameters

internalDocID
The internal id of the document.

getAuthors

Returns the userss who are allowed to edit the document. If no users are specifically allowed to edit, then anyone with appropriate permissions can do so.

Method Type Endpoint
GET /authors/{documentID}

Parameters

documentID
Thrown if the specified document does not exist.

getBinaryDocumentContent

Returns the content of the binary document.

Method Type Endpoint
GET /binaryDocument/{documentID}

getDocumentApproversOnCommunity

Returns all of the users that must approve new documents before they reach a PUBLISHED state when it is in a PENDING_APPROVAL state.

Method Type Endpoint
GET /approval/communityUsers/{communityID}

Parameters

communityID
The id of the community.

getDocumentApproversOnDocument

Returns all of the users that must approve new documents before they reach a PUBLISHED state when it is in a PENDING_APPROVAL state.

Method Type Endpoint
GET /approval/users/{documentID}

Parameters

documentID
The id of the document.

getDocumentByDocumentID

Returns a document from the community based on its document ID.

Method Type Endpoint
GET /documents/{documentID}

Parameters

documentID
the document ID of the document to retrieve.

getDocumentByDocumentIDAndVersion

Returns the revision of the document with the specified docID and version number.

Method Type Endpoint
GET /documents/{documentID}/{version}

Parameters

documentID
the document ID of the document to retrieve.
version
the version number of the document.

getDocumentByInternalDocID

Returns the document with the specified docID. It's a good idea to only display the string version of ID's to users so most often this method will be used only internally to the API.

Method Type Endpoint
GET /documentsByInternalDocID/{internalDocID}

Parameters

internalDocID
the long doc ID of the document

getDocumentByInternalDocIDAndVersion

Returns the revision of document with the specified docID and version number. It's a good idea to only display the string version of ID's to users so most often this method will be used only internally to the API.

Method Type Endpoint
GET /documentsByInternalDocID/{internalDocID}/{version}

Parameters

internalDocID
the long doc ID of the document
version
the version number of the document

getDocumentProperties

Returns all tbe extended properties for the message with the specified ID.

Method Type Endpoint
GET /properties/{documentID}

Parameters

documentID
The ID of the document to retrieve properties for.

getDocumentProperty

Returns a specific extended property for the document with the specified property name and document ID.

Method Type Endpoint
GET /properties/{documentID}/{name}

Parameters

name
The name of the property.
documentID
The ID of the document to retrieve the property for.

getDocumentsByCommunity

Returns all of the documents for the specified community.

Method Type Endpoint
GET /documentsByCommunity/{communityID}

Parameters

communityID
The id of the community.

getImageCountByDocumentID

Returns the number of images on the document with the specified id.

Method Type Endpoint
GET /imageCount/{documentID}

Parameters

documentID
The id of the document.

getImageCountByInternalDocID

Returns the number of images on the document with the specified internal id.

Method Type Endpoint
GET /imageCountByInternalDocID/{internalDocID}

Parameters

internalDocID
The id of the document.

getPopularDocuments

Returns the top x documents across all communities according to ratings, document views and time passed since the document was created. The algorithm is as follows:

Top x of ((document views) * (document mean rating+2)) * 1/(1 + number of days since creation date)

The number of documents to return is determined by the property "popularDocuments.number", defaulting to 5 if the property is not specified. Popular documents are only calculated once every 15 minutes.

Method Type Endpoint
GET /popularDocuments

getPopularDocumentsByLanguage

Returns the top x documents across all communities according to ratings, document views and time passed since the document was created in the languages specified. The algorithm is as follows:

Top x of ((document views) * (document mean rating+2)) * 1/(1 + number of days since creation date)

The number of documents to return is determined by the property "popularDocuments.number", defaulting to 5 if the property is not specified. Popular documents are only calculated once every 15 minutes.

Method Type Endpoint
GET /documentsByLanguage/{languages}

Parameters

languages
a list of ISO-639 language codes to restrict returned documents to.

getUserApprovalDocuments

Returns a list of documents that a user needs to approve.

Method Type Endpoint
GET /approval/users/{userID}

Parameters

userID
The user to acquire the documents for.

isCommentsEnabled

Returns true if the comments feature is turned on. When comments are disabled on the system, all individual document comment settings are disabled as well.

Method Type Endpoint
GET /commentsEnabled

isTrackbacksEnabled

Returns true if the trackbacks feature is turned on. When trackbacks are disabled on the system, all individual document trackback settings are disabled as well.

Method Type Endpoint
GET /trackbacksEnabled

moveDocument

Moves a document from it's current community to another.

Method Type Endpoint
POST /moveDocument

Parameters

documentID
the id of the document to move.
communityID
the id of the community to move the document to.
XML Format
<moveDocument> 
  <documentID>long</documentID>

  <communityID>long</communityID>
</moveDocument>

publishDocument

Publish a new document. Unlike create, this document will go straight to the published state.

If a documentID is not provided (i.e. it's null or empty string) one will be automatically created. By default the autogenerated ID will be 'tempDOC-#' however the 'tempDOC-#' prefix can be controlled by changing the 'jive.temporaryDocPrefix' jive property.

Method Type Endpoint
PUT /publish

Parameters

communityID
The id of the community to create the document.
userID
The id of the author of the new document
documentTypeID
the id of the document type of the new document
documentID
the document ID of the new document
title
the title of the new document
body
the body of the new document @return the new document
XML Format
<publishDocument> 
  <communityID>long</communityID>

  <userID>long</userID>

  <documentTypeID>long</documentTypeID>

  <documentID>String</documentID>

  <title>String</title>

  <body>String</body>
</publishDocument>

removeAuthor

Removes the user with the supplied id as an author of this document.

Method Type Endpoint
DELETE /authors/{documentID}/{userID}

Parameters

documentID
The id of the document to remove the user as an author from.
userID
The id of the user to remove as a document author.

setCommentsEnabled

Enables or disables the comments feature system wide.

Method Type Endpoint
POST /commentsEnabled

Parameters

enableComments
true to enableComments the comments feature, false to disable
XML Format
<setCommentsEnabled> 
  <enableComments>boolean</enableComments>
</setCommentsEnabled>

setDocumentProperty

Set an extended for the property with the given document id.

Method Type Endpoint
POST /properties

Parameters

name
The name of the property.
value
The value of the property.
documentID
The ID of the document to set an extended property for.
XML Format
<setDocumentProperty> 
  <name>String</name>

  <value>String</value>

  <documentID>long</documentID>
</setDocumentProperty>

setTrackbacksEnabled

Enables or disables the trackbacks feature system wide.

Method Type Endpoint
POST /trackbacksEnabled

Parameters

enableTrackbacks
true to enableTrackbacks the trackback feature, false to disable
XML Format
<setTrackbacksEnabled> 
  <enableTrackbacks>boolean</enableTrackbacks>
</setTrackbacksEnabled>

updateDocument

Method Type Endpoint
PUT /documents

Parameters

document
XML Format
<updateDocument> 
  <document>WSDocument</document>
</updateDocument>

forumService

Provides the ability to manipulate forum messages. This service will allow you to delete, move and acquire forum messages.



Method Description
addAttachmentToMessage Adds an attachment to the message with the specified ID.
addImageToMessage Adds an image to the message with the specified ID.
createMessage Creates a new message on the given thread.
createReplyMessage Creates a new message that is a direct response to a given message.
createThread Creates a new thread.
deleteMessage Delete the message with the following id.
deleteMessageAndChildren Delete the message with the specified id.
deleteMessageProperty Delete a property with the given name from the message with the given ID.
deleteThread Deletes a thread with the specified ID.
deleteThreadProperty Delete a property with the given name from the thread with the given ID.
getAttachmentsByMessageID Returns an array of attachments that are attached to the specified message.
getChild Returns the child of parent at index index in the parent's child array.
getChildCount Returns the number of children of parent.
getChildren Returns an array of all the child messages of the parent.
getForumMessage Returns a by its ID.
getForumThread Returns a by its ID.
getImagesByMessageID Returns an array of images that are attached to the specified message.
getIndexOfChild Returns the index of child in parent.
getMessageCountByCommunityID Returns the number of messages that are in the community.
getMessageCountByCommunityIDAndFilter Returns the number of messages that are in the community with the specified id after the specified filter has been applied.
getMessageCountByThreadID Returns the number of messages that are in the thread.
getMessageCountByThreadIDAndFilter Returns the number of messages that are in the thread with the specified id after the specified filter has been applied.
getMessageCountsByCommunityIDAndFilter Returns the number of messages that are in the community with the specified id after the specified filter has been applied.
getMessageDepth Returns the depth of a message in the message tree hierarchy.
getMessageIDsByCommunityID Returns all of the message IDs for all of the message that are in the community.
getMessageIDsByCommunityIDAndFilter Returns all of the message IDs for all of the message that are in the community with the specified ID, filtered by the the specified result filter.
getMessageIDsByThreadID Returns the IDs of the messages that are in the thread.
getMessageIDsByThreadIDAndFilter Returns all of the message IDs for all of the message that are in the thread after the specified filter has been applied.
getMessageProperties Returns all tbe extended properties for the message with the specified ID.
getMessageProperty Returns a specific extended property for the message with the specified property name and message ID.
getMessagesByCommunityID Returns all of the messages that are in the community.
getMessagesByCommunityIDAndFilter Returns all of the messages that are in the community with the specified ID, filtered by the the specified result filter.
getMessagesByThreadID Returns the messages that are in the thread.
getMessagesByThreadIDAndFilter Returns all of the messages that are in the thread after the specified filter has been applied.
getParent Returns the parent of the <code>child</code> ForumMessage.
getPopularThreads Returns an array of thread IDs for all the popular threads in the system.
getPopularThreadsByCommunityID Return an array of popular threads by community.
getRecursiveChildCount Returns the total number of recursive children of a parent.
getRecursiveChildren Returns an array for all child messages (and sub-children, etc) of the parent.
getRecursiveMessages Returns an array for all messages in the thread in depth-first order.
getRootMessage Returns the root of a thread.
getThreadCountByCommunityID Returns the number of threads in the specified community.
getThreadCountByCommunityIDAndFilter Returns the number of threads in the specified community after being filtered by the specified filter.
getThreadProperties Returns all tbe extended properties for the thread with the specified ID.
getThreadProperty Returns a specific extended property for the thread with the specified property name and thread ID.
getThreadsByCommunityID Returns all of the IDs for threads a community.
getThreadsByCommunityIDAndFilter Returns all of the IDs for threads a community has filtered by the specified result filter.
getUnfilteredMessageProperties Returns the properties without applying filters to them first.
hasParent Returns true if the <code>child</code> message has a parent message.
isLeaf Returns true if node is a leaf.
moveThread Moves the thread with the specified ID to the community with the specified ID.
setMessageProperty Set an extended for the property with the given message id.
setThreadProperty Set an extended for the property for the thread with the given ID.
updateForumMessage Used to update the subject and body of a

addAttachmentToMessage

Adds an attachment to the message with the specified ID.

Method Type Endpoint
POST /attachments

Parameters

messageID
The ID of the message.
name
The name of the attachment.
contentType
the content type of the attachment.
source
The content for the attachment.
XML Format
<addAttachmentToMessage> 
  <messageID>long</messageID>

  <name>String</name>

  <contentType>String</contentType>

  <source>byte</source>
</addAttachmentToMessage>

addImageToMessage

Adds an image to the message with the specified ID.

Method Type Endpoint
POST /images

Parameters

messsageID
The ID of the message.
name
The name of the image.
contentType
the content type of the image.
source
The content for the image.
XML Format
<addImageToMessage> 
  <messsageID>long</messsageID>

  <name>String</name>

  <contentType>String</contentType>

  <source>byte</source>
</addImageToMessage>

createMessage

Creates a new message on the given thread.

If userID is a value less than one then the message will be created for an anonymous user.

Method Type Endpoint
POST /messages

createReplyMessage

Creates a new message that is a direct response to a given message.

If userID is a value less than one then the message will be created for an anonymous user.

Method Type Endpoint
POST /replyMessage

createThread

Creates a new thread.

Method Type Endpoint
POST /threads

deleteMessage

Delete the message with the following id.

Method Type Endpoint
DELETE /messages/{messageID}

Parameters

messageID
the id of the message to delete.

deleteMessageAndChildren

Delete the message with the specified id. If the deleteChildren parameters is set to true all children of this message will be deleted.

Method Type Endpoint
DELETE /messages/{messageID}/{deleteChildren}

Parameters

messageID
The ID of the message to delete.
deleteChildren
Whether or not to delete the children of this message.

deleteMessageProperty

Delete a property with the given name from the message with the given ID.

Method Type Endpoint
DELETE /properties

Parameters

name
The name of the property to delete.
messageID
The ID of the message to delete the property from.

deleteThread

Deletes a thread with the specified ID.

Method Type Endpoint
DELETE /threads/{threadID}

Parameters

threadID
The ID of thread to delete.

deleteThreadProperty

Delete a property with the given name from the thread with the given ID.

Method Type Endpoint
DELETE /threadProperties/{threadID}/{name}

Parameters

name
The name of the property to delete.
threadID
The ID of the thread to delete the property from.

getAttachmentsByMessageID

Returns an array of attachments that are attached to the specified message.

Method Type Endpoint
GET /attachments/{messageID}

Parameters

messageID
The ID of the message to acquire attachments for.

getChild

Returns the child of parent at index index in the parent's child array. The index must be a valid one, that is: index >= 0, and index < getChildCount(parent). If the index is not valid, or if the child could not be loaded for any other reason, a ForumMessageNotFoundException will be thrown.

Method Type Endpoint
GET /children/{messageID}/{index}

Parameters

messageID
The ID of the parent message.
index
the index of the child.

getChildCount

Returns the number of children of parent. Returns 0 if the node is a leaf or if it has no children.

Method Type Endpoint
GET /childCount/{messageID}

Parameters

messageID
The ID the message.

getChildren

Returns an array of all the child messages of the parent. This method only considers direct descendants of the parent message and not sub-children. To get an array for the full hierarchy of children for a parent message, use the method.

Method Type Endpoint
GET /children/{mesageID}

Parameters

messageID
The parent message.

getForumMessage

Returns a by its ID.

Method Type Endpoint
GET /messages/{messageID}

Parameters

messageID
id of the message.

getForumThread

Returns a by its ID.

Method Type Endpoint
GET /threads/{threadID}

Parameters

threadID
The ID of the thread.

getImagesByMessageID

Returns an array of images that are attached to the specified message.

Method Type Endpoint
GET /images/{messageID}

Parameters

messageID
The ID of the message to acquire images for.

getIndexOfChild

Returns the index of child in parent. This method does not deal with the indexes of sub-children of parents. For example, take the following tree:

               4
               |-- 2
               |-- |-- 1
               |-- |-- 6
               |-- |-- 8
               |-- 5
             

In this example, getIndexOfChild(4, 2) would return 0, getIndexOfChild(4, 5) would return 1, and getIndexOfChild(2, 8) would return 2. getIndexOfChild(4, 8) -- NOT VALID

Method Type Endpoint
GET /indexOfChild/{parentID}/{messageID}

Parameters

parentID
The ID of the parent message.
messageID
The ID of the child message to get the index for.

getMessageCountByCommunityID

Returns the number of messages that are in the community.

Method Type Endpoint
/messageCountByCommunityID/{communityID}

Parameters

communityID
The ID of the community to find the message count for.
XML Format
<getMessageCountByCommunityID> 
  <communityID>long</communityID>
</getMessageCountByCommunityID>

getMessageCountByCommunityIDAndFilter

Returns the number of messages that are in the community with the specified id after the specified filter has been applied.

Method Type Endpoint
POST /messageCountByCommunityID

Parameters

communityID
The ID of the community to find the message count for.
filter
The filter that can be applied to filter out results.
XML Format
<getMessageCountByCommunityIDAndFilter> 
  <communityID>long</communityID>

  <filter>WSResultFilter</filter>
</getMessageCountByCommunityIDAndFilter>

getMessageCountByThreadID

Returns the number of messages that are in the thread.

Method Type Endpoint
GET /messageCountByThreadID/{threadID}

Parameters

threadID
The ID of the thread to find the message count for.

getMessageCountByThreadIDAndFilter

Returns the number of messages that are in the thread with the specified id after the specified filter has been applied.

Method Type Endpoint
POST /messageCountByThreadID

Parameters

threadID
The ID of the thread to find the message count for.
filter
The filter that can be applied to filter out results.
XML Format
<getMessageCountByThreadIDAndFilter> 
  <threadID>long</threadID>

  <filter>WSResultFilter</filter>
</getMessageCountByThreadIDAndFilter>

getMessageCountsByCommunityIDAndFilter

Returns the number of messages that are in the community with the specified id after the specified filter has been applied.

Method Type Endpoint
POST /messageCountsByCommunityID

getMessageDepth

Returns the depth of a message in the message tree hierarchy. The root message is always at depth 0. For example, consider the following message tree:

               1
               |-- 3
               |-- |-- 4
               |-- |-- |-- 7
             

The depth of message 4 is 2, the depth of message 7 is 3, etc. This method is useful in combination with the array to build a UI of hierarchical messages.

Method Type Endpoint
GET /messageDepth/{messageID}

Parameters

messageID
The ID of the message to determine the depth of.

getMessageIDsByCommunityID

Returns all of the message IDs for all of the message that are in the community.

If the number of results exceeds than then message IDs up to will be returned.

Method Type Endpoint
GET /messageIDsByCommunityID/{communityID}

Parameters

communityID
The ID of the community to find messages for.

getMessageIDsByCommunityIDAndFilter

Returns all of the message IDs for all of the message that are in the community with the specified ID, filtered by the the specified result filter.

Method Type Endpoint
POST /messageIdsByCommunityID/{communityID}

Parameters

communityID
The id of the community to find messages for.
filter
Filter to be apply to the results.
XML Format
<getMessageIDsByCommunityIDAndFilter> 
  <communityID>long</communityID>

  <filter>WSResultFilter</filter>
</getMessageIDsByCommunityIDAndFilter>

getMessageIDsByThreadID

Returns the IDs of the messages that are in the thread.

If the number of results exceeds than then message IDs up to will be returned.

Method Type Endpoint
GET /messageIDsByThreadID/{threadID}

Parameters

threadID
The ID of the thread to find message IDs for.

getMessageIDsByThreadIDAndFilter

Returns all of the message IDs for all of the message that are in the thread after the specified filter has been applied.

Method Type Endpoint
POST /messageIDsByThreadID

Parameters

threadID
The ID of the thread to find messages for.
filter
The filter to apply to the results.
XML Format
<getMessageIDsByThreadIDAndFilter> 
  <threadID>long</threadID>

  <filter>WSResultFilter</filter>
</getMessageIDsByThreadIDAndFilter>

getMessageProperties

Returns all tbe extended properties for the message with the specified ID.

Method Type Endpoint
GET /properties/{messageID}

Parameters

messageID
The ID of the message to retrieve properties for.

getMessageProperty

Returns a specific extended property for the message with the specified property name and message ID.

Method Type Endpoint
GET /properties/{messageID}/{name}

Parameters

name
The name of the property.
messageID
The ID of the message to retrieve the property for.

getMessagesByCommunityID

Returns all of the messages that are in the community.

If the number of results exceeds than then message IDs up to will be returned.

Method Type Endpoint
GET /messagesByCommunityID/{communityID}

Parameters

communityID
The ID of the community to find messages for.

getMessagesByCommunityIDAndFilter

Returns all of the messages that are in the community with the specified ID, filtered by the the specified result filter.

Method Type Endpoint
POST /messagesByCommunityID

Parameters

communityID
The id of the community to find messages for.
filter
Filter to be apply to the results.
XML Format
<getMessagesByCommunityIDAndFilter> 
  <communityID>long</communityID>

  <filter>WSResultFilter</filter>
</getMessagesByCommunityIDAndFilter>

getMessagesByThreadID

Returns the messages that are in the thread.

If the number of results exceeds than then message IDs up to will be returned.

Method Type Endpoint
GET /messagesByThreadID/{threadID}

Parameters

threadID
The ID of the thread to find message IDs for.

getMessagesByThreadIDAndFilter

Returns all of the messages that are in the thread after the specified filter has been applied.

Method Type Endpoint
POST /messagesByThreadID

Parameters

threadID
The ID of the thread to find messages for.
filter
The filter to apply to the results.
XML Format
<getMessagesByThreadIDAndFilter> 
  <threadID>long</threadID>

  <filter>WSResultFilter</filter>
</getMessagesByThreadIDAndFilter>

getParent

Returns the parent of the child ForumMessage.

Method Type Endpoint
GET /parentMessage/{messageID}

Parameters

messageID
The ID of the message to find the parent for.

getPopularThreads

Returns an array of thread IDs for all the popular threads in the system.

Method Type Endpoint
GET /popularThreads

getPopularThreadsByCommunityID

Return an array of popular threads by community.

Method Type Endpoint
GET /popularThreadsByCommunityID/{communityID}

Parameters

communityID
The ID of the community to check the thread count for.

getRecursiveChildCount

Returns the total number of recursive children of a parent. Returns 0 if there are no children. This method is not intended to aid in navigation of a Thread but is included as an added utility.

Method Type Endpoint
GET /recursiveChildCount/{messageID}

Parameters

messageID
The ID of the message.

getRecursiveChildren

Returns an array for all child messages (and sub-children, etc) of the parent. Messages will be returned depth-first. For example, consider the following message tree:

               1
               |-- 3
               |-- |-- 4
               |-- |-- |-- 7
               |-- |-- |-- |-- 10
               |-- |-- 6
               |-- |-- 8
               |-- 5
             

Calling getRecursiveChildren(3) on the tree above would return the sequence 4, 7, 10, 6, 8. This method is a powerful way to show all children of a message, especially in combination with the method.

Method Type Endpoint
GET /recursiveChildren/{messageID}

Parameters

messageID
The ID of the parent message.

getRecursiveMessages

Returns an array for all messages in the thread in depth-first order. For example, consider the following message tree:

               1
               |-- 3
               |-- |-- 4
               |-- |-- |-- 7
               |-- |-- |-- |-- 10
               |-- |-- 6
               |-- |-- 8
               |-- 5
             

Calling getRecursiveMessages() on the tree above would return the sequence 1, 3, 4, 7, 10, 6, 8, 5. This method is a powerful way to show the full tree of messages, especially in combination with the method.

Method Type Endpoint
GET /recusiveMessages/{threadID}

Parameters

threadID
The ID of the thread.

getRootMessage

Returns the root of a thread. Returns null only if thread has no nodes.

Method Type Endpoint
GET /rootMessage/{threadID}

Parameters

threadID
The ID of the thread.

getThreadCountByCommunityID

Returns the number of threads in the specified community.

Method Type Endpoint
GET /threadCountByCommunityID/{communityID}

Parameters

communityID
The ID of the community to check the thread count for.

getThreadCountByCommunityIDAndFilter

Returns the number of threads in the specified community after being filtered by the specified filter.

Method Type Endpoint
POST /threadCountByCommunityID

getThreadProperties

Returns all tbe extended properties for the thread with the specified ID.

Method Type Endpoint
GET /threadProperties/{threadID}

Parameters

threadID
The ID of the thread to retrieve properties for.

getThreadProperty

Returns a specific extended property for the thread with the specified property name and thread ID.

Method Type Endpoint
GET /threadProperties/{threadID}/{name}

Parameters

name
The name of the property.
threadID
The ID of the thread to retrieve the property for.

getThreadsByCommunityID

Returns all of the IDs for threads a community. If the number of threads exceeds the threads up to will be returned.

Method Type Endpoint
GET /threadsByCommunityID/{communityID}

Parameters

communityID
The ID of the community to grab threds for.

getThreadsByCommunityIDAndFilter

Returns all of the IDs for threads a community has filtered by the specified result filter.

Method Type Endpoint
POST /threadsByCommunityID

Parameters

communityID
The ID of the community to grab threds for.
filter
The filter to use against the result.
XML Format
<getThreadsByCommunityIDAndFilter> 
  <communityID>long</communityID>

  <filter>WSResultFilter</filter>
</getThreadsByCommunityIDAndFilter>

getUnfilteredMessageProperties

Returns the properties without applying filters to them first.

Method Type Endpoint
GET /unfilteredProperties/{messageID}

Parameters

messageID
The ID of the message to return unfiltered properties for.

hasParent

Returns true if the child message has a parent message.

Method Type Endpoint
GET /hasParent/{messageID}

Parameters

messageID
the message.

isLeaf

Returns true if node is a leaf. A node is a leaf when it has no children messages.

Method Type Endpoint
GET /isLeaf/{messageID}

Parameters

messageID
A node in the thread, obtained from this data source.

moveThread

Moves the thread with the specified ID to the community with the specified ID.

Method Type Endpoint
PUT /moveThread

Parameters

threadID
The ID of the thread to move.
communityID
The ID of the community to move the thread to.
XML Format
<moveThread> 
  <threadID>long</threadID>

  <communityID>long</communityID>
</moveThread>

setMessageProperty

Set an extended for the property with the given message id.

Method Type Endpoint
POST /properties

Parameters

name
The name of the property.
value
The value of the property.
messageID
The ID of the message to set an extended property for.
XML Format
<setMessageProperty> 
  <name>String</name>

  <value>String</value>

  <messageID>long</messageID>
</setMessageProperty>

setThreadProperty

Set an extended for the property for the thread with the given ID.

Method Type Endpoint
POST /threadProperties

Parameters

name
The name of the property.
value
The value of the property.
threadID
The ID of the thread to set an extended property for.
XML Format
<setThreadProperty> 
  <name>String</name>

  <value>String</value>

  <threadID>long</threadID>
</setThreadProperty>

updateForumMessage

Used to update the subject and body of a

Method Type Endpoint
PUT /messages

groupService

Provides a the ability for managing groups and group membership.



Method Description
addAdministratorToGroup Make the user with the specified userID an administrator of the group with the specified groupID.
addMemberToGroup Add the user with the specified userID to the group with the specified groupID.
createGroup Creates a new group.
deleteGroup Delete the group with the specified id.
deleteProperty Deletes an extended property from the specfied group.
getAdministratorCount Returns the count of how many administrators there are for the group with the specified ID.
getGroup Returns a by its ID.
getGroupAdmins Returns an array of all the user IDs that administer this group.
getGroupByName Returns a by its name.
getGroupCount Returns a count of all groups in the system.
getGroupMembers Returns an array of all userIDs for all the members of a particular group.
getGroupNames Returns an array of all the group names for all the groups in the system.
getGroupNamesBounded Returns an array of the group names beginning at startIndex and until the number results equals numResults.
getGroups Returns an array of all the group IDs for all the groups in the system.
getProperties Returns an array of all the extended properties for a group.
getUserGroupNames Returns an array of group names that an entity belongs to.
getUserGroups Returns an array of all the group IDs that a user belongs too.
isReadOnly Returns true if this GroupService is read-only.
removeAdministratorFromGroup Remove the user with the specified ID as an administrator from the group with the specified ID.
removeMemberFromGroup Remove the user with the specified id from the group with the specified id.
setProperty Set a new extended property on the specified group.
updateGroup Update the following group in the system.

addAdministratorToGroup

Make the user with the specified userID an administrator of the group with the specified groupID.

Method Type Endpoint
POST /groupAdmins

Parameters

userID
The ID of the user to add as a member to a group.
groupID
The ID of the group to make a user an administrator for.
XML Format
<addAdministratorToGroup> 
  <userID>long</userID>

  <groupID>long</groupID>
</addAdministratorToGroup>

addMemberToGroup

Add the user with the specified userID to the group with the specified groupID.

Method Type Endpoint
POST /groupMembers

Parameters

userID
The ID of the user to add to a group.
groupID
The ID of the group to add a user too.
XML Format
<addMemberToGroup> 
  <userID>long</userID>

  <groupID>long</groupID>
</addMemberToGroup>

createGroup

Creates a new group.

Method Type Endpoint
POST /groups

Parameters

name
The name of the group.
description
A short description of this group.
XML Format
<createGroup> 
  <name>String</name>

  <description>String</description>
</createGroup>

deleteGroup

Delete the group with the specified id.

Method Type Endpoint
DELETE /groups/{groupID}

Parameters

groupID
The id of the group to delete.

deleteProperty

Deletes an extended property from the specfied group.

Method Type Endpoint
DELETE /properties/{groupID}/{name}

Parameters

name
The name of the extended property to delete.
groupID
The id of the group to delete an extended property from.

getAdministratorCount

Returns the count of how many administrators there are for the group with the specified ID.

Method Type Endpoint
GET /administratorCount/{groupID}

Parameters

groupID
The ID of the group to acquire the administrator count for.

getGroup

Returns a by its ID.

Method Type Endpoint
GET /groupsByID/{groupID}

Parameters

groupID
The ID of the group.

getGroupAdmins

Returns an array of all the user IDs that administer this group.

Method Type Endpoint
GET /groupAdmins/{groupID}

Parameters

groupID
The group ID to acquire administrator IDs for.

getGroupByName

Returns a by its name. The name should be encoded using java.net.URLEncoder.encode(name, "UTF-8") or equivalent.

Method Type Endpoint
GET /groups/{name}

Parameters

name
The name of the group UTF-8 encoded.

getGroupCount

Returns a count of all groups in the system.

Method Type Endpoint
GET /groupCount

getGroupMembers

Returns an array of all userIDs for all the members of a particular group.

Method Type Endpoint
GET /groupMembers/{groupID}

Parameters

groupID
The ID of the group to acquire members for.

getGroupNames

Returns an array of all the group names for all the groups in the system.

Method Type Endpoint
GET /groupNames

getGroupNamesBounded

Returns an array of the group names beginning at startIndex and until the number results equals numResults.

Method Type Endpoint
GET /groupNamesBounded/{startIndex}/{numResults}

Parameters

startIndex
start index in results.
numResults
number of results to return.

getGroups

Returns an array of all the group IDs for all the groups in the system.

Method Type Endpoint
GET /groups

getProperties

Returns an array of all the extended properties for a group.

Method Type Endpoint
GET /properties/{groupID}

Parameters

groupID
The ID of the group to acquire extended properties for.

getUserGroupNames

Returns an array of group names that an entity belongs to.

Method Type Endpoint
GET /userGroupNames/{userID}

Parameters

userID
the ID of the user.

getUserGroups

Returns an array of all the group IDs that a user belongs too.

Method Type Endpoint
GET /userGroups/{userID}

Parameters

userID
The ID of the user to acquire group IDs for.

isReadOnly

Returns true if this GroupService is read-only. When read-only, groups can not be created, deleted, or modified.

Method Type Endpoint
GET /isReadOnly

removeAdministratorFromGroup

Remove the user with the specified ID as an administrator from the group with the specified ID.

Method Type Endpoint
DELETE /groupAdmins/{groupID}/{userID}

Parameters

userID
The ID of the user to remove admin status from a group.
groupID
The ID of the group to remove the user as an admin.

removeMemberFromGroup

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

Method Type Endpoint
DELETE /groupMembers/{groupID}/{userID}

Parameters

userID
The ID of the User to remove from a group.
groupID
The ID of the group to remove a user from.

setProperty

Set a new extended property on the specified group.

Method Type Endpoint
POST /properties

Parameters

name
The extended property name.
value
The extended property value.
groupID
The ID of the group to set the extended property on.
XML Format
<setProperty> 
  <name>String</name>

  <value>String</value>

  <groupID>long</groupID>
</setProperty>

updateGroup

Update the following group in the system.

Method Type Endpoint
PUT /groups

iMService

Provides a the ability for managing real time comunication.



Method Description
configureComponent Tries to connect to XMPP server.
testCredentials Test if user's credentials are OK and have enough permissions.
updateSharedSecret Updates the shared secret and resets the connection using it.

configureComponent

Tries to connect to XMPP server. Since the server could have several host names this method will try to connect using each one. When it founds a host/port combination that works it stops trying and saves that configuration.

Method Type Endpoint
POST /configureComponent

Parameters

domain
the domain of Openfire
hosts
a list of possible host address of Openfire, comma separated
port
the port of external components of Openfire
XML Format
<configureComponent> 
  <domain>String</domain>

  <hosts>List</hosts>

  <port>int</port>
</configureComponent>

testCredentials

Test if user's credentials are OK and have enough permissions. Throws an UnauthorizedException if user is not loged in or it doesn't have enough permissions.

Method Type Endpoint
GET /testCredentials

updateSharedSecret

Updates the shared secret and resets the connection using it.

Method Type Endpoint
POST /updateSharedSecret

Parameters

newSecret
the new shared secret
XML Format
<updateSharedSecret> 
  <newSecret>String</newSecret>
</updateSharedSecret>

permissionService

Provides a webservice for managing permissions on users and groups.



Method Description
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.
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.
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.
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.
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.

addCommunityPermissionToGroup

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

Method Type Endpoint
POST /groupCommunityPermissions/{permission}/{additive}/{groupID}/{communityID}

Parameters

permission
The permission to add to a group.
additive
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
The id of the group to add a permission too.
communityID
The ID of the community to add the permission on
XML Format
<addCommunityPermissionToGroup> 
  <permission>long</permission>

  <additive>boolean</additive>

  <groupID>long</groupID>

  <communityID>long</communityID>
</addCommunityPermissionToGroup>

addCommunityPermissionToUser

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

Method Type Endpoint
POST /userCommunityPermissions

Parameters

permission
The permission to add to a user.
additive
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
The id of the user to add a permission too.
communityID
The ID of the community to add the permission on
XML Format
<addCommunityPermissionToUser> 
  <permission>long</permission>

  <additive>boolean</additive>

  <userID>long</userID>

  <communityID>long</communityID>
</addCommunityPermissionToUser>

addPermissionToGroup

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

Method Type Endpoint
POST /groupPermissions

Parameters

permission
The permission to add to a group.
additive
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
The id of the group to add a permission too.
XML Format
<addPermissionToGroup> 
  <permission>long</permission>

  <additive>boolean</additive>

  <groupID>long</groupID>
</addPermissionToGroup>

addPermissionToUser

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

Method Type Endpoint
POST /userPermissions

Parameters

permission
The permission to add to a user.
additive
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
The id of the user to add a permission too.
XML Format
<addPermissionToUser> 
  <permission>long</permission>

  <additive>boolean</additive>

  <userID>long</userID>
</addPermissionToUser>

anonymousUserHasPermission

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

Method Type Endpoint
GET /anonymousUserHasPermission/{permission}/{additive}

Parameters

permission
The permission to see if anonymous users have this permission.
additive
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.

anonymousUserHasPermissionOnCommunity

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

Method Type Endpoint
GET /anonymousUserHasPermissionOnCommunity/{permission}/{additive}/{communityID}

Parameters

permission
The permission to see if anonymous users have this permission on the specified community.
additive
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
The ID of the community to check to see if a user has permission on.

authenticate

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

Method Type Endpoint
GET /authenticate/{userID}/{password}

Parameters

userID
The username to authenticate.
password
The password .

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.

Method Type Endpoint
GET /isAuthorized/{permission}

Parameters

permission
a permission type.

isAuthorizedOnCommunity

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

Method Type Endpoint
GET /isAuthorizedOnCommunity/{permission}/{communityID}

Parameters

permission
a permission type.
communityID
to see if the current user has permission on.

isUserAuthorized

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

Method Type Endpoint
GET /isUserAuthorized/{permissoin}/{userID}

Parameters

permission
The permission to add to check.
userID
The id of the user.

isUserAuthorizedOnCommunity

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

Method Type Endpoint
GET /isUserAuthorizedOnCommunity/{permission}/{userID}/{communityID}

Parameters

permission
The permission to add to check.
userID
The id of the user.
communityID
The id of the community.

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.

Method Type Endpoint
GET /registeredUserHasPermission/{permission}/{additive}

Parameters

permission
The permission to check.
additive
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.

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.

Method Type Endpoint
GET /registeredUserHasPermissionOnCommunity/{permission}/{additive}/{communityID}

Parameters

permission
The permission to check.
additive
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
The ID of the community to check the permission on.

removeCommunityPermissionFromGroup

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

Method Type Endpoint
DELETE /groupCommunityPermissions/{permission}/{additive}/{groupID}/{communityID}

Parameters

permission
The permission remove from a group.
additive
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
The id of the group to remove a permission from.
communityID
The ID of the community to remove the permission from.

removeCommunityPermissionFromUser

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

Method Type Endpoint
DELETE /userCommunityPermissions/{permission}/{additive}/{userID}/{communityID}

Parameters

permission
The permission remove from a user.
additive
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
The id of the user to remove a permission from.
communityID
The ID of the community to remove the permission from.

removePermissionFromGroup

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

Method Type Endpoint
DELETE /groupPermissions/{permission}/{additive}/{groupID}

Parameters

permission
The permission remove from a group.
additive
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
The id of the group to remove a permission from.

removePermissionFromUser

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

Method Type Endpoint
DELETE /userPermissions/{permission}/{additive}/{userID}

Parameters

permission
The permission remove from a user.
additive
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
The id of the user to remove a permission from.

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.

Method Type Endpoint
GET /userPermissions/{permission}/{additive}

Parameters

permission
the permission to check.
additive
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.

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.

Method Type Endpoint
GET /usersWithPermissionCount/{permission}/{additive}

Parameters

permission
the permission to check.
additive
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.

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.

Method Type Endpoint
GET /communityUserPermissionCount/{permission}/{additive}/{communityID}

Parameters

permission
the permission to check.
additive
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
The id of the community..

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.

Method Type Endpoint
GET /userCommunityPermissions/{permission}/{additive}/{communityID}

Parameters

permission
the permission to check.
additive
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
The ID of the community to get users with the specified permission.

pollService





Method Description
addAnonymousVote Add a guest vote for an option in the poll.
addOption Add a new option to the poll.
addUserVote Add a user vote for an option in the poll.
changeAnonymousVote Change a guest vote.
changeUserVote Change a user vote.
createPoll
deleteOption Remove an option from the poll.
deletePoll Deletes a poll.
getActivePollCount Returns a count of all active polls in the system.
getActivePollCountByObjectTypeAndObjectID Returns a count of all active polls of a given type and object ID.
getActivePolls Returns an iterable of active polls in the system.
getActivePollsByObjectTypeAndObjectID Returns an iterable of active polls associated with the object specified by the objectType and objectID.
getAnonymousVoteCount Returns a count of all guests user votes for all options in the poll.
getAnonymousVoteCountByIndex Returns a count of all user votes for the specified option in the poll.
getAnonymousVoteIndices Returns a list of option indexes corresponding to the anonymous votes, or an empty array if the user has not voted.
getAnonymousVotes Returns a list of uniqueID's for guests who have voted for the option at the given index.
getAnonymousVotesByIndex Returns an Iterator of uniqueID's for guests who have voted for the option at the given index.
getLivePollCount Returns a count of all live polls in the system.
getLivePollCountByObjectTypeAndObjectID Returns a count of all live polls of a given type and object ID.
getLivePolls Returns a List of live polls in the system.
getLivePollsByObjectTypeAndObjectID Returns an iterable of live polls associated with the object specified by the objectType and objectID.
getPoll Returns the Poll specified by the poll ID.
getPollCount Returns a count of all polls, both active and inactive.
getPollCountByObjectTypeAndObjectID Returns an count of polls, both active and inactive, associated with the object specified by the objectType and objectID.
getPolls Returns an iterable of all polls, both active and inactive.
getPollsByObjectTypeAndObjectID Returns an iterable of polls, both active and inactive, associated with the object specified by the objectType and objectID.
getUserVoteCount Returns a count of all user votes for all options in the poll.
getUserVoteCountByIndex Returns a count of all user votes for the specified option in the poll.
getUserVoteIndices Returns a list of option indexes corresponding to the user votes, or an empty array if the user has not voted.
getUserVotes Returns a List of User objects for users who have voted for any options in the poll.
getUserVotesByIndex Returns a list of User objects for users who have voted for the option at the given index.
getVoteCount Returns a count of all votes (both guest and user votes) for all options in the poll.
getVoteCountByIndex Returns a count of all votes (both guest and user votes) for the specified option in the poll.
hasAnonymousVoted Returns true if the guest associated with the uniqueID has previously voted in the poll, false otherwise.
hasUserVoted Returns true if the user specified has previously voted in the poll, false otherwise.
isModeEnabled Returns true if the mode specified is enabled for the poll, false otherwise.
removeAnonymousVote Remove a guest vote.
removeUserVote Remove a user vote.
setMode Sets a mode to be enabled or disabled for the poll.
setOption Sets the text of the option at the specified index.
setOptionIndex Moves the option's index.
update

addAnonymousVote

Add a guest vote for an option in the poll.

Method Type Endpoint
POST /votes/anonymous

Parameters

pollID
index
uniqueID
XML Format
<addAnonymousVote> 
  <pollID>long</pollID>

  <index>int</index>

  <uniqueID>String</uniqueID>
</addAnonymousVote>

addOption

Add a new option to the poll. The option will be added to the end of the option list for the poll.

Method Type Endpoint
POST /options

Parameters

pollID
value
XML Format
<addOption> 
  <pollID>long</pollID>

  <value>String</value>
</addOption>

addUserVote

Add a user vote for an option in the poll.

Method Type Endpoint
POST /votes/user

Parameters

pollID
index
userID
XML Format
<addUserVote> 
  <pollID>long</pollID>

  <index>int</index>

  <userID>long</userID>
</addUserVote>

changeAnonymousVote

Change a guest vote. This method will throw a PollException unless the mode 'ALLOW_ANONYMOUS_VOTE_MODIFICATION' is enabled for the poll.

Method Type Endpoint
PUT /votes/anonymous

Parameters

pollID
prevOptionIndex
newOptionIndex
uniqueID
XML Format
<changeAnonymousVote> 
  <pollID>long</pollID>

  <prevOptionIndex>int</prevOptionIndex>

  <newOptionIndex>int</newOptionIndex>

  <uniqueID>String</uniqueID>
</changeAnonymousVote>

changeUserVote

Change a user vote. This method will throw a PollException unless the mode 'ALLOW_USER_VOTE_MODIFICATION' is enabled for the poll.

Method Type Endpoint
PUT /votes/user

Parameters

pollID
prevOptionIndex
newOptionIndex
userID
XML Format
<changeUserVote> 
  <pollID>long</pollID>

  <prevOptionIndex>int</prevOptionIndex>

  <newOptionIndex>int</newOptionIndex>

  <userID>long</userID>
</changeUserVote>

createPoll

Method Type Endpoint
POST /polls

Parameters

objectType
objectID
userID
name
XML Format
<createPoll> 
  <objectType>int</objectType>

  <objectID>long</objectID>

  <userID>long</userID>

  <name>String</name>
</createPoll>

deleteOption

Remove an option from the poll.

Method Type Endpoint
DELETE /options/{pollID}/{index}

Parameters

pollID
index

deletePoll

Deletes a poll.

Method Type Endpoint
DELETE /polls/{pollID}

Parameters

pollID
the poll to delete

getActivePollCount

Returns a count of all active polls in the system. Active polls are defined as polls where the current date is between the poll's start and expire dates.

Method Type Endpoint
GET /activePollCount

getActivePollCountByObjectTypeAndObjectID

Returns a count of all active polls of a given type and object ID. Active polls are defined as polls where the current date is between the poll's start and expire dates.

Method Type Endpoint
GET /activePollCount/{objectType}/{objectID}

Parameters

objectType
the type of object we're looking at (defined in the class.
objectID
the ID of the object we're looking at.

getActivePolls

Returns an iterable of active polls in the system. Active polls are defined as polls where the current date is between the poll's start and expire dates.

Method Type Endpoint
GET /activePolls

getActivePollsByObjectTypeAndObjectID

Returns an iterable of active polls associated with the object specified by the objectType and objectID. Active polls are defined as polls where the current date is between the poll's start and expire dates.

Method Type Endpoint
GET /activePolls/{objectType}/{objectID}

Parameters

objectType
the object type of the object the poll is associated with.
objectID
the objectID of the object the poll is associated with.

getAnonymousVoteCount

Returns a count of all guests user votes for all options in the poll.

Method Type Endpoint
GET /votes/anonymousCount/{pollID}

Parameters

pollID

getAnonymousVoteCountByIndex

Returns a count of all user votes for the specified option in the poll.

Method Type Endpoint
GET /votes/anonymousCount/{pollID}/{index}

Parameters

pollID
index

getAnonymousVoteIndices

Returns a list of option indexes corresponding to the anonymous votes, or an empty array if the user has not voted.

Method Type Endpoint
GET /votes/anonymousIndices/{pollID}/{uniqueID}

Parameters

pollID
uniqueID

getAnonymousVotes

Returns a list of uniqueID's for guests who have voted for the option at the given index.

Method Type Endpoint
GET /votes/anonymous/{pollID}

Parameters

pollID

getAnonymousVotesByIndex

Returns an Iterator of uniqueID's for guests who have voted for the option at the given index.

Method Type Endpoint
GET /votes/anonymous/{pollID}/{index}

Parameters

pollID
index

getLivePollCount

Returns a count of all live polls in the system. Live polls are defined as polls where the current date is between the poll's start and end dates.

Method Type Endpoint
GET /livePollCount

getLivePollCountByObjectTypeAndObjectID

Returns a count of all live polls of a given type and object ID. Live polls are defined as polls where the current date is between the poll's start and end dates.

Method Type Endpoint
GET /livePollCount/{objectType}/{objectID}

Parameters

objectType
the type of object we're looking at (defined in the class.
objectID
the ID of the object we're looking at.

getLivePolls

Returns a List of live polls in the system. Live polls are defined as polls where the current date is between the poll's start and end dates.

Method Type Endpoint
GET /livePolls

getLivePollsByObjectTypeAndObjectID

Returns an iterable of live polls associated with the object specified by the objectType and objectID. Live polls are defined as polls where the current date is between the poll's start and end dates.

Method Type Endpoint
GET /livePolls/{objectType}/{objectID}

Parameters

objectType
the object type of the object the poll is associated with.
objectID
the objectID of the object the poll is associated with.

getPoll

Returns the Poll specified by the poll ID.

Method Type Endpoint
GET /polls/{pollID}

Parameters

pollID
the id of the poll to return.

getPollCount

Returns a count of all polls, both active and inactive.

Method Type Endpoint
GET /pollCount

getPollCountByObjectTypeAndObjectID

Returns an count of polls, both active and inactive, associated with the object specified by the objectType and objectID.

Method Type Endpoint
GET /pollCount/{objectType}/{objectID}

Parameters

objectType
the object type of the object the poll is associated with.
objectID
the objectID of the object the poll is associated with.

getPolls

Returns an iterable of all polls, both active and inactive. The ordering of the polls is from active to inactive polls and then from newest to oldest in each group.

Method Type Endpoint
GET /polls

getPollsByObjectTypeAndObjectID

Returns an iterable of polls, both active and inactive, associated with the object specified by the objectType and objectID.

Method Type Endpoint
GET /polls/{objectType}/{objectID}

getUserVoteCount

Returns a count of all user votes for all options in the poll.

Method Type Endpoint
GET /votes/userCount/{pollID}

Parameters

pollID

getUserVoteCountByIndex

Returns a count of all user votes for the specified option in the poll.

Method Type Endpoint
GET /votes/userCount/{pollID}/{index}

Parameters

pollID
index

getUserVoteIndices

Returns a list of option indexes corresponding to the user votes, or an empty array if the user has not voted.

Method Type Endpoint
GET /votes/userIndices/{pollID}/{userID}

Parameters

pollID
userID

getUserVotes

Returns a List of User objects for users who have voted for any options in the poll.

Method Type Endpoint
GET /votes/{pollID}

Parameters

pollID

getUserVotesByIndex

Returns a list of User objects for users who have voted for the option at the given index.

Method Type Endpoint
GET /votes/{pollID}/{index}

getVoteCount

Returns a count of all votes (both guest and user votes) for all options in the poll.

Method Type Endpoint
GET /votes/count/{pollID}

Parameters

pollID

getVoteCountByIndex

Returns a count of all votes (both guest and user votes) for the specified option in the poll.

Method Type Endpoint
GET /votesByIndex/{pollID}/{index}

Parameters

pollID
index

hasAnonymousVoted

Returns true if the guest associated with the uniqueID has previously voted in the poll, false otherwise.

Method Type Endpoint
GET /votes/anonymousVoted/{pollID}/{uniqueID}

Parameters

pollID
uniqueID

hasUserVoted

Returns true if the user specified has previously voted in the poll, false otherwise.

Method Type Endpoint
GET /votes/userVoted/{pollID}/{userID}

Parameters

pollID
userID

isModeEnabled

Returns true if the mode specified is enabled for the poll, false otherwise. Valid modes are defined as static final constants in this interface.

Method Type Endpoint
GET /modes/{pollID}/{mode}

Parameters

pollID
a valid poll mode
mode
of the poll we're querying

removeAnonymousVote

Remove a guest vote. This method will throw a PollException unless the mode 'ALLOW_ANONYMOUS_VOTE_MODIFICATION' is enabled for the poll.

Method Type Endpoint
DELETE /votes/anonymous/{pollID}/{prevOptionIndex}/{uniqueID}

Parameters

pollID
prevOptionIndex
uniqueID

removeUserVote

Remove a user vote. This method will throw a PollException unless the mode 'ALLOW_USER_VOTE_MODIFICATION' is enabled for the poll.

Method Type Endpoint
DELETE /votes/user/{pollID}/{prevOptionIndex}/{userID}

Parameters

pollID
prevOptionIndex
userID

setMode

Sets a mode to be enabled or disabled for the poll. Valid modes are defined as static final constants in this interface.

Method Type Endpoint
POST /modes

Parameters

pollID
mode
enabled
XML Format
<setMode> 
  <pollID>long</pollID>

  <mode>long</mode>

  <enabled>boolean</enabled>
</setMode>

setOption

Sets the text of the option at the specified index.

Method Type Endpoint
PUT /options

Parameters

pollID
index
value
XML Format
<setOption> 
  <pollID>long</pollID>

  <index>int</index>

  <value>String</value>
</setOption>

setOptionIndex

Moves the option's index.

Method Type Endpoint
PUT /options/index

Parameters

pollID
currentIndex
newIndex
XML Format
<setOptionIndex> 
  <pollID>long</pollID>

  <currentIndex>int</currentIndex>

  <newIndex>int</newIndex>
</setOptionIndex>

update

Method Type Endpoint
PUT /polls

privateMessageService

Provides the ability to manipulate private messages. Send, retrieve, move, list.



Method Description
createFolder Creates a new folder.
createMessage Creates a new private message.
deleteFolder Deletes a folder.
deleteMessage Deletes a private message from the folder by moving it to the trash folder.
getFolder Returns the specified folder for a user.
getFolders Returns an Iterator of PrivateMessageFolder objects for the folders the user has.
getMessage Returns the specified private message.
getMessageCount Returns the total number of private messages a user has in their mailbox.
getMessageCountForFolder Returns the message count on a specific folder.
getMessages Returns all the messages in the folder sorted by date descending.
getUnreadMessageCount Returns the total number of unread private messages a user has in their mailbox.
getUnreadMessageCountForFolder Returns the total number of unread private messages a user has in a specific folder.
isPrivateMessagesEnabled Returns <tt>true</tt> if the feature is enabled, <tt>false</tt> otherwise.
moveMessage Moves a private message to another folder.
saveMessageAsDraft Saves a message as a draft by storing it in the sender's <tt>Drafts</tt> folder.
sendMessage Sends a private message to another user.

createFolder

Creates a new folder.

Method Type Endpoint
POST /folders

Parameters

userID
of the user to create the folder for.
name
the name of the folder.
XML Format
<createFolder> 
  <userID>long</userID>

  <name>String</name>
</createFolder>

createMessage

Creates a new private message. The message must be either saved as a draft or sent to another user in order to be stored permanently.

Method Type Endpoint
POST /messages

Parameters

senderID
of the user sending the message.
XML Format
<createMessage> 
  <senderID>long</senderID>
</createMessage>

deleteFolder

Deletes a folder. All messages in the folder will be moved to the user's Trash folder. Attempting to delete one of the four default folders will move all messages in the folder to Trash but won't delete the folder itself. If the folder is the Trash folder, all messages in the folder will be permanently deleted.

Method Type Endpoint
DELETE /folders/{userID}/{folderID}

Parameters

userID
of the folder to associate
folderID
of the folder to delete.

deleteMessage

Deletes a private message from the folder by moving it to the trash folder. Messages in the Trash folder will be routinely automatically deleted. If this is the Trash folder, this method will do nothing.

Method Type Endpoint
DELETE /userMessages/{userID}/{messageID}

Parameters

userID
messageID

getFolder

Returns the specified folder for a user.

Method Type Endpoint
GET /folders/{userID}/{folderID}

Parameters

userID
of the user.
folderID
the folder ID.

getFolders

Returns an Iterator of PrivateMessageFolder objects for the folders the user has. The four built-in folders (Inbox, Sent, Drafts, Trash) are returned first, followed by custom folders in alphabetical order.

Method Type Endpoint
GET /folders/{userID}

Parameters

userID
of the user.

getMessage

Returns the specified private message.

Method Type Endpoint
GET /messages/{privateMessageID}

Parameters

privateMessageID
the ID of the private message.

getMessageCount

Returns the total number of private messages a user has in their mailbox. This calculation does not count any messages in the user's Trash folder.

Method Type Endpoint
GET /messageCount/{userID}

Parameters

userID
of the user.

getMessageCountForFolder

Returns the message count on a specific folder.

Method Type Endpoint
GET /messsageCount/{userID}/{folderID}

Parameters

userID
of the user
folderID
the folder id

getMessages

Returns all the messages in the folder sorted by date descending.

Method Type Endpoint
GET /userMesages/{userID}/{folderID}

Parameters

userID
folderID

getUnreadMessageCount

Returns the total number of unread private messages a user has in their mailbox. This calculation does not count any messages in the user's Trash folder.

Method Type Endpoint
GET /unreadMessageCount/{userID}

Parameters

userID
of the user.

getUnreadMessageCountForFolder

Returns the total number of unread private messages a user has in a specific folder.

Method Type Endpoint
GET /unreadMessageCount/{userID}/{folderID}

Parameters

userID
of the user
folderID
the folder id

isPrivateMessagesEnabled

Returns true if the feature is enabled, false otherwise.

Method Type Endpoint
GET /privateMessagesEnabled

moveMessage

Moves a private message to another folder.

Method Type Endpoint
POST /moveMessage

Parameters

userID
of the user
messageID
of the message to move.
destinationFolderID
of the folder to move the message to.
XML Format
<moveMessage> 
  <userID>long</userID>

  <messageID>long</messageID>

  <destinationFolderID>int</destinationFolderID>
</moveMessage>

saveMessageAsDraft

Saves a message as a draft by storing it in the sender's Drafts folder.

Method Type Endpoint
POST /saveDraft

Parameters

privateMessage
the private message to save as a draft
XML Format
<saveMessageAsDraft> 
  <privateMessage>WSPrivateMessage</privateMessage>
</saveMessageAsDraft>

sendMessage

Sends a private message to another user. The message will be delivered to the recipient's Inbox. Optionally, a copy of the message will be put in the sender's Sent folder.

If the recipient's mailbox is full, a will be thrown. The exception will also be thrown if the recipient is not allowed to receive private messages or if the user has elected to save a copy of the message in their Sent folder, but doesn't have room to do so.

Method Type Endpoint
POST /sendMessage

Parameters

privateMessage
the message to send.
recipientID
of the user to send the message to.
copyToSentFolder
true if the message should be copied to the <tt>Sent</tt> folder.
XML Format
<sendMessage> 
  <privateMessage>WSPrivateMessage</privateMessage>

  <recipientID>long</recipientID>

  <copyToSentFolder>boolean</copyToSentFolder>
</sendMessage>

profileFieldService

Defines methods used to create, access, update, and remove profile fields data. All user profile data is managed via the ProfileService.



Method Description
createProfileField Creates a new profile field.
deleteProfileField Removes a profile field from the system.
editProfileField Edits the profile field data.
editProfileFieldOptions Edits the objects for a profile field.
getDefaultFields Returns a list of all default profile fields.
getProfileField Gets a profile field object by its id.
getProfileFields Gets the list of all profile fields in the system.
setIndex Sets the index of the profile field.

createProfileField

Creates a new profile field.

Method Type Endpoint
POST /fields

Parameters

field
the new profile field to create.
XML Format
<createProfileField> 
  <field>WSProfileField</field>
</createProfileField>

deleteProfileField

Removes a profile field from the system. This method will also remove all the user data and objects associated with the field.

Method Type Endpoint
DELETE /fields/{fieldID}

Parameters

fieldID
the id of the field to remove

editProfileField

Edits the profile field data.

Method Type Endpoint
PUT /fields

Parameters

field
the profile field to edit.
XML Format
<editProfileField> 
  <field>WSProfileField</field>
</editProfileField>

editProfileFieldOptions

Edits the objects for a profile field.

Method Type Endpoint
PUT /options

Parameters

field
the field containing the edited objects.
XML Format
<editProfileFieldOptions> 
  <field>WSProfileField</field>
</editProfileFieldOptions>

getDefaultFields

Returns a list of all default profile fields. These fields need not be shown, but they cannot be deleted.

Method Type Endpoint
GET /defaultFields

getProfileField

Gets a profile field object by its id.

Method Type Endpoint
GET /fields/{fieldID}

Parameters

fieldID
the id of the profile field.

getProfileFields

Gets the list of all profile fields in the system.

Method Type Endpoint
GET /fields

setIndex

Sets the index of the profile field. The index value can be used to display the fields in an arbitrary order. Index values are from 0 to getProfileFields().size() - 1.

Method Type Endpoint
POST /index

Parameters

fieldID
the profile field id to adjust the index of.
newIndex
the new index value for the field.
XML Format
<setIndex> 
  <fieldID>long</fieldID>

  <newIndex>int</newIndex>
</setIndex>

profileSearchService

Provides the ability to search users.



Method Description
getSimilarUserResults Returns the the first 5 users that are similar to the specified user.
isSearchEnabled Returns true if the profile search feature is turned on.
search Returns the users that correspond to the search query.
searchBounded Returns the users that correspond to the search query beginning at startIndex and until the number results equals numResults.

getSimilarUserResults

Returns the the first 5 users that are similar to the specified user. This method only checks profile data, and does not use username, name, or email address as a means of determining similarity.

Method Type Endpoint
GET /similarUsers/{targetUserID}

Parameters

groupID
the user ID that other user records will be similar to

isSearchEnabled

Returns true if the profile search feature is turned on. When profile search is disabled, other methods serve as no-ops.

Method Type Endpoint
GET /isSearchEnabled

search

Returns the users that correspond to the search query.

Method Type Endpoint
POST /searchProfile

Parameters

query
the profile search query
XML Format
<search> 
  <query>WSProfileSearchQuery</query>
</search>

searchBounded

Returns the users that correspond to the search query beginning at startIndex and until the number results equals numResults.

Method Type Endpoint
POST /searchProfileBounded

Parameters

query
the profile search query
startIndex
the starting index in the search result to return.
numResults
the number of users to return in the search result.
XML Format
<searchBounded> 
  <query>WSProfileSearchQuery</query>

  <startIndex>int</startIndex>

  <numResults>int</numResults>
</searchBounded>

profileService

Manages user profile data. Defines methods used to create, access, update, and remove user profile data.



Method Description
deleteProfileByID Removes all user profile data associated with a particular profile field.
deleteProfileByUserID Removes all user profile data associated with a particular user.
getProfile Gets a map of user profile values for a particular user mapped to their corresponding <tt>ProfileField</tt> id.
getProfileImage Returns the profile image for a user.
setProfile Sets a array of profile values for a particular user.
setProfileImage Set a new profile page image for the specified user.

deleteProfileByID

Removes all user profile data associated with a particular profile field. This method is generally called when a profile field is removed from the system.

Method Type Endpoint
DELETE /fields/{fieldID}

Parameters

fieldID
remove all user profile data associated with this profile field id.

deleteProfileByUserID

Removes all user profile data associated with a particular user. This method is generally called when a user is removed from the system.

Method Type Endpoint
DELETE /profiles/{userID}

Parameters

userID
remove all user profile data associated with this userID.

getProfile

Gets a map of user profile values for a particular user mapped to their corresponding ProfileField id.

Method Type Endpoint
GET /profiles/{userID}

Parameters

userID
get the profile for the user with this id.

getProfileImage

Returns the profile image for a user.

Method Type Endpoint
GET /images/{userID}

Parameters

userID
The id of the user to get an image for.

setProfile

Sets a array of profile values for a particular user.

Method Type Endpoint
POST /profiles

Parameters

userID
the user that represents the profile list
profiles
the array of user profile values to save
XML Format
<setProfile> 
  <userID>long</userID>

  <profiles>List</profiles>
</setProfile>

setProfileImage

Set a new profile page image for the specified user.

Method Type Endpoint
POST /images

Parameters

userID
The id of the user to add an image for.
mimeType
The mime type of the image.
data
The content for the image.
XML Format
<setProfileImage> 
  <userID>long</userID>

  <mimeType>String</mimeType>

  <data>byte</data>
</setProfileImage>

projectService

This service provides methods to load tasks by ID and to retrieve lists of projects. Once a handle on a project is obtained one can use the methods in this interface to update or delete a project or otherwise modify the project.



Method Description
create
delete
getCheckPoints
getProjectByID
getProjectCount
getProjects
getUserCount
setCheckPoints
update

create

Method Type Endpoint
POST /projects

Parameters

containerType
containerID
name
description
userID
checkPoints
dueDate
XML Format
<create> 
  <containerType>int</containerType>

  <containerID>long</containerID>

  <name>String</name>

  <description>String</description>

  <userID>long</userID>

  <checkPoints>WSCheckPoint</checkPoints>

  <dueDate>Date</dueDate>
</create>

delete

Method Type Endpoint
DELETE /projects/{projectID}

Parameters

projectID

getCheckPoints

Method Type Endpoint
GET /checkPointsByProject/{projectID}

Parameters

projectID

getProjectByID

Method Type Endpoint
GET /projects/{projectID}

Parameters

projectID

getProjectCount

Method Type Endpoint
GET /projectCount

getProjects

Method Type Endpoint
GET /projects

getUserCount

Method Type Endpoint
GET /userCount/{projectID}

Parameters

projectID

setCheckPoints

Method Type Endpoint
PUT /checkPoints

Parameters

projectID
checkpoints
XML Format
<setCheckPoints> 
  <projectID>long</projectID>

  <checkpoints>WSCheckPoint</checkpoints>
</setCheckPoints>

update

Method Type Endpoint
PUT /projects

Parameters

project
XML Format
<update> 
  <project>WSProject</project>
</update>

ratingsService





Method Description
addRating Add a rating to the .
createRating Create a new rating with the specified attributes.
getAvailableRatingCount Returns the count of currently available ratings.
getAvailableRatings Returns an iterable of Rating objects that list all the available ratings.
getMeanRating A convenience method which returns a geometric mean average of all the ratings given to the .
getRating Returns the rating associated with the user, or null if this user hasn't rated the .
getRatingCount Returns the total number of ratings given to the .
getRatingFromScore Retrieve the rating with the specified score.
getRatings Returns an Iterable of all the ratings given to the .
hasRated Returns whether the user has rated the or not.
isRatingsEnabled Returns true if the rating feature is turned on.
removeRating Remove the specified rating from the list of currently available ratings.
setRatingsEnabled Enables or disables the ratings feature.

addRating

Add a rating to the . If the user has already rated, this rating will replace the previous rating. If the user is null (anonymous) this rating will be added to the ratings for the . The author of the cannot rate their own content.

Method Type Endpoint
/objectRatings/user

Parameters

userID
the user rating the
objectType
the ()} to return ratings for
objectID
the ()} to return ratings for
ratingScore
the rating the user wants to give to the
XML Format
<addRating> 
  <userID>long</userID>

  <objectType>int</objectType>

  <objectID>long</objectID>

  <ratingScore>int</ratingScore>
</addRating>

createRating

Create a new rating with the specified attributes. Only positive integers are allowed for the score, 0 or negative integers will cause an IllegalArgumentException to be thrown. If the score is already taken an IllegalArgumentException will be thrown.

Method Type Endpoint
POST /ratings

Parameters

score
the score or rating level for the new rating
description
the description of the new rating
XML Format
<createRating> 
  <score>int</score>

  <description>String</description>
</createRating>

getAvailableRatingCount

Returns the count of currently available ratings.

Method Type Endpoint
GET /ratings/count

getAvailableRatings

Returns an iterable of Rating objects that list all the available ratings. The returned list will be sorted from lowest rating to high rating.

Method Type Endpoint
GET /ratings

getMeanRating

A convenience method which returns a geometric mean average of all the ratings given to the .

Method Type Endpoint
GET /objectRatings/mean/{objectType}/{objectID}

Parameters

objectType
the ()} to return ratings for
objectID
the ()} to return ratings for

getRating

Returns the rating associated with the user, or null if this user hasn't rated the . If the user is null (anonymous) this method will return null.

Method Type Endpoint
GET /objectRatings/user/{objectType}/{objectID}

Parameters

userID
of the user to check
objectType
the ()} to return ratings for
objectID
the ()} to return ratings for

getRatingCount

Returns the total number of ratings given to the .

Method Type Endpoint
GET /objectRatings/count/{objectType}/{objectID}

Parameters

objectType
the ()} to return ratings for
objectID
the ()} to return ratings for

getRatingFromScore

Retrieve the rating with the specified score.

Method Type Endpoint
POST /ratingFromScore/{score}

Parameters

score
the score of the rating to retrieve
XML Format
<getRatingFromScore> 
  <score>int</score>
</getRatingFromScore>

getRatings

Returns an Iterable of all the ratings given to the .

Method Type Endpoint
GET /objectRatings/{objectType}/{objectID}

Parameters

objectType
the ()} to return ratings for
objectID
the ()} to return ratings for

hasRated

Returns whether the user has rated the or not. This method will always return false if the user is anonymous.

Method Type Endpoint
GET /objectRatings/userHasRated/{objectType}/{objectID}

Parameters

userID
of the user to check
objectType
the ()} to return ratings for
objectID
the ()} to return ratings for

isRatingsEnabled

Returns true if the rating feature is turned on. When ratings are disabled, other methods serve as no-ops.

Method Type Endpoint
GET /ratingsEnabled

removeRating

Remove the specified rating from the list of currently available ratings.

Method Type Endpoint
DELETE /ratings/{score}

setRatingsEnabled

Enables or disables the ratings feature. When ratings are disabled, other methods serve as no-ops.

Method Type Endpoint
POST /ratingsEnabled

referenceService

Manager used to create references between different kind of jive objects.

References are use to create a relationship between one kind of jive object to another. For instance a blog may reference a specific thread.



Method Description
addReference Creates a reference between the refering object and the references.
deleteAllReferences Removes all references from the specified referer.
deleteAllReferers Causes this object to not be referred by any other objects.
deleteReference Delete the reference between a referer and the refered content.
getReferences Get all objects that the specfied jiveObject referers too.
getReferers Get a list of all the objects that refer to this specified object.

addReference

Creates a reference between the refering object and the references.

Method Type Endpoint
POST /references

Parameters

referer
The object that will refer to references.
reference
XML Format
<addReference> 
  <referer>WSJiveObject</referer>

  <reference>WSJiveObject</reference>
</addReference>

deleteAllReferences

Removes all references from the specified referer.

Method Type Endpoint
DELETE /references/{refererObjectType}/{refererObjectID}

Parameters

refererObjectType
The referer's object type.
refererObjectID
The id of the referer.

deleteAllReferers

Causes this object to not be referred by any other objects.

Method Type Endpoint
DELETE /referers/{referenceObjectType}/{referenceObjectID}

Parameters

referenceObjectType
The object Type of the reference.
referenceObjectID
The object id of the reference.

deleteReference

Delete the reference between a referer and the refered content.

Method Type Endpoint
DELETE /references/{refererObjectType}/{refererObjectID}/{referenceObjectType}/{referenceObjectID}

Parameters

refererObjectType
The referer's object type.
refererObjectID
The id of the referer.
referenceObjectType
The object Type of the reference.
referenceObjectID
The object id of the reference.

getReferences

Get all objects that the specfied jiveObject referers too.

Method Type Endpoint
GET /references/{refererObjectType}/{refererObjectID}

Parameters

refererObjectType
The referer's object type.
refererObjectID
The id of the referer.

getReferers

Get a list of all the objects that refer to this specified object.

Method Type Endpoint
GET /referers/{referenceObjectType}/{referenceObjectID}

Parameters

referenceObjectType
The object Type of the reference.
referenceObjectID
The object id of the reference.

searchService

Provides the ability to search for content.



Method Description
countQuickMessageSearchResultsByCommunityID Returns the number of possible results for the specified query.
countQuickSearchResults Returns the number of possible results for the specified query.
countSearchResults Returns the number of possible results for the specified query.
countSearchResultsByCommunityID Returns the number of possible results for the specified query by category.
quickMessageSearchByCommunityID Provides the ability to do quick search queries based on the provided string.
quickSearch Provides the ability to do quick search queries based on the provided string.
search Provides the ability to create complex search queries with the ability to change sorting, filtering, etc.
searchByCommunities Provides the ability to create complex search queries with the ability to change sorting, filtering, etc. all by category.

countQuickMessageSearchResultsByCommunityID

Returns the number of possible results for the specified query.

Method Type Endpoint
GET /communitySearchCount/{communityID}/{query}/{contentTypes}

countQuickSearchResults

Returns the number of possible results for the specified query.

Method Type Endpoint
GET /searchCount

Parameters

query
The query to find the number of results for.
contentTypes
an array of jive content types

countSearchResults

Returns the number of possible results for the specified query.

Method Type Endpoint
POST /searchCount

Parameters

query
The query to find the number of results for.
contentTypes
an array of jive content types
XML Format
<countSearchResults> 
  <query>WSQuery</query>

  <contentTypes>int</contentTypes>
</countSearchResults>

countSearchResultsByCommunityID

Returns the number of possible results for the specified query by category.

Method Type Endpoint
POST /communitySearchCount

Parameters

communityID
The id of the category.
query
The query to find the number of results for.
contentTypes
an array of jive content types
XML Format
<countSearchResultsByCommunityID> 
  <communityID>long</communityID>

  <query>WSQuery</query>

  <contentTypes>int</contentTypes>
</countSearchResultsByCommunityID>

quickMessageSearchByCommunityID

Provides the ability to do quick search queries based on the provided string.

Method Type Endpoint
GET /communitySearch/{communityID}/{query}/{contentTypes}/{startIndex}/{numResults}

quickSearch

Provides the ability to do quick search queries based on the provided string.

Method Type Endpoint
GET /search

Parameters

query
The query string.
contentTypes
an array of jive content types
startIndex
Starting point of results to grab.
numResults
Ending point of results to grab. @return An array of message IDs.

search

Provides the ability to create complex search queries with the ability to change sorting, filtering, etc.

Method Type Endpoint
POST /search

Parameters

query
The query objects.
contentTypes
an array of jive content types
startIndex
Starting point of results to grab.
numResults
Ending point of results to grab.
XML Format
<search> 
  <query>WSQuery</query>

  <contentTypes>int</contentTypes>

  <startIndex>int</startIndex>

  <numResults>int</numResults>
</search>

searchByCommunities

Provides the ability to create complex search queries with the ability to change sorting, filtering, etc. all by category.

Method Type Endpoint
POST /communitySearch

Parameters

communityID
The id of the category
query
The query objects.
contentTypes
an array of jive content types
startIndex
Starting point of results to grab.
numResults
Ending point of results to grab. @return An array of message IDs.
XML Format
<searchByCommunities> 
  <communityID>long</communityID>

  <query>WSQuery</query>

  <contentTypes>int</contentTypes>

  <startIndex>int</startIndex>

  <numResults>int</numResults>
</searchByCommunities>

statusLevelService

Manages status level feature. StatusLevel levels allow the system to rank users by points or associate users with a specific group.



Method Description
addPoints Rewards points to a user.
createStatusLevel Creates a new points based StatusLevel.
createStatusLevel Creates a new group based StatusLevel Level
deleteStatusLevel Deletes a statusLevel level from the system
getAllStatusLevelScenarios Returns all of the objects.
getGroupStatusLevel If there is a status level associated with the group passed in then the status level will be returned, Otherwise null will be returned.
getGroupStatusLevels Returns an array of all group based status levels in the system.
getLeaders Returns an array of system wide leaders.
getLeaders Returns an array of system wide leaders.
getLeaders Returns an Iterable of leaders for a specific community
getLeaders Returns an Iterable of leaders for a specific community
getPointLevel Returns the point level for a user system wide.
getPointLevel Returns the status level points for a user in regards to a specific community
getPointStatusLevels Returns an array of point based status levels in the system sorted by point range.
getStatusLevel Used to acquire a specific status level object from the system
getStatusLevelByPoints Used to get a status level by a point value.
getStatusLevelScenarioByCode Returns a by its code.
getUserStatusLevel Returns the system wide status level for specific user, will return null if there is no status level for this user.
isStatusLevelsEnabled Returns true if status levels are enabled in the system
setStatusLevelsEnabled Sets whether status levels should be enabled in the system.
updateStatusLevelScenario Update the points and whether or not this scenario is included in status level results.

addPoints

Rewards points to a user. By providing the object and a reason we can tell which object the user is be rewarded on and a code explaining why.

Note that it is valid to submit negative point values to remove points from a user.

Method Type Endpoint
POST /addPoints

Parameters

userID
The ID of the user who is receiving points.
communityID
The ID of the community the points are added to.
objectID
The ID of the object the user should receive points on.
objectType
Amount of points to award the user.
points
A code explaining why the user is receiving points.
code
The objectType of the object to add points for.
XML Format
<addPoints> 
  <userID>long</userID>

  <communityID>long</communityID>

  <objectID>long</objectID>

  <objectType>int</objectType>

  <points>long</points>

  <code>String</code>
</addPoints>

createStatusLevel

Creates a new points based StatusLevel. The minPoints and maxPoints range must not intersect, and maxPoints cannot be zero. Specify -1 in either to denote a boundless range (ie minPoints=50, maxPoints=-1 would mean everything over 50 has this status level)

The minPoints and maxPoints values must not go into the range over another StatusLevel levels point range.

Method Type Endpoint
POST /pointStatusLevels

Parameters

name
name of the status level
imagePath
The path the image used when displaying this status level.
minPoints
minimum amount in the point range
maxPoints
maximum amount in the point range
XML Format
<createStatusLevel> 
  <name>String</name>

  <imagePath>String</imagePath>

  <minPoints>int</minPoints>

  <maxPoints>int</maxPoints>
</createStatusLevel>

createStatusLevel

Creates a new group based StatusLevel Level

Method Type Endpoint
POST /groupStatusLevels

Parameters

name
name of the status level
imagePath
The path the image used when displaying this status level.
groupID
ID of the group to associate this status level with
XML Format
<createStatusLevel> 
  <name>String</name>

  <imagePath>String</imagePath>

  <groupID>long</groupID>
</createStatusLevel>

deleteStatusLevel

Deletes a statusLevel level from the system

Method Type Endpoint
DELETE /statusLevels/{statusLevelID}

Parameters

statusLevelID
ID of the statusLevel level to delete

getAllStatusLevelScenarios

Returns all of the objects.

Method Type Endpoint
GET /scenarios

getGroupStatusLevel

If there is a status level associated with the group passed in then the status level will be returned, Otherwise null will be returned.

Method Type Endpoint
GET /groupStatusLevels/{groupID}

Parameters

groupID
ID of the group to find a status level for

getGroupStatusLevels

Returns an array of all group based status levels in the system.

Method Type Endpoint
GET /groupStatusLevels

getLeaders

Returns an array of system wide leaders.

Method Type Endpoint
GET /leaders

getLeaders

Returns an array of system wide leaders.

Method Type Endpoint
GET /leaders/{startIndex}/{numResults}

Parameters

startIndex
The starting point of the results.
numResults
The number of results to return in the array.

getLeaders

Returns an Iterable of leaders for a specific community

Method Type Endpoint
GET /leadersByCommunity/{communityID}

Parameters

communityID
ID of the community to find leaders for.

getLeaders

Returns an Iterable of leaders for a specific community

Method Type Endpoint
GET /leadersByCommunity/{communityID}/{startIndex}/{numResults}

Parameters

communityID
ID of the community to find leaders for
startIndex
The starting point of the leader results.
numResults
The number of results in the array.

getPointLevel

Returns the point level for a user system wide.

Method Type Endpoint
GET /pointLevel/{userID}

Parameters

userID
ID of the user to get status level points for

getPointLevel

Returns the status level points for a user in regards to a specific community

Method Type Endpoint
GET /pointLevel/{userID}/{communityID}

Parameters

userID
ID of the user to get status level points for
communityID
ID of the community to filter by

getPointStatusLevels

Returns an array of point based status levels in the system sorted by point range.

Method Type Endpoint
GET /pointStatusLevels

getStatusLevel

Used to acquire a specific status level object from the system

Method Type Endpoint
GET /statusLevels/{statusLevelID}

Parameters

statusLevelID
the id of the object to acquire

getStatusLevelByPoints

Used to get a status level by a point value. If the points exceeds that of the maximum status level, the maximum status level will be returned.

Method Type Endpoint
GET /statusLevelByPoints/{points}

Parameters

points
point value find a status level for

getStatusLevelScenarioByCode

Returns a by its code.

Method Type Endpoint
GET /scenarios/{code}

Parameters

code
The code of the StatusLevelScenario.

getUserStatusLevel

Returns the system wide status level for specific user, will return null if there is no status level for this user.

If the user belongs to a group status level the group status level will always be returned.

Method Type Endpoint
GET /userStatusLevels/{userID}

Parameters

userID
IDof the user to find the status level for

isStatusLevelsEnabled

Returns true if status levels are enabled in the system

Method Type Endpoint
GET /statusLevelsEnabled

setStatusLevelsEnabled

Sets whether status levels should be enabled in the system.

Method Type Endpoint
POST /statusLevelsEnabled

Parameters

statusLevelsEnabled
true if status levels are statusLevelsEnabled, else false
XML Format
<setStatusLevelsEnabled> 
  <statusLevelsEnabled>boolean</statusLevelsEnabled>
</setStatusLevelsEnabled>

updateStatusLevelScenario

Update the points and whether or not this scenario is included in status level results.

Method Type Endpoint
PUT /scenarios

Parameters

scenario
the points and whether or not this scenario is included in status level results.
XML Format
<updateStatusLevelScenario> 
  <scenario>WSStatusLevelScenario</scenario>
</updateStatusLevelScenario>

systemPropertiesService

Provides a web service for managing Jive System Properties.



Method Description
deleteProperty Deletes a Jive System Property.
getProperties Obtains all Jive System Properties.
saveProperty Saves a name/value pair as a Jive System Property.

deleteProperty

Deletes a Jive System Property.

Method Type Endpoint
DELETE /properties/{name}

Parameters

name
the property to delete.

getProperties

Obtains all Jive System Properties.

Method Type Endpoint
GET /properties

saveProperty

Saves a name/value pair as a Jive System Property.

Method Type Endpoint
POST /properties

Parameters

name
the name of the property to set.
value
the value of the property to set.
XML Format
<saveProperty> 
  <name>String</name>

  <value>String</value>
</saveProperty>

tagService

Provides a service to create, retrieve and delete tags.



Method Description
addTag Associates a tag with this object
createTag Creates a tag in the database.
getTagByID Returns a tag given a tag ID.
getTagByName Returns a tag by tag name.
getTags Return an Iterable for all the tags associated with this manager.
removeAllTags Disassociates this object with all tags.
removeTag Disassociates this object with the given tag.

addTag

Associates a tag with this object

Method Type Endpoint
POST /objectTags

Parameters

tag
The object to add a tag for.
jiveObject
The tag, must be the unfiltered value.
XML Format
<addTag> 
  <tag>String</tag>

  <jiveObject>WSJiveObject</jiveObject>
</addTag>

createTag

Creates a tag in the database.

Method Type Endpoint
POST /tags/{tagname}

Parameters

tagname
the name of the tag to create.
XML Format
<createTag> 
  <tagname>String</tagname>
</createTag>

getTagByID

Returns a tag given a tag ID.

Method Type Endpoint
GET /tagsByID/{tagID}

Parameters

tagID
The id of the tag.

getTagByName

Returns a tag by tag name.

Method Type Endpoint
GET /tags/{tagname}

Parameters

tagname
the name of the tag to lookup.

getTags

Return an Iterable for all the tags associated with this manager.

Method Type Endpoint
GET /objectTags/{id}/{objectType}

Parameters

jiveObject
Tags to acquire.

removeAllTags

Disassociates this object with all tags.

Method Type Endpoint
DELETE /removeAllTags/{id}/{objectType}

removeTag

Disassociates this object with the given tag.

Method Type Endpoint
DELETE /objectTags/{tag}/{id}/{objectType}

Parameters

tag
The jive Object to remove a tag for.
jiveObject
The tag, must be the unfiltered value.

taskService





Method Description
create
createPersonalTask
delete
getTaskbyID
getTaskCount
getTaskCountWithFilter
getTasks
getTasksByProject
getTasksWithFilter
getUncompleteTasksByUserID
update

create

Method Type Endpoint
POST /tasks

Parameters

projectID
creatorID
ownerID
subject
body
dueDate
XML Format
<create> 
  <projectID>long</projectID>

  <creatorID>long</creatorID>

  <ownerID>long</ownerID>

  <subject>String</subject>

  <body>String</body>

  <dueDate>Date</dueDate>
</create>

createPersonalTask

Method Type Endpoint
POST /personalTasks

Parameters

userID
subject
body
dueDate
XML Format
<createPersonalTask> 
  <userID>long</userID>

  <subject>String</subject>

  <body>String</body>

  <dueDate>Date</dueDate>
</createPersonalTask>

delete

Method Type Endpoint
DELETE /tasks/{taskID}

Parameters

taskID

getTaskbyID

Method Type Endpoint
GET /tasks/{taskID}

Parameters

taskID

getTaskCount

Method Type Endpoint
GET /taskCount

getTaskCountWithFilter

Method Type Endpoint
POST /taskCount

Parameters

filter
XML Format
<getTaskCountWithFilter> 
  <filter>WSTaskResultFilter</filter>
</getTaskCountWithFilter>

getTasks

Method Type Endpoint
GET /tasks

getTasksByProject

Method Type Endpoint
GET /tasksByProject/{projectID}

Parameters

projectID

getTasksWithFilter

Method Type Endpoint
POST /tasksWithFilter

Parameters

filter
XML Format
<getTasksWithFilter> 
  <filter>WSTaskResultFilter</filter>
</getTasksWithFilter>

getUncompleteTasksByUserID

Method Type Endpoint
GET /tasksByUserID/{userID}

Parameters

userID

update

Method Type Endpoint
PUT /tasks

Parameters

task
XML Format
<update> 
  <task>WSTask</task>
</update>

userService

Provides a webservice for managing user's, avatar's, and status levels.

For soap services this service can be accessed at /rpc/soap/UserService For rest services this service can be accessed at /rpc/rest/users



Method Description
createUser Create a new user.
createUserWithUser Create a new user.
deleteUser Delete the user with the specified id.
deleteUserProperty Delete an extended property from a user.
disableUser Used to disable a user.
enableUser Used to enable a user.
getUser Returns a user by its id.
getUserByEmailAddress Returns a user object corresponding to the email address given.
getUserByUsername Returns a user by its username.
getUserCount Returns the number of users in the system.
getUserNames Returns the names of the all users names.
getUserProperties Return all extended properties for the user with the specified id.
getUsers Returns the IDs of the first 1000 users.
getUsersBounded Returns the IDs of users begining at startIndex and until the number results equals numResults.
isReadOnly Returns true if this UserService is read-only.
setPassword Used to change a user's password.
setUserProperty Set an extended property for a user.
updateUser Used to update user information in the system.

createUser

Create a new user.

Method Type Endpoint
POST /users/create

Parameters

username
The name of user.
password
The password for the user.
email
The email address of the user.
XML Format
<createUser> 
  <username>String</username>

  <password>String</password>

  <email>String</email>
</createUser>

createUserWithUser

Create a new user. The id field is ignored, after creation the user object returned will have the correct user id.

Method Type Endpoint
POST /users

Parameters

user
The user to create.
XML Format
<createUserWithUser> 
  <user>WSUser</user>
</createUserWithUser>

deleteUser

Delete the user with the specified id.

Method Type Endpoint
DELETE /users/{userID}

Parameters

userID
The id of the user to delete.

deleteUserProperty

Delete an extended property from a user.

Method Type Endpoint
DELETE /properties/{userID}/{name}

Parameters

name
Name of the extended property to delete.
userID
The id of the user to delete the extended property from.

disableUser

Used to disable a user.

Method Type Endpoint
PUT /enable

Parameters

userID
The id of the user to disable.
XML Format
<disableUser> 
  <userID>long</userID>
</disableUser>

enableUser

Used to enable a user.

Method Type Endpoint
PUT /disable

Parameters

userID
The id of the user to enable.
XML Format
<enableUser> 
  <userID>long</userID>
</enableUser>

getUser

Returns a user by its id.

Method Type Endpoint
GET /usersByID/{userID}

Parameters

userID
The id of the user.

getUserByEmailAddress

Returns a user object corresponding to the email address given.

Method Type Endpoint
GET /usersByEmail/{emailAddress}

Parameters

emailAddress
The email address of the user.

getUserByUsername

Returns a user by its username.

Method Type Endpoint
GET /users/{username}

Parameters

username
The username of the user.

getUserCount

Returns the number of users in the system.

Method Type Endpoint
GET /users/count

getUserNames

Returns the names of the all users names.

Method Type Endpoint
GET /userNames

getUserProperties

Return all extended properties for the user with the specified id.

Method Type Endpoint
GET /properties/{userID}

Parameters

userID
The user's id.

getUsers

Returns the IDs of the first 1000 users.

Method Type Endpoint
GET /users

getUsersBounded

Returns the IDs of users begining at startIndex and until the number results equals numResults.

Method Type Endpoint
GET /usersBounded/{startIndex}/{numResults}

Parameters

startIndex
The startIndex to grab results from.
numResults
The total number of results to be returned.

isReadOnly

Returns true if this UserService is read-only. When read-only, users can not be created, deleted, or modified.

Method Type Endpoint
GET /isReadOnly

setPassword

Used to change a user's password.

Method Type Endpoint
PUT /password

Parameters

userID
The id of the user to change the password for.
password
The new password in plain text.
XML Format
<setPassword> 
  <userID>long</userID>

  <password>String</password>
</setPassword>

setUserProperty

Set an extended property for a user.

Method Type Endpoint
POST /properties

Parameters

name
The name of the extended property.
value
The value of the extended property.
userID
The user to set an extended property for.
XML Format
<setUserProperty> 
  <name>String</name>

  <value>String</value>

  <userID>long</userID>
</setUserProperty>

updateUser

Used to update user information in the system.

Method Type Endpoint
PUT /users

Parameters

user
User information to update.
XML Format
<updateUser> 
  <user>WSUser</user>
</updateUser>

watchService

A service for manipulating a user's watches on objects.



Method Description
createCommunityWatch Create a watch on a community for the specified user.
createThreadWatch Create a watch on a thread for the specified user.
createUserWatch Create a watch on a user for the specified user.
deleteWatch Delete the specified watch.
deleteWatches Deletes all watches that a user has.
getCommunityWatch Returns a watch on a particular community, or null if there isn't a watch.
getCommunityWatchCount Return the count of all community watches in a particular communityID for the given userID.
getCommunityWatches Returns an array of IDs for all the community objects a user is watching in a community.
getDeleteDays Returns the number of days that a watched object can remain inactive before watches on that object are deleted.
getThreadWatch Returns a watch on a particular thread, or null if there isn't a watch.
getTotalWatchCount Returns a count of all watches that a userID has of a particular type.
getUserWatch Returns a watch on a particular user, or null if there isn't a watch.
getWatchList Returns an array of Watch objects for a particular object type that the given user is watching.
getWatchUsers Returns all the users who are watching this objectType and objectID.
isCommunityWatched Returns true if the user is watching the specified community.
isThreadWatched Returns true if the user is watching the specified thread.
isUserWatched Returns true if the user is watching the specified user.
setDeleteDays Sets the number of days that a watched object can remain inactive before watches on that object are deleted.

createCommunityWatch

Create a watch on a community for the specified user.

Method Type Endpoint
POST /communityWatches

Parameters

userID
The ID of the user to set the watch for.
communityID
The ID of the community to watch.
XML Format
<createCommunityWatch> 
  <userID>long</userID>

  <communityID>long</communityID>
</createCommunityWatch>

createThreadWatch

Create a watch on a thread for the specified user.

Method Type Endpoint
POST /threadWatches

Parameters

userID
The ID of the user to set the watch for.
threadID
The ID of thread to watch.
XML Format
<createThreadWatch> 
  <userID>long</userID>

  <threadID>long</threadID>
</createThreadWatch>

createUserWatch

Create a watch on a user for the specified user.

Method Type Endpoint
POST /userWatches

Parameters

userID
The ID of the user to set the watch for.
watchedUserID
The ID of the user to watch.
XML Format
<createUserWatch> 
  <userID>long</userID>

  <watchedUserID>long</watchedUserID>
</createUserWatch>

deleteWatch

Delete the specified watch.

Method Type Endpoint
DELETE /watches/{userID}/{objectID}/{objectType}

Parameters

watch
The watch to delete.

deleteWatches

Deletes all watches that a user has.

Method Type Endpoint
DELETE /users/{userID}

Parameters

userID
The ID of the user.

getCommunityWatch

Returns a watch on a particular community, or null if there isn't a watch.

Method Type Endpoint
GET /communityWatches/{userID}/{communityID}

Parameters

userID
The ID of the user to acquire a watch for.
communityID
The ID of the community to acquire the watch for.

getCommunityWatchCount

Return the count of all community watches in a particular communityID for the given userID.

Method Type Endpoint
GET /communityWatches/count/{userID}/{communityID}

Parameters

userID
The userID to return the watch count for.
communityID
The communityID to return the watch count for.

getCommunityWatches

Returns an array of IDs for all the community objects a user is watching in a community.

Method Type Endpoint
GET /allCommunityWatches/{userID}/{communityID}

Parameters

userID
The ID of the user.
communityID
The ID of the community.

getDeleteDays

Returns the number of days that a watched object can remain inactive before watches on that object are deleted.

Method Type Endpoint
GET /deleteDays

getThreadWatch

Returns a watch on a particular thread, or null if there isn't a watch.

Method Type Endpoint
GET /threadWatches/{userID}/{threadID}

Parameters

userID
The ID of the user with the watch.
threadID
The ID of the thread being watched.

getTotalWatchCount

Returns a count of all watches that a userID has of a particular type. Valid object types are:

Method Type Endpoint
GET /watches/count/{userID}/{objectType}

Parameters

userID
The ID of the user to get the watch count for.
objectType
The object type to get a watch count for.

getUserWatch

Returns a watch on a particular user, or null if there isn't a watch.

Method Type Endpoint
GET /userWatches/{userID}/{watchedUserID}

Parameters

userID
the userID with the watch.
watchedUserID
the userID being watched.

getWatchList

Returns an array of Watch objects for a particular object type that the given user is watching. Valid objectType's are:

Method Type Endpoint
GET /watches/{userID}/{objectType}

Parameters

userID
the userID to retrieve watches for
objectType
the object type.

getWatchUsers

Returns all the users who are watching this objectType and objectID.

Method Type Endpoint
GET /users/{objectType}/{objectID}/{watchType}

Parameters

objectType
the type of object being watched.
objectID
the ID of the object being watched.
watchType
the type of watch (EMAIL, BATCH).

isCommunityWatched

Returns true if the user is watching the specified community.

Method Type Endpoint
GET /isCommunityWatched/{userID}/{communityID}

Parameters

userID
The ID of the user.
communityID
The ID of the community.

isThreadWatched

Returns true if the user is watching the specified thread.

Method Type Endpoint
GET /isThreadWatched/{userID}/{threadID}

Parameters

userID
The ID of the user.
threadID
The ID of the thread.

isUserWatched

Returns true if the user is watching the specified user.

Method Type Endpoint
GET /isUserWatched/{userID}/{watchedUserID}

Parameters

userID
The ID of the user.
watchedUserID
The ID of the watched user.

setDeleteDays

Sets the number of days that a watched object can remain inactive before watches on that object are deleted.

Method Type Endpoint
POST /deleteDays

Parameters

deleteDays
The number days a watch can be inactive before being automatically deleted.
XML Format
<setDeleteDays> 
  <deleteDays>int</deleteDays>
</setDeleteDays>