Recipes: Use Cases and associated RESTful methods

Create a new Group within a stem under the Bamboo Groups Root

Method: Create a group

Examples:

A group ("My Group"; description "A group") beneath my stem:

POST <url root>/bsp/groups/?parentstemid=d0cbc8c7-018c-4146-92bc-4b033d31934c&name=My%20Group&description=A%20Group HTTP/1.1

Add members to a Group

Method: Add a Bamboo person to a group

Examples:

Add a person (by BPID) to my group under my stem:

PUT <url root>/bsp/groups/e8df11ae-a495-4b8a-a233-b06d86d6ddde:d67b9bfd-8033-4082-851c-7fa464f552ac/members/urn:uuid:c00f294d-651b-495b-9633-a900dd1a7418 HTTP/1.1

Create a 'sub-group' (a Group that is a member of another Group)

Method: Add a group to a group

Examples:

Add a group (the id after the second "/groups/" below) as a member to another group (the id after the first "/groups/"):

PUT <url root>/bsp/groups/e8df11ae-a495-4b8a-a233-b06d86d6ddde:d67b9bfd-8033-4082-851c-7fa464f552ac/groups/e8df11ae-a495-4b8a-a233-b06d86d6ddde:51e99f86-844d-4dc7-a4c6-8ae85d38d3ab HTTP/1.1

Delegate administrative (management) privileges for a Group

Method: Add or remove privilege of a Bamboo Person for a Group

Examples:

Add privileges to administer a group one has created to another Bamboo person

PUT <url root>/bsp/groups/cbd01854-0261-49c0-96eb-c816f0c6da8c/privileges/urn:uuid:04574969-e851-4fbf-8535-0b81b9b3f2f3/?privilegetype=ACCESS&privilegename=ADMIN&allowed=T HTTP/1.1

Delegate administrative (management) privileges for a Stem

Method: Add or remove privilege of a Bamboo Person for a Stem

Examples:

Add the privilege to create groups within a stem one has created to another Bamboo person identified by BPID:

PUT <url root>/bsp/groups/stems/d0cbc8c7-018c-4146-92bc-4b033d31934c/privileges/urn:uuid:04574969-e851-4fbf-8535-0b81b9b3f2f3/?privilegetype=NAMING&privilegename=STEM&allowed=T HTTP/1.1

Delete a Group

Method: Delete a group

Examples:

Delete a group identified by group id:

DELETE <url root>/bsp/groups/2b845688-88f8-4728-980a-071353b528e3

Use Group membership to govern access to a specific resource

Method: Add or remove privilege of a Bamboo Person for a resource identified by a group

Examples:

Add privileges to update a group resource one has created to another Bamboo person:

PUT <url root>/bsp/groups/cbd01854-0261-49c0-96eb-c816f0c6da8c/privileges/urn:uuid:04574969-e851-4fbf-8535-0b81b9b3f2f3/?privilegetype=ACCESS&privilegename=UPDATE&allowed=T HTTP/1.1