Member
Member Service
Web service endpoints for manipulating user memberships in a social group.
Examples:
POST to /members/places/{placeID} where this is a valid URI for a Group.
Curl example:
curl -u admin:password -H "Content-Type: application/json" --data
'{ "person": "http://example.jiveon.com/api/core/v3/people/1234", "state": "member" }'
http://example.jiveon.com/api/core/v3/members/places/1234
Perform a GET to /members/places/{placeID} where this is a valid URI for a Group.
Here is a curl example of getting the owner of a group and retrieiving only the "state" field.
curl -u user:password "http://example.jiveon.com/api/core/v3/members/places/1234?state=owner&fields=state"
Create Member
POST /members/places/{placeID}Create a new member, and return an entity describing it. The minimum information required to create a new member is:
{
"person" : "https://example.jiveon.com/api/core/v3/people/{personID}",
"state" : "member"
}
The only valid states that may be used when creating a member are:
- owner - Person has group administration capabilities as well as membership
- member - Person has regular membership capabilities only
Path Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
| placeID | String | true | ID of the social group member that will have the user as a new member |
Query Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
| fields | String | false | Fields to include in the returned Member |
Takes:
Retrieves:
Return Status:
| HTTP Status Code | Description |
|---|---|
| 201 (Created) | Request was successful |
| 400 (Bad Request) | An input field is missing or malformed |
| 409 (Conflict) | The user is already a member of the group |
| 403 (Forbidden) | You are not allowed to perform this operation |
| 404 (Not Found) | The specified group cannot be found |
Destroy Member
DELETE /members/{memberID}Delete the specified membership.
Path Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
| memberID | String | true | ID of the membership to be deleted |
Return Status:
| HTTP Status Code | Description |
|---|---|
| 204 (No Content) | Request was successful |
| 400 (Bad Request) | An input field is missing or malformed |
| 403 (Forbidden) | You are not allowed to access the specified comment |
| 404 (Not Found) | The specified comment does not exist |
Get Member
GET /members/{memberID}Return the specified membership.
Path Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
| memberID | String | true | ID of the membership to be returned |
Query Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
| fields | String | false | Fields to include in the returned Member |
Return Status:
| HTTP Status Code | Description |
|---|---|
| 200 (OK) | Request was successful |
| 400 (Bad Request) | An input field is missing or malformed |
| 403 (Forbidden) | You are not allowed to perform this operation |
| 404 (Not Found) | The specified member cannot be found |
Get Members By Group
GET /members/places/{placeID}Retrieve all memberships of a given group that match the specified criteria.
Path Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
| placeID | String | true | Group ID of the social group for which to select memberships |
Query Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
| state | Object[] | false | List of states used to filter the returned results (default is all states) |
| count | Integer | false | Maximum number of memberships to be returned (default is 25) |
| startIndex | Integer | false | Zero-relative offset of the first membership to be returned (default is 0) |
| fields | String | false | Fields to be returned in the selected memberships |
Return Status:
| HTTP Status Code | Description |
|---|---|
| 200 (OK) | Request was successful |
| 400 (Bad Request) | An input parameter is missing or malformed |
| 403 (Forbidden) | You are not allowed to access the requested members |
| 404 (Not Found) | The specified place is not found |
Get Members By Person
GET /members/people/{personID}Retrieve all memberships of a given person that match the specified criteria.
Path Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
| personID | String | true | ID of the person for which to select memberships |
Query Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
| state | Object[] | false | List of states used to filter the returned results (default is all states) |
| count | Integer | false | Maximum number of memberships to be returned (default is 25) |
| startIndex | Integer | false | Zero-relative offset of the first membership to be returned (default is 0) |
| fields | String | false | Fields to be returned in the selected memberships |
Return Status:
| HTTP Status Code | Description |
|---|---|
| 200 (OK) | Request was successful |
| 400 (Bad Request) | An input parameter is missing or malformed |
| 403 (Forbidden) | You are not allowed to access the requested members |
| 404 (Not Found) | The specified place is not found |
Update Member
PUT /members/{memberID}Update the specified membership with the specified characteristics.
Only the following state transitions are allowed, and only for the following people:
| From State | To State | Authorized For | Notes |
|---|---|---|---|
| banned | member | Jive Admin, Group Admin | Remove ban on participation in this group. |
| banned | owner | Jive Admin, Group Admin | Remove ban on participation in this group, and make user a group admin. |
| member | banned | Jive Admin, Group Admin | Ban participation in this group. |
| member | owner | Jive Admin, Group Admin | Make user a group admin. |
| owner | banned | Jive Admin, Group Admin | Ban participation in this group, remove admin privileges. |
| owner | member | Jive Admin, Group Admin | Remove admin privileges. |
| pending | banned | Jive Admin, Group Admin | Accept membership request, but ban user from participation. |
| pending | member | Jive Admin, Group Admin | Accept membership request. |
| pending | owner | Jive Admin, Group Admin | Accept membership request, make user a group admin. |
Path Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
| memberID | String | true | ID of the membership to be updated |
Query Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
| fields | String | false | Fields to include in the returned entity |
Takes:
Retrieves:
Return Status:
| HTTP Status Code | Description |
|---|---|
| 200 (OK) | Request was successful |
| 400 (Bad Request) | Aan input field is missing or malformed |
| 403 (Forbidden) | You are not allowed to access the specified membership |
| 404 (Not Found) | The specified membership does not exist |