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 |