This is a comparison of the current REST API and the proposed Alternative REST API. Included in the current REST API are methods newly-implemented for version 3.2 (but not yet documented) as listed in JIRA issues for 3.2. Only those methods in the proposed REST API are included where there is either a correspondence with the current REST API or where the URL syntax is similar (ie may conflict with the current REST API). The corresponding SOAP API and LITE API methods are also included for reference.
E&OE - this is a work in progress and would benefit from another pair of eyes to cross-check...
SOAP API | Current REST API | verb | Proposed REST API | verb | Notes | LITE API | verb | ||
---|---|---|---|---|---|---|---|---|---|
findObjects | /objects | GET |
|
| (1) | /search | GET | ||
resumeFindObjects | /objects | GET |
|
| (1) | /search?sessionToken={sessionid} | GET | ||
ingest | /objects/{pid} | POST |
|
| (2) |
|
| ||
(create empty object) |
|
| /objects | POST |
|
|
| ||
(create empty object with given pid) |
|
| /objects/{pid} | PUT |
|
|
| ||
purgeObject | /objects/{pid} | DELETE | /objects/{pid} | DELETE |
|
|
| ||
getObjectProfile | /objects/{pid} | GET | /objects/{pid}/properties | GET | (4)'(5) | /get/PID | GET | ||
modifyObject | /objects/{pid}?{properties to modify} | PUT | /objects/{pid}/properties/property | PUT | (3) |
|
| ||
listDatastreams | /objects/{pid}/datastreams | GET |
|
| (1) | /listDatastreams/{pid}/\{dateTime} | GET | ||
purgeDatastream | /objects/{pid}/datastreams/{dsid} | DELETE | /objects/{pid}/datastreams/{dsid} | DELETE |
|
|
| ||
getDatastream | /objects/{pid}/datastreams/{dsid} | GET | /objects/{pid}/datastreams/{dsid}/properties | GET | (4)'(5) |
|
| ||
addDatastream | /objects/{pid}/datastreams/{dsid} | POST | /objects/{pid{/datastreams/{dsid}/withControlGroup/\{cg} | PUT | (4) |
|
| ||
modifyDatastreamByReference | /objects/{pid}/datastreams/{dsid} | PUT | /objects/{pid}/datastreams/{dsid}/properties/contentLocation | PUT | (4)'(6) |
|
| ||
setDatastreamState | /objects/{pid}/datastreams/{dsid}?dsState={state} | PUT | /objects/{pid}/datastreams/{dsid}/properties/{property} | PUT | (3) |
|
| ||
setDatastreamVersionable | /objects/{pid}/datastreams/{dsid}?dversionable={true | false} | PUT | /objects/{pid}/datastreams/{dsid}/properties/{property} | PUT | (3) |
|
| |
getDatastreamDissemination | /objects/{pid}/datastreams/{dsid}/content | GET | /objects/{pid}/datastreams/{dsid} | GET | (3) | /get/{pid}/{dsid} | GET | ||
getDatastreamDissemination | /objects/{pid}/datastreams/{dsid}/content?asOfDateTime | GET | /objects/{pid}/datastreams/{dsid}/versions/timestamp/contents | GET | (3)'(7) | /get/{pid}/{dsid}/\{dateTime} | GET | ||
compareDatastreamChecksum | /objects/{pid}/datastreams/{dsid}?validateChecksum=true | GET |
|
| (2) |
|
| ||
export | /objects/{pid}/export | GET |
|
| (2)'(8) |
|
| ||
listMethods | /objects/{pid}/methods | GET | /objects/{pid}/methods | GET |
| /listMethods/{pid}/\{dateTime} | GET | ||
(list methods in sdef) | /objects/{pid}/methods/{sdef} | GET |
|
| (1) |
|
| ||
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="1794d31b-020b-4779-a9c7-881cb5d4a502"><ac:plain-text-body><![CDATA[ | getDissemination | /objects/{pid}/methods/{sdef}/{method} | GET/POST | /objects/{pid}/methods/{sdef}/{method} | GET/POST |
| /get/{pid}/{sdef}/{method}[/{dateTime} | GET | ]]></ac:plain-text-body></ac:structured-macro> |
getObjectXML | /objects/{pid}/objectXML | GET | /objects/{pid} | GET | (3)'(8) |
|
| ||
getObjectHistory | /objects/{pid}/versions | GET |
|
| (2)'(7) | /getObjectHistory/{pid} | GET | ||
getNextPID | /objects/nextPID | POST |
|
| (2) | /management/getNextPID | GET | ||
describeRepository |
|
|
|
|
| /describe | GET | ||
upload |
|
|
|
|
| /management/upload | POST | ||
getDatastreamHistory |
|
| /objects/{pid}/datastreams/{dsid}/versions | GET | (7) |
|
| ||
getDatastreams |
|
|
|
|
|
|
| ||
modifyDatastreamByValue |
|
| /objects/{pid}/datastreams/{dsid}/contents | PUT |
|
|
|