Groups

GroupCategories

List

GET /api/groups.ashx/categories/

Response

Status: 200 OK
<GroupCategoryList>
<GroupCategory>
... </GroupCategory>
...
</GroupCategoryList>

GET /api/groups.ashx/categories/{Id}

Response

Status: 200 OK
<GroupCategory>
...
</GroupCategory>

Create GroupCategory

POST /api/groups.ashx/categories/

Request

<GroupCategory>
...
</GroupCategory>

Response

Status: 201 CREATED
<GroupCategory>
...
</GroupCategory>

Update GroupCategory

PUT /api/groups.ashx/categories/{Id}

Request

<GroupCategory>
...
</GroupCategory>

Response

Status: 200 OK
<GroupCategory>
...
</GroupCategory>

Delete GroupCategory

DELETE /api/groups.ashx/categories/{Id}

Response

Status: 200 OK

Groups

List

GET /api/groups.ashx/groups/

Response

Status: 200 OK
<GroupList PageSize="20" PageIndex="0" TotalCount="2"> <Group> ... </Group> ... </GroupList>

 

GET /api/groups.ashx/categories/{Id}/groups/

(limited to the groups in the specified category)

Response

Status: 200 OK
<GroupList PageSize="20" PageIndex="0" TotalCount="1"> <Group> ... </Group> ... </GroupList>

 

GET /api/groups.ashx/groups/{Id}

Response

Status: 200 OK

<Group> ... </Group>

Create Group

POST /api/groups.ashx/[categories/{CategoryId}/]groups/

Request

<Group>
  ...
</Group>

Note the GroupCategoryInfo object can be omitted if you pass the desired Group Category Id into the URI Context by posting to /api/groups.ashx/categories/{CategoryId}/groups

Minimum required fields (Name, Key, and GroupCategoryInfo.Id)

Response

Status: 201 CREATED

<Group> ... </Group>

Update Groups

PUT /api/groups.ashx/groups/{Id}

Request

<Group>
 ...
</Group>

Response

Status: 200 OK
<Group> ... </Group>

Delete Group

DELETE /api/groups.ashx/groups/{Id}

Response

Status: 200 OK

Members

List

GET /api/groups.ashx/members

Response

Status: 200 OK
<MembershipList> <Member> ... </Member> ... </MembershipList>

GET /api/groups.ashx/members/{UserId}

Response

Status: 200 OK
<Member>
...
</Member>

Create Member

POST /api/groups.ashx/members

Request

<Member>
...
</Member>

Response

Status: 201 CREATED

<Member />

Update Member

PUT /api/groups.ashx/members/{UserId}

Request

<Member>
...
</Member>

Response

Status: 200 OK

<Member>
...
</Member>

Delete Member

DELETE /api/groups.ashx/members/{UserId}

Response

Status: 200 OK

 

ActivityMessages

List

GET /api/groups.ashx/groups/{GroupId}/activitymessages

Response

Status: 200 OK
<ActivityMessageList PageSize="20" PageIndex="0" TotalCount="22"> <ActivityMessage>
... </ActivityMessage> ...
</ActivityMessageList>

GET /api/groups.ashx/groups/{GroupId}/activitymessages/{paged query parameters}

Response

Status: 200 OK
<ActivityMessageList PageSize="20" PageIndex="0" TotalCount="22"> <ActivityMessage>
... </ActivityMessage> ...
</ActivityMessageList>

GET /api/groups.ashx/activitymessages/{Id}

Response

Status: 200 OK
<ActivityMessage>
...
</ActivityMessage>

 

GroupPages

List

GET /api/groups.ashx/groups/{GroupId}/pages

Response

Status: 200 OK
<GroupPageList> <GroupPage> ...
</GroupPage> ... </GroupPageList>

GET /api/groups.ashx/pages/{Id}

Response

Status: 200 OK
<GroupPage> ...
</GroupPage>

Create GroupPage

POST /api/groups.ashx/groups/{GroupId}/pages/

Request

<GroupPage>
   ...
</GroupPage>

Minimum required fields (Title, Body)

Response

Status: 201 CREATED
<GroupPage> ...
</GroupPage>

Update GroupPage

PUT /api/groups.ashx/pages/{Id}

Request

<GroupPage>
   ...
</GroupPage>

Response

Status: 200 OK
<GroupPage> ...
</GroupPage>

Delete GroupPage

DELETE /api/groups.ashx/pages/{Id}

Response

Status: 200 OK

 

Blog

 

GET /api/groups.ashx/groups/{GroupId}/blog

Response

Status: 200 OK
<GroupBlog> ... </GroupBlog>

Create/Update GroupBlog

POST or PUT /api/groups.ashx/groups/{GroupId}/blog

Request

<GroupBlog>
  ...
