Table of Contents
Group Representation
This article describes the JSON format that represents a group in the Users and Groups API.
Table of Contents
MIME Type
application/vnd.fotoware.group+json
Part of ...
Example
|
|
Attributes
Name | Type | Description |
---|---|---|
href |
URL (string) Links to Group |
URL of the group resource. This URL can be used for requesting the group representation of the group, for updating or deleting the group, for specifying groups to add a new user to. |
name | string | Unique name of the group. |
description | string | Description of the group. This is a free-form, human-readable string. |
created | date (string) | Date and time when group was created |
modified | date (string) | Date and time when group was last modified (identical to created if group was never modified; never null) |
externalIDs | array of objects | IDs of this group in external systems linked to FotoWeb through custom authentication providers. Each group can be linked to exactly one ID per distinct authentication provider. |
externalIDs.provider | string | ID of the authentication provider |
externalIDs.id | string | ID of the user in the external system. For example, this could be an ActiveDirectory security identifier. |
license | object | Default license to apply to users that are added to this group through self-registration or custom authentication providers. |
license.defaultLevel | string |
Default license level for users of the group. Can be "standard", "plus" or "pro". For more information, see User Types. |
license.defaultConcurrencyMode | string |
Default license concurrency mode for users of the group. Can be one of the following: "named": The user is licensed as a named user and can always access FotoWeb. "concurrent": The user is licensed as a concurrent user and can access FotoWeb only if there are no more concurrent users of the same type accessing the system as the system has been licensed for. |
permissions.isAdministrator | bool | Every user in this group is an administrator. |
permissions.albums.create | bool | Every user in this group can create albums. |
permissions.albums.shareWithGroups | bool | Every user in this group can share albums with groups. |
permissions.albums.shareWithUsers | bool | Every user in this group can share albums with users. |
permissions.albums.restrictToFriends | bool | Every user in this group can share albums only with users within the same groups or with groups that the user is a member of. |
permissions.albums.shareWithGuests | bool | Every user in this group can share albums with guests. |
permissions.albums.delegateDownloads | bool | Every user in this group can give download permissions when sharing albums. |
permissions.albums.showOnHomepage | bool | Every user in this group can share albums on the home page. |
permissions.albums.comment | bool | Every user in this group can comment on albums. |
permissions.uploadArea | bool | Every user in this group has an individual upload area. |
permissions.api | bool | Every user in this group has access to the API. |
permissions.manageTaxonomies | bool | Every user in this group has write access to taxonomies. |
members |
URL (string), links to MemberList, UserList and GroupList. |
Link to the member list of the group. This URL accepts all requests of a Member List representation, i.e., it can be used for reading the users and groups which are members of this group and for adding and removing members. |
propertyBag | array of objects | List of custom attributes assigned to the group. Each attribute is a free-form key/value pair. |
propertyBag.key | string | Key of the attribute. Must be unique within the property bag of the group. |
propertyBag.value | string | Value of the attribute. This is a free-form string. |
memberships | array of objects | List of groups that the user is directly or indirectly a member of |
memberships.group | object (Group) | Complete information about the group |
memberships.direct | bool | true if the user is a direct member of the group, false otherwise |
Methods
The following HTTP verbs are allowed on groups:
GET
GET url Accept: application/vnd.fotoware.group+json
Read group information. Returns the representation described above.
PATCH
PATCH url Content-Type: application/vnd.fotoware.group+json {...}
Update group information. Accepts the representation described above, but fields can be omitted. Fields that are defined in the request body will not be modified. Some fields MUST NOT be defined. See the Remarks section for details.
If successful, the server sends one of the following responses:
204 No Content
if the name
was not changed or
201 Created Location: new_url
if the name
was changed. Then, new_url
is the new URL of the group, and the old URL is no longer valid and will return 404.
DELETE
DELETE url
Deletes the group.
If successful, the server sends the following response:
204 No Content
The URL of the group is no longer valid and will return 404.
Remarks
In a request to create a new group or update an existing group, the following fields cannot be set explicitly and MUST NOT be defined in the request body:
href
created
modfied
members
-
memberships.direct
(not allowed when creating a user; only direct memberships can be specified) -
memberships
(not allowed when updating a user; memberships cannot be changed in a user update request)
Adding and removing users to and from groups is done by making requests to the user list representation whose URL is given by the members
attribute of the group representation.