Group Service RESTful APIs - Release v1.8
Brief Description
Assumptions
For a complete list of assumptions, visit the Service Description and Assumptions page.
References
Group User Story Summary
Generic Group Service Description and Assumptions
Group Schema
REST-based API
To obtain a list of items in a group, use the Relations Service to obtain a list of items that are related to that group, via the CollectionSpace ID (CSID) of the group record.
The Group Service offers a REST-based Application Programming Interface (API) to CRUD (create, read, update, and delete) operations on individual Group instances, plus list operations on multiple Group instances. These follow the Common model for CollectionSpace REST services.
Group CRUD+L services
Create a Group
Creates a new Group record. Assigns a unique, service-specified CollectionSpace ID (CSID) to that Group record. Follows standard Create model. See the documentation of the Group schema, below. Example:
POST /cspace-services/groups HTTP/1.1
Read a Group
Reads an existing Group record, specified by its CollectionSpace ID (CSID). Follows standard Read model. See the documentation of the Group schema, below. Example:
GET /cspace-services/groups/{id} HTTP/1.1
Update an Group
Updates an existing Group record, specified by its CollectionSpace ID (CSID). Follows standard Update model. See the documentation of the Group schema, below. Example:
PUT /cspace-services/groups/{id} HTTP/1.1
Delete a Group
Deletes an existing Group record, specified by its CollectionSpace ID (CSID). Follows standard Delete model. Example:
DELETE /cspace-services/groups/{id} HTTP/1.1
List Group instances
Lists existing Group records, with summary information for each. Follows standard List model. See the documentation of the Group list schema, below. Example:
GET /cspace-services/groups/ HTTP/1.1
Group REST payload schemas
Group instance schema
The schemas below are illustrative. For a full list of the fields that may potentially be present in payloads when creating, updating, or reading individual Group records, please see the Group record schema for the current release.
Create and Update should use the following schema:
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <document name="groups"> <ns2:groups_common xmlns:ns2="http://collectionspace.org/services/group" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <title>Test Group</title> <scopeNote>This is just for testing</scopeNote> <responsibleDepartment>antiquities</responsibleDepartment> <owner>urn:cspace:org.collectionspace.demo:personauthority:id(497bd6eb-6093-4644-b7e4):person:id(eb8a3dcb-0bed-435f-a4e1)'Patrick+Stewart'</owner> </ns2:groups_common> <ns2:collectionspace_core xmlns:ns2="http://collectionspace.org/collectionspace_core/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <tenantId>1</tenantId> <updatedAt>2011-05-19T17:20:56Z</updatedAt> <createdAt>2011-05-19T17:20:56Z</createdAt> </ns2:collectionspace_core> <ns2:account_permission xmlns:ns2="http://collectionspace.org/services/authorization"> ... </ns2:account_permission> </document>
Group list schema
Group uses the new abstract common list mechanism, allowing for some configuration of returned fields. By default, List (and variants) will return the following schema. This schema includes the uri and csid fields to help facilitate access to individual records:
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <ns2:abstract-common-list xmlns:ns2="http://collectionspace.org/services/jaxb"> <pageNum>0</pageNum> <pageSize>40</pageSize> <itemsInPage>1</itemsInPage> <totalItems>1</totalItems> <fieldsReturned>csid|uri|title</fieldsReturned> <list-item> <csid>05e5c5cf-faad-427c-8220</csid> <uri>/groups/05e5c5cf-faad-427c-8220</uri> <title>Test Group</title> </list-item> </ns2:abstract-common-list>