</GroupBlog>

Response

Status: 200 OK
<GroupBlog> ... </GroupBlog>

 

BlogPosts

List

GET /api/groups.ashx/groups/{GroupId}/blog/posts

Response

Status: 200 OK
<BlogPostList PageSize="20" PageIndex="0" TotalCount="1"> <BlogPost> ...
</BlogPost> ... </BlogPostList>

GET /api/groups.ashx/groups/{GroupId}/blog/posts/{blog post query parameters}

Returns a list of Blog Posts which match the query parameters provided on the querystring.

Response

Status: 200 OK
<BlogPostList PageSize="20" PageIndex="0" TotalCount="1"> <BlogPost> ...
</BlogPost> ... </BlogPostList>

GET /api/groups.ashx/blog/posts/{Id}

Response

Status: 200 OK
<BlogPost> ...
</BlogPost>

Create BlogPost

POST /api/groups.ashx/[groups/{GroupId}/]blog/posts/

Request

<BlogPost>
   ...
</BlogPost>

Note the GroupInfo object can be omitted if you pass the desired Group Id into the URI Context by posting to /api/groups.ashx/groups/{GroupId}/blog/posts

Minimum required fields (Title, Body, and Date)

Response

Status: 201 CREATED
<BlogPost> ...
</BlogPost>

 

Update BlogPost

PUT /api/groups.ashx/blog/posts/{Id}

Request

<BlogPost>
   ...
</BlogPost>

Response

Status: 200 OK
<BlogPost> ...
</BlogPost>

Delete BlogPost

DELETE /api/groups.ashx/blog/posts/{Id}

Response

Status: 200 OK

 

BlogComments

List

GET /api/groups.ashx/blog/posts/{Id}/comments

Response

Status: 200 OK
<BlogCommentList PageSize="20" PageIndex="0" TotalCount="1"> <BlogComment> ...
</BlogComment> ... </BlogCommentList>

GET /api/groups.ashx/groups/{GroupId}/blog/comments/{blog comment query parameters}

Returns a list of Blog Comments which match the query parameters provided on the querystring.

Response

Status: 200 OK
<BlogCommentList PageSize="20" PageIndex="0" TotalCount="1"> <BlogComment> ...
</BlogComment> ... </BlogCommentList>

GET /api/groups.ashx/blog/comments/{Id}

Response

Status: 200 OK
<BlogComment> ...
</BlogComment>

Create BlogComment

POST /api/groups.ashx/blog/[posts/{PostId}/]comments/

Request

<BlogComment>
   ...
</BlogComment>

Note the PostInfo object can be omitted if you pass the desired Post Id into the URI Context by posting to /api/groups.ashx/blog/posts/{PostId}/comments

Minimum required fields (Title, Body, and Date)

Response

Status: 201 CREATED
<BlogComment> ...
</BlogComment>

 

Update BlogComment

PUT /api/groups.ashx/blog/comments/{Id}

Request

<BlogComment>
   ...
</BlogComment>

Response

Status: 200 OK
<BlogComment> ...
</BlogComment>

Delete BlogComment

DELETE /api/groups.ashx/blog/comments/{Id}

Response

Status: 200 OK

 

Trackbacks

List

GET /api/groups.ashx/posts/{Id}/trackbacks

Response

Status: 200 OK
<BlogTrackbackList PageSize="20" PageIndex="0" TotalCount="1"> <BlogTrackback> ...
</BlogTrackback> ... </BlogTrackbackList>

GET /api/groups.ashx/groups/{GroupId}/blog/trackbacks/{blog trackback query parameters}

Returns a list of Blog Trackbacks which match the query parameters provided on the querystring.

Response

Status: 200 OK
<BlogTrackbackList PageSize="20" PageIndex="0" TotalCount="1"> <BlogTrackback> ...
</BlogTrackback> ... </BlogTrackbackList>

GET /api/groups.ashx/trackbacks/{Id}

Response

Status: 200 OK
<BlogTrackback> ...
</BlogTrackback>

Delete BlogTrackback

DELETE /api/groups.ashx/trackbacks/{Id}

Response

Status: 200 OK

 

Ratings

 

List

GET /api/groups.ashx/blog/posts/{PostId}/ratings

Response

Status: 200 OK
<RatingList Sum="5" Average="5"> <Rating /> ... </RatingList>

GET /api/groups.ashx/blog/posts/{PostId}/ratings/{UserId}

Response

Status: 200 OK
<Rating />

Create Rating

POST /api/groups.ashx/blog/posts/{PostId}/ratings/

Request

<int>[value 0-5]</int>

Response

Status: 201 CREATED
<Rating />

Update Rating

PUT /api/groups.ashx/blog/posts/{PostId}/ratings/{UserId}

Request

<int>[value 0-5]</int>

