Project

General

Profile

Rest Groups » History » Revision 6

Revision 5 (Jean-Philippe Lang, 2012-06-03 15:32) → Revision 6/10 (Jean-Baptiste Barth, 2013-05-03 11:58)

h1. Groups 

 {{>toc}} 

 h2. /groups.:format 

 h3. GET 

 Returns the list of groups. 

 +Example+: 

   GET /groups.xml 

 +Response+: 

 <pre> 
 <groups type="array"> 
   <group> 
     <id>53</id> 
     <name>Managers</name> 
   </group> 
   <group> 
     <id>55</id> 
     <name>Developers</name> 
   </group> 
 </groups> 
 </pre> 

 h3. POST 

 Creates a group. 

 +Parameters+: 

 * @group@ (required): a hash of the group attributes, including: 

   * @name@ (required): the group name 
   * @user_ids@: ids of the group users (an empty group is created if not provided) 

 +Example+: 

 <pre> 
 POST /groups.xml 

 <group> 
   <name>Developers</name> 
   <user_ids> 
     <user_id>3</user_id> 
     <user_id>5</user_id> 
   </user_ids> 
 </group> 
 </pre> 

 <pre> 
 POST /groups.json 

 { 
   "group": { 
     "name": "Developers", 
     "users_ids": [ 3, 5 ] 
   } 
 } 
 </pre> 

 +Response+: 

   * @201 Created@: group was created 
   * @422 Unprocessable Entity@: group was not created due to validation failures (response body contains the error messages) 

 h2. /groups/:id.:format 

 h3. GET 

 Returns details of a group. 

 +Parameters+: 

 * @include@ (optional): a coma separated list of associations to include in the response: 

   * @users@ 
   * @memberships@ 

 +Example+: 

   GET /groups/20.xml?include=users 

 +Response+: 

 <pre> 
 <group> 
   <id>20</id> 
   <name>Developers</name> 
   <users type="array"> 
     <user id="5" name="John Smith"/> 
     <user id="8" name="Dave Loper"/> 
   </users> 
 </group> 
 </pre> 

 h3. PUT 

 Updates an existing group. 

 h3. DELETE 

 Deletes an existing group. 

 h2. /groups/:id/users.:format 

 h3. POST 

 Adds an existing user to a group. 

 +Parameters+: 

 * @user_id@ (required): id of the user to add to the group. 

 +Example+: 

 <pre> 
 POST /groups/10/users.xml 

 <user_id>5</user_id> 
 </pre> 

 +Response+: 

 * @200 OK@: user was added to the group 

 h2. /groups/:id/users/:user_id.:format 

 h3. DELETE 

 Removes a user from a group. 

 +Example+: 

 <pre> 
 DELETE /groups/10/users/5.xml 
 </pre> 

 +Response+: 

 * @200 OK@: user was removed to the group