...
GET /objects/{pid} - get object profile
GET /objects/\{pid}?\[asOfDateTime\]\[format\] Wiki Markup
Parameter | Format | Meaning | Default | Example |
---|---|---|---|---|
asOfDateTime | yyyy-MM-ddTHH:mm:ss.SSSZ | The object, as it looked at the specified time | Now | 2009-01-01T03:00:00:000Z |
format | one of text/xml, text/html, html, xml | The format of the return value | text/html | text/xml |
...
DELETE /objects/{pid} - purge object
DELETE /objects/\{pid}?\[logMessage\]\[force\] Wiki Markup
Parameter | Format | Meaning | Default | Example |
---|---|---|---|---|
logMessage | String | The message to store in the log, about the purge | Empty string | "Deleted this object because it was not used anymore" |
force | one of true, false | Force the purge, even it it breaks a data contract. If set to true, the request will fail, a general exception will be thrown and the return code will be 500. See http://fedora-commons.org/jira/browse/FCREPO-609 | false | false |
...
Return code | Meaning |
---|---|
200 | OK, purging the object, no return body |
404 | Object not found in repository. Body is exception as text/plain |
401 | Unauthorized, the security policy forbade this operation with the supplied user credentials. Body as exception as text/plain |
400 | Wrong syntax in request. Exception as body, text/plain |
500 | Other, unknown error encountered |
...
POST /objects/{pid} - ingest or create new object
...
POST /objects/ [{pid}
...
| new] ? [label] [format] [encoding] [namespace] [ownerId][logMessage] [ignoreMime]
Return code | Meaning |
---|---|
201 | OK, purging the object, no return body |
404 | Object not found in repository. Body is exception as text/plain |
401 | Unauthorized, the security policy forbade this operation with the supplied user credentials. Body as exception as text/plain |
400 | Wrong syntax in request. Exception as body, text/plain |
500 | Other, unknown error encountered |
Parameter | Format | Meaning | Default | Example |
---|
logMessage | String | The message to store in the log | Empty string | "Log message about the ingest" |
{pid} | pid format | persistent identifier of the object to be created |
new | indicator that either a new PID should be created for this object or that the PID to be used is encoded in the XML included as the body of the request
| | |
label | String | the label of the new object | Empty string |
|
format | one of info:fedora/fedora-system:FOXML-1.1, info:fedora/fedora-system:FOXML-1.0, info:fedora/fedora-system:METSFedoraExt-1.1, info:fedora/fedora-system:METSFedoraExt-1.0, info:fedora/fedora-system:ATOM-1.1 or info:fedora/fedora-system:ATOMZip-1.1 | the XML format of the object to be ingested | info:fedora/fedora-system:FOXML-1.1 |
|
encoding | The encoding names known by the JVM | the encoding of the XML to be ingested | UTF-8 |
|
namespace | the namespace to be used to create a PID for a new empty object; if object XML is included with the request, the namespace parameter is ignored | the default namespace of the repository |
|
ownerId | the id of the user to be listed at the object owner |
|
|
logMessage | a message describing the activity being performed |
|
|
ignoreMime | indicates that the request should not be checked to ensure that the content is XML prior to attempting an ingest. This is provided to allow for client applications which do not indicate the correct Content-Type when submitting a request. | false | true, false |
XML file as request content | file to be ingested as a new object |
|
|
Examples
POST: /objects/new
POST: /objects/new?namespace=demo
POST: /objects/test:100?label=Test
PUT /objects/{pid} - modify object
PUT /objects/{pid}?[label][logMessage][ownerId] PUT /objects/\{pid}?\[label]\[logMessage]\[ownerId]\[state] Wiki Markup
Modify an object. Modifies only the object level properties, ie. label, ownerId and state.
...
GET /objects/{pid}\versions
GET /objects/\{pid}/versions?\[format] Wiki Markup
Gets a list of timestamps indicating when components changed in an object. This is a set of timestamps indicating when a datastream was created or modified in the object. These timestamps can be used to request a timestamped dissemination request to view the object as it appeared at a specific point in time.
...
Inquires upon all object Datastreams to obtain datastreams contained by a digital object. This returns a set of datastream locations that represent all possible datastreams available in the object.
GET /objects/\{pid}/datastreams?\[asOfDateTime]\[format] Wiki Markup
Parameter | Format | Meaning | Default | Example |
---|---|---|---|---|
asOfDateTime | yyyy-MM-ddTHH:mm:ss.SSSZ | The datastream list as it looked at the specific time | Now | 2009-01-01T03:00:00:000Z |
format | one of text/xml, text/html, html, xml | The format of the return value | text/html | text/xml |
...
GET /objects/{pid}/datastreams/{dsID} - get datastream profile
...
GET /objects/\{pid}/datastreams/\{dsID}?\[asOfDateTime]\[validateChecksum]
Gets the datastream profile, as it looked at the specified time. The datastream profile is a datastructure containing all the datastream properties, but not the content.
...
DELETE /objects/{pid}/datastreams/{dsID} - purge datastream
...
DELETE /objects/\{pid}/datastreams/\{dsID}?\[startDT]\[endDT]\[logMessage]\[force]
Parameter | Format | Meaning | Default | Example |
---|---|---|---|---|
startDT | yyyy-MM-ddTHH:mm:ss.SSSZ | Purge the datastream versions created after this date | From the beginning | 2009-01-01T03:00:00:000Z |
endDT | yyyy-MM-ddTHH:mm:ss.SSSZ | Purge only versions created before this date | Now | 2009-01-01T03:00:00:000Z |
logMessage | String | The message to store in the log, about the purge | Empty string | "Deleted this datastream because it was not used anymore" |
force | one of true, false | Force the purge, even it it breaks a data contract. If set to true, the request will fail, a general exception will be thrown and the return code will be 500. See http://fedora-commons.org/jira/browse/FCREPO-613 | false | false |
...
PUT /objects/{pid}/datastreams/{dsID} - modify datastream
...
PUT /objects/\{pid}/datastreams/\{dsID}?\[dsLocation]\[altIDs]\[dsLabel]\[versionable]\[dsState]\[formatURI]\[checksumType]\[checksum]\[mimeType]\[logMessage]\[force]\[ignoreContent]
+ multipart file as request content
The behaivour depends on the datastream controlGroup and the content provided and the ignoreContent parameter
...
POST /objects/{pid}/datastreams/{dsID} - modify or create datastream
POST /objects/\{pid}/datastreams/\{dsID}?\[controlGroup]\[dsLocation]\[altIDs]\[dsLabel]\[versionable]\[dsState]\[formatURI]\[checksumType]\[checksum]\[mimeType]\[logMessage]
Wiki Markup
+ multipart file as request content
Modify or create a datastream. Functions almost identical to the above method PUT /objects/{pid}/datastreams/{dsID} but with a few differences. There is no ignoreContent parameter, so the functioning with dsLocation and message content is more complex.
...