Response

Status: 200 OK

<Rating />

 

Attachments

GET /api/groups.ashx/blog/posts/{PostId}/attachment

Response

Status: 302 http://localhost/cs/url/to/attachment

 

Create Attachment

This method is used to create an attachment for an existing post.

POST /api/groups.ashx/blog/posts/{PostId}/attachment

Request

[raw file]

Response

Status: 201 http://localhost/cs/url/to/attachment

 

Update Attachment

This updates an existing attachment. The post must already have an existing attachment to use this method.

PUT /api/groups.ashx/blog/posts/{PostId}/attachment

Request

[raw file]

Response

Status: 200 OK

 

DELETE /api/groups.ashx/blog/posts/{PostId}/attachment

Response

Status: 200 OK

 

GroupForum

 

GET /api/groups.ashx/groups/{GroupId}/forum

Response

Status: 200 OK
<GroupForum> ... </GroupForum>

Create/Update GroupForum

POST or PUT /api/groups.ashx/groups/{GroupId}/forum

Request

<GroupForum>
  ...
</GroupForum>

Response

Status: 200 OK
<GroupForum> ... </GroupForum>

 

Threads

List

GET /api/groups.ashx/groups/{GroupId}/forum/threads

Response

Status: 200 OK
<ThreadList PageSize="20" PageIndex="0" TotalCount="1"> <Thread> ...
</Thread> ... </ThreadList>

GET /api/groups.ashx/groups/{GroupId}/forum/threads/{thread query parameters}

Returns a list of Threads which match the query parameters provided on the querystring.

Response

Status: 200 OK
<ThreadList PageSize="20" PageIndex="0" TotalCount="1"> <Thread> ...
</Thread> ... </ThreadList>

GET /api/groups.ashx/threads/{Id}

Response

Status: 200 OK
<Thread> ...
</Thread>

Create Thread

POST /api/groups.ashx/[groups/{GroupId}/]threads/

Request

<ForumPost>
   ...
</ForumPost>

Note the GroupInfo object can be omitted if you pass the desired Group Id into the URI Context by posting to /api/groups.ashx/groups/{GroupId}/threads

Response

Status: 201 CREATED
<Thread> ...
</Thread>

Update Thread

PUT /api/groups.ashx/threads/{Id}

Request

<Thread>
   ...
</Thread>

Response

Status: 200 OK
<Thread> ...
</Thread>

Delete Thread

DELETE /api/groups.ashx/threads/{Id}

Response

Status: 200 OK

 

ForumPosts

List

GET /api/groups.ashx/threads/{Id}/posts

Response

Status: 200 OK
<ForumPostList PageSize="20" PageIndex="0" TotalCount="1"> <ForumPost> ...
</ForumPost> ... </ForumPostList>

GET /api/groups.ashx/groups/{GroupId}/forum/posts/{forum post query parameters}

Returns a list of Forum Posts which match the query parameters provided on the querystring.

Response

Status: 200 OK
<ForumPostList PageSize="20" PageIndex="0" TotalCount="1"> <ForumPost> ...
</ForumPost> ... </ForumPostList>

GET /api/groups.ashx/posts/{Id}/replies

(Limitied to posts who are direct replies to the given post)

Response

Status: 200 OK
<ForumPostList PageSize="20" PageIndex="0" TotalCount="1"> <ForumPost> ...
</ForumPost> ... </ForumPostList>

GET /api/groups.ashx/forum/posts/{Id}

Response

Status: 200 OK
<ForumPost> ...
</ForumPost>

Create ForumPost

POST /api/groups.ashx/[threads/{ThreadId}/]posts

POST /api/groups.ashx/[posts/{PostId}/]replies

Request

<ForumPost>
   ...
</ForumPost>

Note the ThreadInfo object can be omitted if you pass the desired Thread Id into the URI Context by posting to /api/groups.ashx/threads/{ThreadId}/posts or by indicating the proper parent post by posting to /api/groups.ashx/forum/posts/{PostId}/replies

Minimum required fields (Title, Body, and Date)

Response

Status: 201 CREATED
<ForumPost> ...
</ForumPost>

Update ForumPost

PUT /api/groups.ashx/forum/posts/{Id}

Request

<ForumPost>
   ...
</ForumPost>

Response

Status: 200 OK
<ForumPost> ...
</ForumPost>

Delete ForumPost

DELETE /api/groups.ashx/forum/posts/{Id}

Response

Status: 200 OK

 

Ratings

 

List

GET /api/groups.ashx/forum/threads/{Id}/ratings

Response

Status: 200 OK
<RatingList Sum="5" Average="5"> <Rating /> ... </RatingList>

GET /api/groups.ashx/forum/threads/{PostId}/ratings/{UserId}

Response

