CollectionObject Service RESTful API

Brief Description

Error rendering macro 'excerpt-include' : No link could be created for 'collectionspace:CollectionObject Service Description and Assumptions'.
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 /wiki/spaces/collectionspace/pages/666274321 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 /wiki/spaces/collectionspace/pages/666274321. 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 /wiki/spaces/collectionspace/pages/666274321. 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 /wiki/spaces/collectionspace/pages/666274321. 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. See the documentation of the CollectionObject list schema, below. Example:

GET /cspace-services/collectionobjects/ HTTP/1.1

The CollectionObject service does not currently support pagination of list results; restore relevant wording from version 5 of this document when that support is added.

CollectionObject REST payload schemas

CollectionObject instance schema

The schemas below 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.

Create and Update should use the following schema:

<?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>
CollectionObject list schema

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: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>