Intake Service RESTful APIs - Release v0.5

Brief Description

Error rendering macro 'excerpt-include' : No link could be created for 'DOC:Intake 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

Object Entry Requirements
Intake Stories
Intake Service Description and Assumptions
Intake Service Entity Diagrams
Intake Schema

REST-based API

The Intake Service offers a REST-based Application Programming Interface (API) to CRUD (create, read, update, and delete) operations on individual Intake instances, plus list operations on multiple Intake instances. These follow the Common model for CollectionSpace REST services.

Intake CRUD+L services

Create an Intake

Creates a new Intake record. Assigns a unique, service-specified CollectionSpace ID (CSID) to that Intake record. Follows standard Create model. See the documentation of the Intake schema, below. Example:

POST /cspace-services/intakes HTTP/1.1
Read an Intake

Reads an existing Intake record, specified by its CollectionSpace ID (CSID). Follows standard Read model. See the documentation of the Intake schema, below. Example:

GET /cspace-services/intakes/{id} HTTP/1.1
Update an Intake

Updates an existing Intake record, specified by its CollectionSpace ID (CSID). Follows standard Update model. See the documentation of the Intake schema, below. Example:

PUT /cspace-services/intakes/{id} HTTP/1.1
Delete an Intake

Deletes an existing Intake record, specified by its CollectionSpace ID (CSID). Follows standard Delete model. Example:

DELETE /cspace-services/intakes/{id} HTTP/1.1
List Intake instances

Lists existing Intake records, with summary information for each. Follows standard List model. See the documentation of the Intake list schema, below. Example:

GET /cspace-services/intakes HTTP/1.1

List supports query parameters for customizing list results, such as pagination controls, query filters, and sorting options. For example:

GET /cspace-services/intakes?pgSz=10 HTTP/1.1

List also supports query parameters for searching for matching records, including keyword search. For example:

GET /cspace-services/intakes?kw=foo&pgSz=10 HTTP/1.1

Intake REST payload schemas

Intake 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 Intake records, please see the Intake record schema for release 0.5.

Create and Update should use the following schema:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<ns2:intakes_common xmlns:ns2="http://collectionspace.org/services/intake" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://collectionspace.org/services/intake http://services.collectionspace.org/intake/intakes_common.xsd">
    <entryNumber>IN2010.2</entryNumber>
    <depositor>urn:cspace:org.collectionspace.demo:personauthority:name(TestPersonAuth):person:name(Alfred L. Kroeber)'Alfred L. Kroeber'</depositor>
    ...
</ns2:intakes_common>

Read will return the following schema:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<ns2:intakes_common xmlns:ns2="http://collectionspace.org/services/intake" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://collectionspace.org/services/intake http://services.collectionspace.org/intake/intakes_common.xsd">
    <entryNumber>IN2010.2</entryNumber>
    <depositor>urn:cspace:org.collectionspace.demo:personauthority:name(TestPersonAuth):person:name(Alfred L. Kroeber)'Alfred L. Kroeber'</depositor>
    ...
</ns2:intakes_common>
Intake 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:intakes-common-list xmlns:ns2="http://collectionspace.org/services/intake">
  <intake-list-item>
    <entryNumber>IN2010.2</entryNumber>
    <depositor>Alfred L. Kroeber</depositor>
    <uri>/intakes/b59d0c6f-08f2-4fb5-b5f7</uri>
    <csid>b59d0c6f-08f2-4fb5-b5f7</csid>
  </intake-list-item>
  ....
</ns2:intakes-common-list>