Status: 200 OK
<Rating />

Create Rating

POST /api/groups.ashx/forum/threads/{PostId}/ratings/

Request

<int>[value 0-5]</int>

Response

Status: 201 CREATED
<Rating />

Update Rating

PUT /api/groups.ashx/forum/threads/{ThreadId}/ratings/{UserId}

Request

<int>[value 0-5]</int>

Response

Status: 200 OK

<Rating />

 

Attachments

GET /api/groups.ashx/forum/posts/{PostId}/attachment

Response

Status: 302 http://localhost/cs/url/to/attachment

 

Create Attachment

This method is used to create an attachment for an existing post.

POST /api/groups.ashx/forum/posts/{PostId}/attachment

Request

[raw file]

Response

Status: 201 http://localhost/cs/url/to/attachment

 

Update Attachment

This updates an existing attachment. The post must already have an existing attachment to use this method.

PUT /api/groups.ashx/forum/posts/{PostId}/attachment

Request

[raw file]

Response

Status: 200 OK

 

DELETE /api/groups.ashx/forum/posts/{PostId}/attachment

Response

Status: 200 OK

 

MediaGallery

 

GET /api/groups.ashx/groups/{GroupId}/mediagallery

Response

Status: 200 OK
<GroupMediaGallery> ... </GroupMediaGallery>

Create/Update MediaGallery

POST or PUT /api/groups.ashx/groups/{GroupId}/mediagallery

Request

<GroupMediaGallery>
  ...
</GroupMediaGallery>

Response

Status: 200 OK
<GroupMediaGallery> ... </GroupMediaGallery>

 

MediaGalleryPosts

List

GET /api/groups.ashx/groups/{GroupId}/mediagallery/posts

Response

Status: 200 OK
<MediaGalleryPostList PageSize="20" PageIndex="0" TotalCount="1"> <MediaGalleryPost> ...
</MediaGalleryPost> ... </MediaGalleryPostList>

GET /api/groups.ashx/groups/{GroupId}/mediagallery/posts/{mediagallery post query parameters}

Returns a list of MediaGallery Posts which match the query parameters provided on the querystring.

Response

Status: 200 OK
<MediaGalleryPostList PageSize="20" PageIndex="0" TotalCount="1"> <MediaGalleryPost> ...
</MediaGalleryPost> ... </MediaGalleryPostList>

GET /api/groups.ashx/mediagallery/posts/{Id}

Response

Status: 200 OK
<MediaGalleryPost> ...
</MediaGalleryPost>

Create MediaGalleryPost

POST /api/groups.ashx/[groups/{GroupId}/]mediagallery/posts/

Request

<MediaGalleryPost>
   ...
</MediaGalleryPost>

Note the GroupInfo object can be omitted if you pass the desired Group Id into the URI Context by posting to /api/groups.ashx/groups/{GroupId}/mediagallery/posts

Minimum required fields (Title, Body, and Date)

Response

Status: 201 CREATED
<MediaGalleryPost> ...
</MediaGalleryPost>

Update MediaGalleryPost

PUT /api/groups.ashx/mediagallery/posts/{Id}

Request

<MediaGalleryPost>
   ...
</MediaGalleryPost>

Response

Status: 200 OK
<MediaGalleryPost> ...
</MediaGalleryPost>

Delete MediaGalleryPost

DELETE /api/groups.ashx/mediagallery/posts/{Id}

Response

Status: 200 OK

 

Comments

List

GET /api/groups.ashx/mediagallery/posts/{Id}/comments

Response

Status: 200 OK
<CommentList PageSize="20" PageIndex="0" TotalCount="1"> <Comment> ...
</Comment> ... </CommentList>

GET /api/groups.ashx/groups/{GroupId}/mediagallery/comments/{mediagallery comment query parameters}

Returns a list of MediaGallery Comments which match the query parameters provided on the querystring.

Response

Status: 200 OK
<CommentList PageSize="20" PageIndex="0" TotalCount="1"> <Comment> ...
</Comment> ... </CommentList>

GET /api/groups.ashx/mediagallery/comments/{Id}

Response

Status: 200 OK
<Comment> ...
</Comment>

Create Comment

POST /api/groups.ashx/mediagallery/[posts/{PostId}/]comments/

Request

<Comment>
   ...
</Comment>

Note the PostInfo object can be omitted if you pass the desired Post Id into the URI Context by posting to /api/groups.ashx/mediagallery/posts/{PostId}/comments

Minimum required fields (Title, Body, and Date)

Response

Status: 201 CREATED
<Comment> ...
</Comment>

Update Comment

PUT /api/groups.ashx/mediagallery/comments/{Id}

Request

<Comment>
   ...
</Comment>

Response

Status: 200 OK
<Comment> ...
</Comment>

