A lightweight API for indexing metadata and links to existing derivatives into Avalon.  
Version
Date
Description
0.1
13 October 2015
Initial Draft

Table of Contents 

mediaobjects

GET items/:pid Retrieves information on the media object

POST items/ Creates an media object

PUTS items/:pid Updates an media object

JSON:

{mods: {mods converted to JSON}, collection: collection_id, derivatives: [location_of_derivatives], private: <Boolean, default=false> }

GET returns the mods (or otherwise specified subset of metadata), POST requires everything to be able to create a new media object, PUTS updates just the supplied JSON.  POST and PUT fail if there is not: mods, a unique pid for the object, valid collection_id, mods, and derivatives.  If private is not specified, it is assumed to be public.  

admin/collections

GET admin/collections/ Retrieves a list of all collections

GET admin/collections/:pid Retrieves information on the collection

GET admin/collections/:pid/items Retrieves a list of all items in collection :pid

POST admin/collections/ Creates a collection

PUTS admin/collections/:pid Updates a collection

response codes:

CodeDescription
200

Okay

201

Created

202

Accepted, Queued

400

Bad request

401

Auth Failure

403

Forbidden

404

Resource Not Found

405

Method Prohibited

409

Conflict/Other Error

Conflict ex: pid in use

Additional information for response included in JSON in the body as {status: Okay or ErrorCode, message: ""}

Open Issues: