<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?enunciate-assumed-base-uri ./?>
<wadl:application xmlns:wadl="http://wadl.dev.java.net/2009/02" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<wadl:doc xmlns:enunciate="http://enunciate.webcohesion.com/" enunciate:generatedBy="Enunciate-2.0"/>
<wadl:grammars>
<wadl:include href="ns0.xsd"/>
</wadl:grammars>
<wadl:resources base="./">
<wadl:resource path="">
<wadl:method name="GET">
<wadl:doc><![CDATA[Main entry point for the API.
<p>
<i>Related links</i>
<ul>
<li>rooms: /rooms</li>
<li>self: /self</li>
</ul>
</p>]]></wadl:doc>
<wadl:response>
<wadl:doc><![CDATA[An ApiObject containing links to other resources.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="api"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="groups">
<wadl:method name="GET">
<wadl:doc><![CDATA[Search for groups.
<p><b>Look up groups by ID</b></p>
<p>The <code>id</code> query parameter can be used to look up multiple groups by ID. For example, <code>/rest/groups?id=10&id=13&id=15</code>.</p>
<p><b>Search for groups</b></p>
<p>The <code>searchterm</code> query parameter can be used to filter groups.
For example, <code>/rest/users?searchterm=micr</code>. This would filter groups to those whose display name
or description contain a word that starts with "MICR"</p>
<p><b>Paging</b></p>
<p>The <code>first</code> and <code>count</code> query parameters are used to page through results. The first item
in the list has an index of 0, so <code>first=10</code> means "starting with the 11th item".
For example, <code>/rest/groups?first=10&count=5</code> will return up to 5 groups, beginning with the 11th (results 11-15).</p>]]></wadl:doc>
<wadl:request>
<wadl:param name="count" style="query">
<wadl:doc><![CDATA[The maximum number of groups to return. The default is 25.]]></wadl:doc>
</wadl:param>
<wadl:param name="first" style="query">
<wadl:doc><![CDATA[The index of the first result to return.]]></wadl:doc>
</wadl:param>
<wadl:param name="id" style="query">
<wadl:doc><![CDATA[The ID of a group. May be specified multiple times. Cannot be combined with <code>search_term</code>.]]></wadl:doc>
</wadl:param>
<wadl:param name="searchterm" style="query">
<wadl:doc><![CDATA[Limits the results to those groups matching the search term. Case-insensitive. Cannot be combined with <code>id</code>.]]></wadl:doc>
</wadl:param>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[A list of groups.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="results"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="groups/{id}">
<wadl:method name="GET">
<wadl:doc><![CDATA[Get a group.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The group.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="group"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the group.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="release_info">
<wadl:method name="GET">
<wadl:doc><![CDATA[]]></wadl:doc>
<wadl:response>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="api"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="rooms">
<wadl:method name="GET">
<wadl:doc><![CDATA[Search for rooms.
<p><b>Look up rooms by ID</b></p>
<p>The <code>id</code> query parameter can be used to look up multiple rooms by ID. For example, <code>/rest/rooms?id=10&id=13&id=15</code>.</p>
<p><b>Search for rooms</b></p>
<p>The <code>searchterm</code> query parameter can be used to filter rooms.
For example, <code>/rest/rooms?searchterm=micr</code>. This would filter rooms to those whose display name,
or description start with "MICR"</p>
<p><b>Paging</b></p>
<p>The <code>first</code> and <code>count</code> query parameters are used to page through results. The first item
in the list has an index of 0, so <code>first=10</code> means "starting with the 11th item".
For example, <code>/rest/rooms?first=10&count=5</code> will return up to 5 rooms, beginning with the 11th (results 11-15).</p>]]></wadl:doc>
<wadl:request>
<wadl:param name="count" style="query">
<wadl:doc><![CDATA[The maximum number of rooms to return. The default is 25.]]></wadl:doc>
</wadl:param>
<wadl:param name="first" style="query">
<wadl:doc><![CDATA[The index of the first result to return.]]></wadl:doc>
</wadl:param>
<wadl:param name="id" style="query">
<wadl:doc><![CDATA[The ID of a room. May be specified multiple times. Cannot be combined with <code>search_term</code>.]]></wadl:doc>
</wadl:param>
<wadl:param name="searchterm" style="query">
<wadl:doc><![CDATA[Limits the results to those rooms matching the search term. Case-insensitive. Cannot be combined with <code>id</code>.]]></wadl:doc>
</wadl:param>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[A list of rooms.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="results"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="rooms">
<wadl:method name="POST">
<wadl:doc><![CDATA[Creates a new room.
<p>The room must contain a <code>display_name</code>. This name must be unique.</p>
<p>If no room type is specified, a public room is created.</p>]]></wadl:doc>
<wadl:request>
<wadl:doc><![CDATA[The room to be created.]]></wadl:doc>
<wadl:representation mediaType="application/json">
</wadl:representation>
<wadl:representation mediaType="application/xml" element="room">
</wadl:representation>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The created room resource.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="room"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="rooms/{id}">
<wadl:method name="GET">
<wadl:doc><![CDATA[Get metadata for a room.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[A room resource.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="room"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the room.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="rooms/{id}">
<wadl:method name="PUT">
<wadl:doc><![CDATA[Modifies a room.
<p>Only the room fields that are included in the request body are modified. All other fields are left unchanged. For example, the following
request body will only update the room description:</p>
<p><code>{"description":"New room description"}</code></p>]]></wadl:doc>
<wadl:request>
<wadl:doc><![CDATA[A room object containing the new room values.]]></wadl:doc>
<wadl:representation mediaType="application/json">
</wadl:representation>
<wadl:representation mediaType="application/xml" element="room">
</wadl:representation>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The updated Room resource.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="room"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the room to update.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="rooms/{id}">
<wadl:method name="DELETE">
<wadl:doc><![CDATA[Permanenty deletes the room.]]></wadl:doc>
<wadl:request>
</wadl:request>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the room to delete.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="rooms/{id}/feed">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets a list of feed items (topics and new message counts) in the specified room. The topics are sorted in descending order.]]></wadl:doc>
<wadl:request>
<wadl:param name="count" style="query">
<wadl:doc><![CDATA[The maximum number of results to return. The default is 25.]]></wadl:doc>
</wadl:param>
<wadl:param name="first" style="query">
<wadl:doc><![CDATA[The index of the first result to return.]]></wadl:doc>
</wadl:param>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[A list of room feed items.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="results"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the room.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="rooms/{id}/feed/{topic_id}">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets a particular room feed item.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The room feed item.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="room_feed_item"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The room ID.]]></wadl:doc>
</wadl:param>
<wadl:param name="topic_id" style="template">
<wadl:doc><![CDATA[The topic ID.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="rooms/{id}/members">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets the members of a room.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[A list of room membership objects.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="results"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the room.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="rooms/{id}/members">
<wadl:method name="POST">
<wadl:doc><![CDATA[Adds a user or group to a room.
<p>The owner of the room can add users and groups to a room. Users can add themselves to public rooms.</p>
<p>The membership object included in the POST body must contain a <code>member</code> user or group reference with the <code>id</code>
and <code>type</code> fields.</p>
<p>A user cannot be granted a role of <code>public_participant</code>. That role is reserved for internal use and cannot be assigned.</p>]]></wadl:doc>
<wadl:request>
<wadl:doc><![CDATA[A room membership object containing information about the user or group to add.]]></wadl:doc>
<wadl:representation mediaType="application/json">
</wadl:representation>
<wadl:representation mediaType="application/xml" element="room_membership">
</wadl:representation>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The room membership.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="room_membership"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the room.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="rooms/{id}/members/operations">
<wadl:method name="POST">
<wadl:doc><![CDATA[Endpoint for performing membership operations in bulk (adding members to and removing members from the room).]]></wadl:doc>
<wadl:request>
<wadl:doc><![CDATA[a list of operations to perform.]]></wadl:doc>
<wadl:representation mediaType="application/json">
</wadl:representation>
<wadl:representation mediaType="application/xml" element="room_membership_operation">
</wadl:representation>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[A list of the results of the operations.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="room_membership"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the room.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="rooms/{id}/members/{member_id}">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets the membership information for a particular user or group and room.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[A room membership object.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="room_membership"/>
</wadl:response>
</wadl:method>
<wadl:param name="member_id" style="template">
<wadl:doc><![CDATA[The ID of the user or group.]]></wadl:doc>
</wadl:param>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the room.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="rooms/{id}/members/{member_id}">
<wadl:method name="DELETE">
<wadl:doc><![CDATA[Removes a user or group from a room.
<p>The owner of the room can remove users and groups from the room. Users can remove themselves
from the room.</p>
<p>The owner cannot removed himself or herself from the room.</p>]]></wadl:doc>
<wadl:request>
</wadl:request>
</wadl:method>
<wadl:param name="member_id" style="template">
<wadl:doc><![CDATA[The ID of the user or group.]]></wadl:doc>
</wadl:param>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the room.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="rooms/{id}/topics">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets a list of topics in the specified room. The topics are sorted in descending order.]]></wadl:doc>
<wadl:request>
<wadl:param name="count" style="query">
<wadl:doc><![CDATA[The maximum number of results to return. The default is 25.]]></wadl:doc>
</wadl:param>
<wadl:param name="first" style="query">
<wadl:doc><![CDATA[The index of the first result to return.]]></wadl:doc>
</wadl:param>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[A list of topics.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="results"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the room.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="rooms/{id}/topics">
<wadl:method name="POST">
<wadl:doc><![CDATA[Adds a new topic to a room.
<p>The topic object included in the POST body must contain <code>body</code>.</p>]]></wadl:doc>
<wadl:request>
<wadl:doc><![CDATA[A topic object to add.]]></wadl:doc>
<wadl:representation mediaType="application/json">
</wadl:representation>
<wadl:representation mediaType="application/xml" element="topic">
</wadl:representation>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The created Topic resource.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="topic"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the room.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="self">
<wadl:method name="GET">
<wadl:doc><![CDATA[Get the User object representing the authenticated user.]]></wadl:doc>
<wadl:response>
<wadl:doc><![CDATA[The authenticated User object.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="user"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="self/avatar">
<wadl:method name="POST">
<wadl:doc><![CDATA[Upload an image to be used as the logged in user's avatar. Supported media types are <code>image/jpeg</code>
and <code>image/png</code>, either as the full request body or as part of a <code>multipart/form-data</code> post
(see <a href="https://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2">here</a>).]]></wadl:doc>
<wadl:response>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="api"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="self/avatar">
<wadl:method name="DELETE">
<wadl:doc><![CDATA[Removes the user's avatar.]]></wadl:doc>
</wadl:method>
</wadl:resource>
<wadl:resource path="self/global_preferences">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets the user's global preferences. The authenticated user can only retrieve his or her own preferences.]]></wadl:doc>
<wadl:response>
<wadl:doc><![CDATA[A global preferences object.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="global_preferences"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="self/global_preferences">
<wadl:method name="PUT">
<wadl:doc><![CDATA[Sets the user's global preferences. Only the fields that are included in the request body are updated.
Fields that are not included are not modified.]]></wadl:doc>
<wadl:request>
<wadl:doc><![CDATA[A global preferences object contains fields to modify.]]></wadl:doc>
<wadl:representation mediaType="application/json">
</wadl:representation>
<wadl:representation mediaType="application/xml" element="global_preferences">
</wadl:representation>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[A global preferences object.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="global_preferences"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="self/global_preferences">
<wadl:method name="POST">
<wadl:doc><![CDATA[Sets the user's global preferences via a form post (Content-Type: application/x-www-form-url-encoded).]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[A global preferences object.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="global_preferences"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="self/notifications">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets the most recent notifications for the authenticated user. The results are sorted in descending order by date.]]></wadl:doc>
<wadl:request>
<wadl:param name="count" style="query">
<wadl:doc><![CDATA[The maximum number of notifications to return. The default is 10.]]></wadl:doc>
</wadl:param>
<wadl:param name="first" style="query">
<wadl:doc><![CDATA[The index of the first result to return.]]></wadl:doc>
</wadl:param>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[A list of notifications.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="results"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="self/notifications/new_count">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets the number of new notifications for the authenticated users. New notifications are
those that have occurred since the last time the count was reset.]]></wadl:doc>
<wadl:response>
<wadl:doc><![CDATA[The number of new notifications.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="self/notifications/new_count">
<wadl:method name="DELETE">
<wadl:doc><![CDATA[Resets the authenticated user's new notification count back to 0.]]></wadl:doc>
</wadl:method>
</wadl:resource>
<wadl:resource path="self/notifications/{id}">
<wadl:method name="GET">
<wadl:doc><![CDATA[]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="notification"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="self/password">
<wadl:method name="POST">
<wadl:doc><![CDATA[Change the user's password.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="self/rooms">
<wadl:method name="GET">
<wadl:doc><![CDATA[Get the rooms that the authenicate user is a member of.]]></wadl:doc>
<wadl:response>
<wadl:doc><![CDATA[A list of rooms.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="results"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="self/rooms/favorites">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets the list of the authenticated user's favorite rooms.]]></wadl:doc>
<wadl:response>
<wadl:doc><![CDATA[A list of rooms.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="results"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="self/rooms/favorites">
<wadl:method name="POST">
<wadl:doc><![CDATA[Adds a room to the authenticated user's list of favorites.]]></wadl:doc>
<wadl:request>
<wadl:doc><![CDATA[A reference to the room to add. Must contain the room ID.]]></wadl:doc>
<wadl:representation mediaType="application/json">
</wadl:representation>
<wadl:representation mediaType="application/xml" element="room_reference">
</wadl:representation>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The room that was added to the list of favorites.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="room"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="self/rooms/favorites/{room_id}">
<wadl:method name="DELETE">
<wadl:doc><![CDATA[Removes the room from the authenticated user's list of favorites.]]></wadl:doc>
<wadl:request>
</wadl:request>
</wadl:method>
<wadl:param name="room_id" style="template">
<wadl:doc><![CDATA[The ID of the room to remove.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="self/rooms/{room_id}">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets the user-specific details about the room.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[A UserRoomDetails object with the room and user-specific details about the room.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="user_room_details"/>
</wadl:response>
</wadl:method>
<wadl:param name="room_id" style="template">
<wadl:doc><![CDATA[The ID of the room.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="self/rooms/{room_id}">
<wadl:method name="POST">
<wadl:doc><![CDATA[Set the user's last visit date for the room. The user's t
<p>This is an HTTP Form Post. The Content-Type should be <code>application/x-www-form-urlencoded</code>. The <code>last_visit_date</code> form parameter is
required.</p>]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[A UserRoomDetails object with the room and user-specific details about it.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="user_room_details"/>
</wadl:response>
</wadl:method>
<wadl:param name="room_id" style="template">
<wadl:doc><![CDATA[The ID of the room]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="self/rooms/{room_id}/preferences">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets the user preferences for a particular room.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[A room preferences object.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="room_preferences"/>
</wadl:response>
</wadl:method>
<wadl:param name="room_id" style="template">
<wadl:doc><![CDATA[The ID of the room.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="self/rooms/{room_id}/preferences">
<wadl:method name="PUT">
<wadl:doc><![CDATA[Sets the user preferences for a particular room.]]></wadl:doc>
<wadl:request>
<wadl:representation mediaType="application/json">
</wadl:representation>
<wadl:representation mediaType="application/xml" element="room_preferences">
</wadl:representation>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[A room membership object.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="room_preferences"/>
</wadl:response>
</wadl:method>
<wadl:param name="room_id" style="template">
<wadl:doc><![CDATA[The ID of the room.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets a topic.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The topic resource.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="topic"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}">
<wadl:method name="PUT">
<wadl:doc><![CDATA[Modifies a topic.
<p>The only field of the topic that can be modified is the <code>body</code>.</p>
<p>The creator of the topic and the owner of the room can modify topics.</p>]]></wadl:doc>
<wadl:request>
<wadl:doc><![CDATA[A topic resource containing the new topic values.]]></wadl:doc>
<wadl:representation mediaType="application/json">
</wadl:representation>
<wadl:representation mediaType="application/xml" element="topic">
</wadl:representation>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The updated Topic resource.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="topic"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}">
<wadl:method name="DELETE">
<wadl:doc><![CDATA[Deletes a topic.
<p>The creator of the topic and the owner of the room can delete topics.</p>]]></wadl:doc>
<wadl:request>
</wadl:request>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/attachments">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets the attachments of the topic.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="results"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/attachments">
<wadl:method name="POST">
<wadl:doc><![CDATA[Attaches a file to the topic. The file content can be uploaded either as the full request body or as part of a
<code>multipart/form-data</code> post (see <a href="https://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2">here</a>).
<p>If the topic already contains an attachment with the specified filename, that attachment is replaced.</p>]]></wadl:doc>
<wadl:request>
<wadl:param name="file_name" style="query">
<wadl:doc><![CDATA[The name of the file (required).]]></wadl:doc>
</wadl:param>
<wadl:param name="md5" style="query">
<wadl:doc><![CDATA[The MD5 checksum of the file (optional).]]></wadl:doc>
</wadl:param>
<wadl:param name="mod_date" style="query">
<wadl:doc><![CDATA[The modified date if the file (optional).]]></wadl:doc>
</wadl:param>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The attachment metadata.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="attachment"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/attachments/{attachment_id}">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets the metadata for an attachment of a topic.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="attachment"/>
</wadl:response>
</wadl:method>
<wadl:param name="attachment_id" style="template">
<wadl:doc><![CDATA[The ID of the attachment.]]></wadl:doc>
</wadl:param>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/attachments/{attachment_id}">
<wadl:method name="DELETE">
<wadl:doc><![CDATA[Removes an attachment from a topic.]]></wadl:doc>
<wadl:request>
</wadl:request>
</wadl:method>
<wadl:param name="attachment_id" style="template">
<wadl:doc><![CDATA[The ID of the attachment.]]></wadl:doc>
</wadl:param>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/attachments/{attachment_id}/content">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets the file content of the specified attachment.
<p>By default, the response will not contain a "Content-Disposition" header. To request that the
response include this header, specify content_disposition=attachment as a query parameter, or
in the "X-GroupWise-TeamWorks-Format" request header.</p>]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The file content.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml"/>
</wadl:response>
</wadl:method>
<wadl:param name="attachment_id" style="template">
<wadl:doc><![CDATA[The ID of the attachment.]]></wadl:doc>
</wadl:param>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/comments">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets the comments of the specified topic. The <code>max_levels</code> query parameter controls
how many levels of comments to return. The default is 1 level, meaning only the top level of
comments is returned.]]></wadl:doc>
<wadl:request>
<wadl:param name="max_levels" style="query">
<wadl:doc><![CDATA[The maximum number of levels of comments. Use -1 to retrieve all comments.]]></wadl:doc>
</wadl:param>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[An array of <code>TreeNode</code> objects containing the comments.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="node"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/comments">
<wadl:method name="POST">
<wadl:doc><![CDATA[Adds a new comment to a topic.
<p>The comment resource included in the POST body must contain <code>body</code>.</p>]]></wadl:doc>
<wadl:request>
<wadl:doc><![CDATA[A comment resource to add.]]></wadl:doc>
<wadl:representation mediaType="application/json">
</wadl:representation>
<wadl:representation mediaType="application/xml" element="comment">
</wadl:representation>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The created comment resource.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="comment"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/comments/{comment_id}">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets a comment in a topic.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The comment resource.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="comment"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
<wadl:param name="comment_id" style="template">
<wadl:doc><![CDATA[The ID of the comment.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/comments/{comment_id}">
<wadl:method name="PUT">
<wadl:doc><![CDATA[Modifies a comment.
<p>The only field of the comment that can be modified is the <code>body</code>.</p>
<p>The creator of the comment and the owner of the room can modify comments.</p>]]></wadl:doc>
<wadl:request>
<wadl:doc><![CDATA[A comment resource containing the new comment values.]]></wadl:doc>
<wadl:representation mediaType="application/json">
</wadl:representation>
<wadl:representation mediaType="application/xml" element="comment">
</wadl:representation>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The updated comment resource.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="comment"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
<wadl:param name="comment_id" style="template">
<wadl:doc><![CDATA[The ID of the comment.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/comments/{comment_id}">
<wadl:method name="DELETE">
<wadl:doc><![CDATA[Deletes a comment.
<p>The creator of the comment and the owner of the room can delete comments.</p>]]></wadl:doc>
<wadl:request>
</wadl:request>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
<wadl:param name="comment_id" style="template">
<wadl:doc><![CDATA[The ID of the comment.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/comments/{comment_id}/attachments">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets the attachments of the comment.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="results"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
<wadl:param name="comment_id" style="template">
<wadl:doc><![CDATA[The ID of the comment.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/comments/{comment_id}/attachments">
<wadl:method name="POST">
<wadl:doc><![CDATA[Attaches a file to the comment. The file content can be uploaded either as the full request body or as part of a
<code>multipart/form-data</code> post (see <a href="https://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2">here</a>).
<p>If the comment already contains an attachment with the specified filename, that attachment is replaced.</p>]]></wadl:doc>
<wadl:request>
<wadl:param name="file_name" style="query">
<wadl:doc><![CDATA[The name of the file (required).]]></wadl:doc>
</wadl:param>
<wadl:param name="md5" style="query">
<wadl:doc><![CDATA[The MD5 checksum of the file (optional).]]></wadl:doc>
</wadl:param>
<wadl:param name="mod_date" style="query">
<wadl:doc><![CDATA[The modified date if the file (optional).]]></wadl:doc>
</wadl:param>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The attachment metadata.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="attachment"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
<wadl:param name="comment_id" style="template">
<wadl:doc><![CDATA[The ID of the comment.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/comments/{comment_id}/attachments/{attachment_id}">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets the metadata for an attachment of a comment.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="attachment"/>
</wadl:response>
</wadl:method>
<wadl:param name="attachment_id" style="template">
<wadl:doc><![CDATA[The ID of the attachment.]]></wadl:doc>
</wadl:param>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
<wadl:param name="comment_id" style="template">
<wadl:doc><![CDATA[The ID of the comment.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/comments/{comment_id}/attachments/{attachment_id}">
<wadl:method name="DELETE">
<wadl:doc><![CDATA[Removes an attachment from a comment.]]></wadl:doc>
<wadl:request>
</wadl:request>
</wadl:method>
<wadl:param name="attachment_id" style="template">
<wadl:doc><![CDATA[The ID of the attachment.]]></wadl:doc>
</wadl:param>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
<wadl:param name="comment_id" style="template">
<wadl:doc><![CDATA[The ID of the comment.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/comments/{comment_id}/attachments/{attachment_id}/content">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets the file content of the specified attachment.
<p>By default, the response will not contain a "Content-Disposition" header. To request that the
response include this header, specify content_disposition=attachment as a query parameter, or
in the "X-GroupWise-TeamWorks-Format" request header.</p>]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The file content.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml"/>
</wadl:response>
</wadl:method>
<wadl:param name="attachment_id" style="template">
<wadl:doc><![CDATA[The ID of the attachment.]]></wadl:doc>
</wadl:param>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
<wadl:param name="comment_id" style="template">
<wadl:doc><![CDATA[The ID of the comment.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/comments/{comment_id}/comments">
<wadl:method name="GET">
<wadl:doc><![CDATA[Gets the comments under the specified comment. The <code>max_levels</code> query parameter controls
how many levels of comments to return. The default is 1 level, meaning only the top level of
comments is returned.]]></wadl:doc>
<wadl:request>
<wadl:param name="max_levels" style="query">
<wadl:doc><![CDATA[The maximum number of levels of comments. Use -1 to retrieve all comments.]]></wadl:doc>
</wadl:param>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[An array of <code>TreeNode</code> objects containing the comments.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="node"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
<wadl:param name="comment_id" style="template">
<wadl:doc><![CDATA[The ID of the comment.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="topics/{id}/comments/{comment_id}/comments">
<wadl:method name="POST">
<wadl:doc><![CDATA[Adds a new comment to a comment.
<p>The comment resource included in the POST body must contain <code>body</code>.</p>]]></wadl:doc>
<wadl:request>
<wadl:doc><![CDATA[A comment resource to add.]]></wadl:doc>
<wadl:representation mediaType="application/json">
</wadl:representation>
<wadl:representation mediaType="application/xml" element="comment">
</wadl:representation>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The created comment resource.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="comment"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the topic.]]></wadl:doc>
</wadl:param>
<wadl:param name="comment_id" style="template">
<wadl:doc><![CDATA[The ID of the parent comment.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="users">
<wadl:method name="GET">
<wadl:doc><![CDATA[Search for users.
<p><b>Look up users by ID</b></p>
<p>The <code>id</code> query parameter can be used to look up multiple users by ID. For example, <code>/rest/users?id=10&id=13&id=15</code>.</p>
<p><b>Search for users</b></p>
<p>The <code>searchterm</code> query parameter can be used to filter users.
For example, <code>/rest/users?searchterm=micr</code>. This would filter users to those whose first name,
last name, login name, email address or email domain start with "MICR"</p>
<p><b>Paging</b></p>
<p>The <code>first</code> and <code>count</code> query parameters are used to page through results. The first item
in the list has an index of 0, so <code>first=10</code> means "starting with the 11th item".
For example, <code>/rest/users?first=10&count=5</code> will return up to 5 users, beginning with the 11th (results 11-15).</p>]]></wadl:doc>
<wadl:request>
<wadl:param name="count" style="query">
<wadl:doc><![CDATA[The maximum number of users to return. The default is 25.]]></wadl:doc>
</wadl:param>
<wadl:param name="first" style="query">
<wadl:doc><![CDATA[The index of the first result to return.]]></wadl:doc>
</wadl:param>
<wadl:param name="id" style="query">
<wadl:doc><![CDATA[The ID of a user. May be specified multiple times. Cannot be combined with <code>search_term</code>.]]></wadl:doc>
</wadl:param>
<wadl:param name="searchterm" style="query">
<wadl:doc><![CDATA[Limits the results to those users matching the search term. Case-insensitive. Cannot be combined with <code>id</code>.]]></wadl:doc>
</wadl:param>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[A list of users.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="results"/>
</wadl:response>
</wadl:method>
</wadl:resource>
<wadl:resource path="users/{id}">
<wadl:method name="GET">
<wadl:doc><![CDATA[Get a user.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The user.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml" element="user"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the user.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="users/{id}/avatar">
<wadl:method name="GET">
<wadl:doc><![CDATA[Get a user avatar.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The user.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the user.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="users/{id}/avatar/scaled">
<wadl:method name="GET">
<wadl:doc><![CDATA[Get a scaled-down version user avatar.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The user.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the user.]]></wadl:doc>
</wadl:param>
</wadl:resource>
<wadl:resource path="users/{id}/avatar/thumbnail">
<wadl:method name="GET">
<wadl:doc><![CDATA[Get a user avatar thumbnail.]]></wadl:doc>
<wadl:request>
</wadl:request>
<wadl:response>
<wadl:doc><![CDATA[The user.]]></wadl:doc>
<wadl:representation mediaType="application/json"/>
<wadl:representation mediaType="application/xml"/>
</wadl:response>
</wadl:method>
<wadl:param name="id" style="template">
<wadl:doc><![CDATA[The ID of the user.]]></wadl:doc>
</wadl:param>
</wadl:resource>
</wadl:resources>
</wadl:application>