Delete Comment

DELETE /api/groups.ashx/mediagallery/comments/{Id}

Response

Status: 200 OK

 

Ratings

 

List

GET /api/groups.ashx/mediagallery/posts/{Id}/ratings

Response

Status: 200 OK
<RatingList Sum="5" Average="5"> <Rating /> ... </RatingList>

GET /api/groups.ashx/mediagallery/posts/{PostId}/ratings/{UserId}

Response

Status: 200 OK
<Rating />

Create Rating

POST /api/groups.ashx/mediagallery/posts/{PostId}/ratings/

Request

<int>[value 0-5]</int>

Response

Status: 201 CREATED
<Rating />

Update Rating

PUT /api/groups.ashx/mediagallery/posts/{PostId}/ratings/{UserId}

Request

<int>[value 0-5]</int>

Response

Status: 200 OK

<Rating />

 

Attachments

GET /api/groups.ashx/mediagallery/posts/{PostId}/attachment

Response

Status: 302 http://localhost/cs/url/to/attachment

 

Create Attachment

This method is used to create an attachment for an existing post.

POST /api/groups.ashx/mediagallery/posts/{PostId}/attachment

Request

[raw file]

Response

Status: 201 http://localhost/cs/url/to/attachment

 

Update Attachment

This updates an existing attachment. The post must already have an existing attachment to use this method.

PUT /api/groups.ashx/mediagallery/posts/{PostId}/attachment

Request

[raw file]

Response

Status: 200 OK

 

DELETE /api/groups.ashx/mediagallery/posts/{PostId}/attachment

Response

Status: 200 OK

 


 

Data Reference

 

Category

<GroupCategory Id="2" 
  Endpoint="http://localhost/cs/api/groups.ashx/categories/2">
  <Name>Sample Category</Name>
  <Description/>
  [<!-- root level categories with children will contain -->
  <NestedGroupCategoryList>
<GroupCategoryInfo Id="16" Endpoint="http://localhost/cs/api/groups.ashx/categories/16"/ </NestedGroupCategoryList>] [<!-- child level categories will contain a reference to their parent --> <ParentGroupCategoryInfo Id="15" Endpoint="http://localhost/cs/api/groups.ashx/categories/15"/>]
</GroupCategory>

Group

<Group Id="7" Endpoint="http://localhost/cs/api/groups.ashx/groups/7">
<Name>Sample Group</Name> <Url>http://localhost/cs/groups/sample_group/default.aspx</Url>
<Key>sample_group</Key>
<GroupCategoryInfo Id="2" Endpoint="http://localhost/cs/api/groups.ashx/categories/2"/> <DateCreated>2008-01-15T05:37:58.823</DateCreated> <Description/>
<GroupMembershipType>OpenMembership</GroupMembershipType>
<ForumInfo Enabled="false" Endpoint="http://localhost/cs/api/groups.ashx/groups/7/forum"/> <BlogInfo Enabled="false" Endpoint="http://localhost/cs/api/groups.ashx/groups/7/blog"/>
<MediaGalleryInfo Enabled="false" Endpoint="http://localhost/cs/api/groups.ashx/groups/7/mediagallery"/> <Theme>hawaii</Theme>
<Members Endpoint="http://localhost/cs/api/groups.ashx/groups/7/members/"/>
<Pages Endpoint="http://localhost/cs/api/groups.ashx/groups/7/pages"/>
<ActivityMessages Endpoint="http://localhost/cs/api/groups.ashx/groups/7/activitymessages/"/> </Group>

GroupPage

<GroupPage Id="52" 
  Endpoint="http://localhost/cs/api/groups.ashx/groups/7/pages/52">
  <Title>Introducing Groups</Title>
  <Body>
<p>This is a new feature of CommunityServer 2008</p>
</Body>
</GroupPage>

Message

<Message>
<Id>82f5c60f-0ef6-4500-8d42-81c3e0b257e6</Id> <Author Id="2101" Endpoint="http://localhost/cs/api/membership.ashx/users/2101"/> <Subject/> <Body>
<a href="/cs/members/Anonymous.aspx">Anonymous</a> added ...
</Body>
<DateCreated>2008-01-21T13:28:54.633</DateCreated>
<Type>NewBlogPost</Type>
</Message>

GroupBlog

<GroupBlog Enabled="true" 
  Endpoint="http://localhost/cs/api/groups.ashx/groups/17/blog">
  <GroupInfo Id="17" 
    Endpoint="http://localhost/cs/api/groups.ashx/groups/17"/>
<EnableComments>true</EnableComments>
<EnableRatings>true</EnableRatings>
<DisplayTrackbacks>true</DisplayTrackbacks>
<Posts Endpoint="http://localhost/cs/api/groups.ashx/groups/17/blog/posts/"/>
<Statistics Posts="1" Pages="0" Comments="0" Trackbacks="0" CommentsToModerate="0" DiskUsage="0"/> </GroupBlog>

