/rest/fcr:sitemap
/rest/fcr:search
/rest/fcr:namespaces
/rest/fcr:nextPID
- POST mints an ID
Nodes
/rest/{path}
- GET lists children, with optional filter by mixin
- POST create a new node of QueryParam "mixin" at {path}
- PUT mutate the object at {path}
- DELETE remove the object at {path}
GET /rest/ list the top-level objects in the repository GET /rest/sufia:123456789 list the children under sufia:123456789, which may include properties(?), datastreams or additional fedora objects/collections GET /rest/sufia:123456789?mixin=fedora:datastream only list the `fedora:datastreams` that are children of sufia:123456789 POST /rest/islandora:xyzasdf with request body (I seem to remember something about a JSON/XML serialization of "profile" properties...) POST /rest/islandora:xyzasdf?mixin=fedora:object create a new fedora object at islandora:xyzasdf POST /rest/islandora:xyzasdf/an/arbitrary/hierarchy/to/an/islandora:datastream?mixin=fedora:datastream create a new datastream at islandora:xyzasdf/an/arbitrary/hierarchy/to/an/islandora:datastream in the JCR tree. (Will this create all the intermediate nodes? do I need to do this manually?) PUT /rest/sufia:123456789 (not sure what this implies.. manipulating properties of the node?) DELETE /rest/sufia:123456789 Delete the node at sufia:123456789
/rest/{path}/fcr:new
- POST create a new child of QueryParam "mixin" under {path}
POST /rest/fcr:new create a new child object with an automatically generated unique identifier POST /rest/sufia:123456789?mixin=fedora:datastream create a new child datastream for /sufia:123456789 with an automatically generated unique identifier
/rest/{path}/fcr:content
- GET the bytes from {path}/jcr:content/jcr:data
- POST create a new nt:file at {path} with a binary value of the request entity
- PUT mutate the binary value of the nt:file at {path}
- DELETE remove the jcr:content child from the node at {path}
GET /rest/sufia:123456789/DS1/fcr:content get the binary content of DS1 POST /rest/sufia:123456789/THUMBNAIL/fcr:content (with a request body) add the binary content from the request body to THUMBNAIL PUT /rest/sufia:123456789/THUMBNAIL/fcr:content (with a request body) update the binary content in the THUMBNAIL DELETE /rest/sufia:123456789/THUMBNAIL/fcr:content remove the binary content from THUMBNAIL (but leave the JCR node there..) PATCH /rest/sufia:123456789/THUMBNAIL/fcr:content (I assume PATCH will work.. that'd be pretty cool)
/rest/{path}/fcr:new/fcr:content
- POST create a new nt:file under {path} with a binary value of the request entity
POST /rest/sufia:123456789/fcr:new/fcr:content create a new child datastream (with an automatically generated unique identifier) with the content provided by the request body
Describe
/rest/{path}/fcr:describe
- GET profile or description [repo describe at root, profiles by type]
- POST unsupported?
- PUT unsupported?
- DELETE unsupported?
GET /rest/fcr:describe describe the fcrepo4 repository GET /rest/sufia:123456789/fcr:describe describe the object sufia:123456789 (equivalent to the fcrepo 3.x "object profile") GET /rest/sufia:123456789/content/fcr:describe describe the datastream sufia:123456789/content (equivalent to the fcrepo 3.x "datastream profile") GET /rest/some/arbitrary/jcr\:path/to/sufia:123456789/the/tree/continues/fcr:describe describe the node at /rest/some/arbitrary/jcr\:path/to/sufia:123456789/the/tree/continues (equivalent to the fcrepo3.x "datastream profile"). If the node resolves to a JCR "nt:file", we treat it as a datastream. Else, an object (or collection)
Versioning
/rest/{path}/fcr:versions
- GET the version history of the nt:file or the nt:folder (as appropriate) at {path}
GET /rest/sufia:123456789/fcr:versions get the version history of sufia:123456789 fedora object (not sure what the response looks like, though) GET /rest/sufia:123456789/THUMBNAIL/fcr:versions get the version history of the THUMBNAIL datastream
Datastream Batch Operations
/rest/{path}/fcr:datastreams is only for batch DS operations
- GET
- POST
- DELETE
GET /rest/sufia:123456789/fcr:datastreams?dsid=DC&dsid=RELS-EXT&dsid=CONTENT_METADATA receive a multipart/mixed response of the 3 named datastreams under sufia:123456789 POST /rest/sufia:123456789/fcr:datastreams (with a multipart body) create any number of datastreams under sufia:123456789 DELETE /rest/sufia:123456789/fcr:datastreams?dsid=THUMBNAIL&dsid=CONTENT delete the two named datastreams under sufia:123456789
Fixity
/rest/{path}/fcr:fixity
- GET get the fixity report for the nt:file at {path}
GET /rest/sufia:123456789/THUMBNAIL/fcr:fixity retrieve the fixity report for the /sufia:123456789/THUMBNAIL node