...
GET returns the mods (or otherwise specified subset of metadata), POST requires everything to be able to create a new item, 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.
collections Anchor collections collections
...
- Should we be strict with CRUD? E.g. If an item exists and a post command, versus put, is issued should it update or return a code existing the item already exists? Also if a PUT is attempted on an item that doesn't exist should we fail or just create the item? Specifically when a user puts and there is no item to update, do they care?
- Regarding the 202 Code, this may not be needed, but I put in place in the event we have to accept API requests and wait to go test streaming (make sure the derivatives are there). This is a worst case if our file storage is too slow (which would be really bad of course).
- Should we let GET items/ return a list of all items? List would be massive.