BlogPost

<BlogPost Id="22" Endpoint="http://localhost/cs/api/groups.ashx/groups/17/blog/posts/22">
  <Title>Introducing Groups</Title>
  <Body>
Groups are a new way for your communities to communicate online.
</Body> <Date>2008-01-15T06:49:29.163</Date> <Url>http://localhost/cs/groups/[...].aspx</Url> <Keywords/>
<Comments Endpoint="http://localhost/cs/api/groups.ashx/groups/17/blog/posts/22/comments/"/> <Ratings Endpoint="http://localhost/cs/api/groups.ashx/groups/17/blog/posts/22/ratings/"/>
<Trackbacks Endpoint="http://localhost/cs/api/groups.ashx/groups/17/blog/posts/22/trackbacks/"/> <ViewCount>0</ViewCount>
<BlogInfo Enabled="true" Endpoint="http://localhost/cs/api/groups.ashx/groups/17/blog"/>
<GroupInfo Id="17" Endpoint="http://localhost/cs/api/groups.ashx/groups/17"/>
<UserInfo Id="2100" Endpoint="http://localhost/cs/api/membership.ashx/users/2100"/> </BlogPost>

BlogComment

<BlogComment Id="54" 
  Endpoint="http://localhost/cs/api/groups.ashx/groups/7/blog/posts/53/comments/54">
  <Title>re: Sample Group Blog Post</Title>
  <Body>this is a sample comment by admin</Body>
  <Date>2008-01-22T05:51:58.9</Date>
  <IsPublished>true</IsPublished>
  <BlogInfo Enabled="true" 
    Endpoint="http://localhost/cs/api/groups.ashx/groups/7/blog"/>
  <GroupInfo Id="7" 
    Endpoint="http://localhost/cs/api/groups.ashx/groups/7"/>
  <PostInfo Id="53" 
    Endpoint="http://localhost/cs/api/groups.ashx/groups/7/blog/posts/53"/>
  <AuthorInfo Id="2100" IsOwner="false">
    <Time>2008-01-22T05:51:58.9</Time>
    <HostAddress>127.0.0.1</HostAddress>
    <Name>admin</Name>
    <SubmittedUsername>Administrator</SubmittedUsername>
</AuthorInfo>
</BlogComment>

BlogTrackback

<BlogTrackback Id="56" 
  Endpoint="http://localhost/cs/api/groups.ashx/groups/17/blog/posts/22/trackbacks/56">
  <Title>http://localhost/cs</Title>
<Body/> <Date>2008-01-22T06:45:45.233</Date> <Url>http://localhost/cs/groups/communityserver/blog/archive/2008/01/22/56.aspx</Url>
<ViewCount xsi:nil="true"/>
<BlogInfo Enabled="true" Endpoint="http://localhost/cs/api/groups.ashx/groups/17/blog"/> <GroupInfo Id="17" Endpoint="http://localhost/cs/api/groups.ashx/groups/17"/>
<UserInfo Id="2100" Endpoint="http://localhost/cs/api/membership.ashx/users/2100"/>
<PostInfo Id="22" Endpoint="http://localhost/cs/api/groups.ashx/groups/17/blog/posts/22"/> </BlogTrackback>

GroupForum

<GroupForum Enabled="true" 
  Endpoint="http://localhost/cs/api/groups.ashx/groups/17/forum">
  <GroupInfo Id="17" Endpoint="http://localhost/cs/api/groups.ashx/groups/17"/>
<EnableModeration>true</EnableModeration>
<MembersCanCreateThreads>true</MembersCanCreateThreads>
<Threads Endpoint="http://localhost/cs/api/groups.ashx/groups/17/forum/threads/"/>
<Statistics Posts="2" Threads="1" DiskUsage="0" PostsToModerate="0"/>
</GroupForum>

Thread

<Thread Id="24" 
  Endpoint="http://localhost/cs/api/groups.ashx/groups/17/forum/threads/24"> 
  <Url>"http://localhost/cs/groups/communityserver/forum/p/24/30.aspx#30"</Url>
  <Subject>Sample Forum Post</Subject>
  <IsPopular>false</IsPopular>
<IsSticky>false</IsSticky>
<IsAnnouncement>false</IsAnnouncement>
<StickyDate>2008-01-18T06:40:21.587</StickyDate>
<Date>2008-01-18T06:40:21.587</Date>
<ForumInfo Enabled="true" Endpoint="http://localhost/cs/api/groups.ashx/groups/17/forum"/>
<PostInfo Id="30" Endpoint="http://localhost/cs/api/groups.ashx/groups/17/forum/threads/24/posts/30"/> <Ratings Endpoint="http://localhost/cs/api/groups.ashx/groups/17/forum/threads/24/ratings/"/>
</Thread>

ForumPost

<ForumPost Id="30" 
  Endpoint="http://localhost/cs/api/groups.ashx/groups/17/forum/threads/24/posts/30">
  <PostTracking>
<HasRead>false</HasRead>
<IsTracked>false</IsTracked>
</PostTracking> <Body> <P mce_keep="true">do you like the thread rating features?</P>
</Body>
<Url>http://localhost/cs/groups/communityserver/forum/p/24/30.aspx#30</Url>
<Subject>How would you rate community server</Subject>
<Date>2008-01-17T07:06:21.073</Date> <Keywords> <Keyword>ratings</Keyword>
<Keyword>communityserver</Keyword>
</Keywords> <RenderedBody>
<p>do you like the thread rating features?</p><div style="clear:both;"></div>
</RenderedBody>
<Excerpt/>
<Statistics Replies="1" ViewCount="4" Points="0" Trackbacks="0" AgregatorViews="0"/> <Spam>
<Score>0</Score>
<Status>Unknown</Status>
</Spam> <ForumInfo Enabled="true" Endpoint="http://localhost/cs/api/groups.ashx/groups/17/forum"/>
<IsPublished>true</IsPublished> <Settings>
<PostType>HTML</PostType>
<Approved>true</Approved>
<IsLocked>false</IsLocked>
<PostMedia>Empty</PostMedia>
</Settings>
<AuthorInfo Id="2100"/>
<Thread Id="24" Index="0" Date="2008-01-18T06:40:21.587"/>
<EmoticonId>0</EmoticonId>
<PostLevel>1</PostLevel>
<SortOrder>1</SortOrder>
<ParentPost Id="30" Endpoint="http://localhost/cs/api/groups.ashx/groups/17/forum/threads/24/posts/30"/> </ForumPost>

GroupMediaGallery

<GroupMediaGallery Enabled="true" 
  Endpoint="http://localhost/cs/api/groups.ashx/groups/7/mediagallery">
  <GroupInfo Id="7" Endpoint="http://localhost/cs/api/groups.ashx/groups/7"/>
<EnableModeration>true</EnableModeration>
<MembersCanUploadFiles>true</MembersCanUploadFiles>
</GroupMediaGallery>

MediaGalleryPost

<MediaGalleryPost Id="61" 
  Endpoint="http://localhost/cs/api/groups.ashx/groups/7/mediagallery/posts/61">
  <Body>
    <p>Check out these headphones</p>
</Body> <Url>http://localhost/cs/groups/sample_group/media/post61.aspx</Url>
<Title>CES Vegas</Title>
<Date>2008-01-22T06:56:10.28</Date> <Keywords> <Keyword>CES</Keyword> </Keywords>
<Ratings Endpoint="http://localhost/cs/api/groups.ashx/groups/7/mediagallery/posts/61/ratings/"/> <Comments Endpoint="http://localhost/cs/api/groups.ashx/groups/7/mediagallery/posts/61/comments/"/> <AttachmentInfo Endpoint="http://localhost/cs/cfs-file.ashx/[...].jpg"/> <GalleryInfo Enabled="true" Endpoint="http://localhost/cs/api/groups.ashx/groups/7/mediagallery"/>
<IsPublished>true</IsPublished>
<AuthorInfo Id="2100" Endpoint="http://localhost/cs/api/membership.ashx/users/2100"/> </MediaGalleryPost>

MediaGalleryComment

<MediaGalleryComment Id="62" 
  Endpoint="http://localhost/cs/api/groups.ashx/groups/7/mediagallery/posts/61/comments/62">
  <Title>re: CES Vegas</Title>
<Body>Everyone should get a pair of those</Body>
<Date>2008-01-22T06:56:43.897</Date>
<IsPublished>false</IsPublished>
<MediaGalleryInfo Enabled="true" Endpoint="http://localhost/cs/api/groups.ashx/groups/7/mediagallery"/> <PostInfo Id="61" Endpoint="http://localhost/cs/api/groups.ashx/groups/28/mediagallery/posts/61"/>
<AuthorInfo Id="2100" IsOwner="false">
<Time>0001-01-01T00:00:00</Time>
<HostAddress>127.0.0.1</HostAddress>
<Name/>
</AuthorInfo>
</Comment>

Member

<Member Id="2102" 
  Endpoint="http://localhost/cs/api/groups.ashx/groups/17/members/2102" 
  Type="Member" DateAdded="2008-01-15T06:50:19.553"/>

Rating

<Rating ItemId="44" UserId="2100" 
  UserUrl="http://localhost/cs/api/membership.ashx/users/2100" 
  Value="5" OldValue="0"/>

 

 

