Brief Description
For a full description, visit the Service Description and Assumptions page.
Assumptions
For a complete list of assumptions, visit the Service Description and Assumptions page.
References
Cataloging Requirements
CollectionObject Story Summary
CollectionObject Entry Stories
CollectionObject Service Description and Assumptions
CollectionObject Service Entity Diagrams
REST-based APIs - A Template for Services
REST-based API
The CollectionObject Service offers a REST-based Application Programming Interface (API) to CRUD (create, read, update, and delete) operations on individual CollectionObject instances, plus list operations on multiple CollectionObject instances. These follow the Common model for CollectionSpace REST services.
CollectionObject CRUD+L services
Create a CollectionObject
Creates a new CollectionObject record. Assigns a unique, service-specified CollectionSpace ID (CSID) to that CollectionObject record. Follows standard Create model. See the documentation of the CollectionObject schema, below. Example:
POST /cspace-services/collectionobjects HTTP/1.1
Read a CollectionObject
Reads an existing CollectionObject record, specified by its CollectionSpace ID (CSID). Follows standard Read model. See the documentation of the CollectionObject schema, below. Example:
GET /cspace-services/collectionobjects/{id} HTTP/1.1
Update a CollectionObject
Updates an existing CollectionObject record, specified by its CollectionSpace ID (CSID). Follows standard Update model. See the documentation of the CollectionObject schema, below. Example:
PUT /cspace-services/collectionobjects/{id} HTTP/1.1
Delete a CollectionObject
Deletes an existing CollectionObject record, specified by its CollectionSpace ID (CSID). Follows standard Delete model. Example:
DELETE /cspace-services/collectionobjects/{id} HTTP/1.1
List CollectionObject instances
Lists existing CollectionObject records, with summary information for each. Follows standard List model, with pagination support. See the documentation of the CollectionObject schema, below.
Aron to verify pagination support in CollectionObject service
CollectionObject supports the following common parameters for List results, pagination controls and query filters:
- pgSz for page size
- pgNum for page size
Examples:
GET /cspace-services/collectionobjects/ HTTP/1.1 GET /cspace-services/collectionobjects/?pgSz=10 HTTP/1.1
CollectionObject REST payload schemas
CollectionObject instance schema
Create and Update should use the following schema:
Aron to verify that this simpler, single namespace attribute works for create and update, and to replace with more full declaration if it does not
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <ns2:collectionobjects-common xmlns:ns2="http://services.collectionspace.org/collectionobject"> <objectNumber>2010.5.18</objectNumber> <objectName>Laguna Tide Pool</objectName> <title>Impressionist Painting</title> ... </ns2:collectionobjects-common>
Read will return the following schema:
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <ns2:collectionobjects_common xmlns:ns2="http://collectionspace.org/services/collectionobject" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://collectionspace.org/services/collectionobject http://services.collectionspace.org/collectionobject/collectionobjects_common.xsd"> <objectNumber>2010.5.18</objectNumber> <objectName>Laguna Tide Pool</objectName> <title>Impressionist Painting</title> ... </ns2:collectionobjects-common>
The schemas above are severely abbreviated, and are thus illustrative. For a full list of the fields that may potentially be present in payloads when creating, updating, or reading individual CollectionObject records, please see the CollectionObject record schema for release 0.5.
More complete examples of these schemas will be added here in the near future.
CollectionObject list schema
List (and variants) will return the following schema. This schema includes the additional fields uri and csid to help facilitate access to individual records:
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <ns2:collectionobjects-common-list xmlns:ns2="http://collectionspace.org/services/collectionobject"> <collectionobject-list-item> <objectNumber>2010.5.18</objectNumber> <title>Painting of a Tide Pool</title> <uri>/collectionobjects/f0cf4c50-8f8a-4df0-869a</uri> <csid>f0cf4c50-8f8a-4df0-869a</csid> </collectionobject-list-item> .... </ns2:collectionobjects-common-list>