Query Reference

Query properties are key value pairs seperated by a semicolon. Arrays should be formatted as comma seperated strings. Group queries require the group to be specified as part of the Uri with /groups/{GroupId} and can only return items from a single group per query

Paged Query

Property Type Description
PageSize int (defaults to 20)
PageIndex int (defaults to 0)

 

Blog Post Query

Property Type Description
Ids int[] The Post Ids you wish to include in your search
IsActive bool Include only Published or Unpublished Posts
PageSize int (defaults to 20)
PageIndex int (defaults to 0)
Keywords string[] The keywords you want to find related posts for
Date string A date to filter based on
ThreadType int If Date is present, specifies the criteria to filter posts by
Recent, Year, Month, Day, Category, Tags, Scored (defaults to Recent)
SortBy string Criteria to sort the posts by
MostRecent, MostViewed, MostComments (defaults to MostRecent)
SortOrder string Ascending / Descending

 

Blog Comment Query

Property Type Description
Ids int[] The Comment Ids you wish to include in your search
PostId int The Parent Blog Post Id to find related Comments for
IsActive bool Include only Published or Unpublished Comments
PageSize int (defaults to 20)
PageIndex int (defaults to 0)
Date string A date to filter based on
ThreadType int If Date is present, specifies the criteria to filter posts by
Recent, Year, Month, Day, Category, Tags, Scored (defaults to Recent)
SortBy string Criteria to sort the posts by
MostRecent, MostViewed, MostComments (defaults to MostRecent)
SortOrder string Ascending / Descending

 

Blog Trackback Query

Property Type Description
Ids Int[] The Trackback Ids you wish to include in your search
PostId Int The Parent Blog Post Id to find related Trackbacks for
IsActive bool Include only Pubished or Unpubished Trackbacks
PageSize int (defaults to 20)
PageIndex int (defaults to 0)
Date string A date to filter based on
ThreadType int If Date is present, specifies the criteria to filter posts by
Recent, Year, Month, Day, Category, Tags, Scored (defaults to Recent)
SortBy string Criteria to sort the posts by
MostRecent, MostViewed, MostComments (defaults to MostRecent)
SortOrder string Ascending / Descending

Forum Thread Query

Property Type Description
Ids int[] The Forum Thread Ids you wish to include in your search
Date string Threads with posts after this date will be returned
Corresponds to the date of the last post in the thread
PageSize int Number of threads to include per page (defaults to 20)
PageIndex int The page number to retrieve, first page is 0 (defaults to 0)
Order string Ascending / Decending
SortBy string lastpost, threadauthor, totalreplies, totalviews, totalratings, firstpost
(defaults to lastpost)
Keywords string[] A collection of tags/keywords to search by
ActiveOnly bool Threads that are considered "Active Topics" based on the number of replies/views
UnansweredOnly bool Returns only threads that have not been marked as being answered
UnreadOnly bool Returns only threads that have not been read by the user
UserFilterMode string all, showtopicsnotparticipatedin, showtopicsparticipatedin, hidetopicsbyanonymoususers, hidetopicsbynonanonymoususers
(defaults to all)

 

Forum Post Query

Property Type Description
ThreadId int Finds all posts with the matching ThreadId (this field is required)
SortBy string type of ForumPostSortBy
PostDate, UserId (Defaults to PostDate)
PageSize int Number of posts to include per page (defaults to 20)
PageIndex int The page number to retrieve, first page is 0 (defaults to 0)
SortOrder string Ascending / Descending

MediaGallery Post Query

Property Type Description
Ids int[] The Post Ids you wish to include in your search
IsActive bool Include only Pubished or Unpubished Posts
PageSize int (defaults to 20)
PageIndex int (defaults to 0)
Date string A date to filter based on
ThreadType int If Date is present, specifies the criteria to filter posts by
Recent, MediaGallery (defaults to MediaGallery)
SortBy string Criteria to sort the posts by
Subject, Author, Comments, Views, PostDate, Rating, Downloads (defaults to PostDate)
SortOrder string Ascending / Descending

 

MediaGallery Comment Query

Property Type Description
Ids int[] The Comment Ids you wish to include in your search
PostId int The Parent MediaGallery Post Id to find related Comments for
CommentId int The ID of the Comment to limit the query to a given post
IsActive bool Include only Pubished or Unpubished Comments
PageSize int (defaults to 20)
PageIndex int (defaults to 0)
Date string A date to filter based on
ThreadType int If Date is present, specifies the criteria to filter posts by
Recent, MediaGallery (defaults to MediaGallery)
SortBy string Criteria to sort the posts by
Subject, Author, Comments, Views, PostDate, Rating, Downloads (defaults to PostDate)
SortOrder string Ascending / Descending