Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Note
titleFurther development

This is the page describing GSoC 2010 project ended officially in August 2010. The REST API project is continued after official GSoC date. The new address of wiki page is located at https://wiki.duraspace.org/display/DSPACE/REST+API. Please bookmark this page as all further development will be described there. Current GSoC page stays here for historical/documentation purposes.

DSpace REST API - Bojan Suzic

...

C

Verb

URL

Description

Mandatory parameters

Optional parameters

Sorting fields

Response Data

Formats

Response codes

 

GET

/communities

Returns a list of all communities on the system or return just top level communities.

-

DSPACE:topLevelOnly=true
DSPACE:idOnly=false

DSPACE:id 
DSPACE:name
DSPACE:countitems

The list of communities containing DSPACE:respective fields .

Response code details:
204 - if there are no communities on the system

json
xml

DSPACE:200, 204, 400, 500

 

GET

/communities/{id}

Return detailed information about id community.

id

idOnly=false

-

DSPACE:Fields describing community.

json
xml

DSPACE:200, 400, 404, 500

 

GET

/communities/{id}/{element}

Return a particular data field found in the community id

Anchor
com_elements
com_elements
Fields supported (for element):
id - entity identifier, internal to the system
name - entity name
countItems - number of items under community
handle - handle of the community (unique persistent resource identifier)
type - entity type (object type in the system)
collections - collections contained in the community, ordered by id
canedit - states user persmission on the community (editing)
anchestor - anchestors of the community
children - subcommunities, ordered by id
administrators - group administrators, ordered by id
recent - recent items in the community
shortDescription - short description
copyrightText - copyright text
sidebarText - sidebar text
introductoryText - introductory text


id

DSPACE:idOnly=false  
DSPACE:immediateOnly=true

DSPACE:id
DSPACE:name
DSPACE:countitems

Respective field info 

json
xml

DSPACE:200, 204, 400, 500

 

GET

/communities/{id}/logo

Return a community logo

id

-

-

Contains community logo (bitstream)

binary

DSPACE:200, 400

 

GET

/collections

Return a list of all collections in the system.

-

DSPACE:idOnly=false
DSPACE:isAuthorized=false

DSPACE:id 
DSPACE:name 
DSPACE:countitems

The list of the collections containing DSPACE:respective fields.

Response code details: 
204 - if there are no communities on the system

json
xml

DSPACE:200, 204, 400, 500

 

GET

/collections/{id}

Return detailed information about id collection

id

DSPACE:idOnly=false

DSPACE:id
DSPACE:name
DSPACE:countitems

DSPACE:Fields of the collection entity.

json
xml

DSPACE:200, 204, 400, 500

 

GET

/collections/{id}/{element}

Return a particular data field found in the collection id.

Anchor
col_elements
col_elements
Fields supported (for element):
id - entity identifier, internal to the system
name - collection name 
licence - collection licence
items - items contained in collection
handle - handle of the collection (unique persistent resource identifier)
canedit - states user permission on the collection (edit)
communities - communities collection is a part of
countItems - number of the items in the collection
type - entity type (object type in the system)
shortDescription - short description of the collection
introText - introductory text for the collection
copyrightText - copyright text for the collection
sidebarText - sidebar text for the collection
provenance - provenance

id

DSPACE:idOnly=false
DSPACE:immediateOnly=true

DSPACE:id 
DSPACE:name
DSPACE:countitems

Respective field info

json
xml

DSPACE:200, 204, 400, 500

 

GET

/items

Return a list of the items in the system

-

-

-

The list of the items containing DSPACE:related fields .

Response code details: 
204 - if there are no communities on the system

 

 

 

GET

/items/{id}

Return detailed information about an item.

id

-

id 
name 
lastmodified
submitter

DSPACE:Fields of the item entity.

json 
xml

200, 204, 400, 500

 

GET

/items/{id}/{element}

Return a particular data field fould in the item id

Anchor
ite_elements
ite_elements
Fields supported (for element):
metadata - item metadata 
submitter - submitter group
isArchived - archival status of the item
isWithdrawn - states if the item is withdrawn
owningCollection - owning collection of the item
lastModified - last modified time
collections - collections the item appears in
communities - communities the item appears is
name - name of the item
bitstreams - bitstreams related to the  item
handle - item handle (unique identified)
canedit - states can user edit the item
id - item id 
type - element type
bundles - bundles related to the item

id, element

-

-

Respective field info

json
xml

200, 204, 400, 500

 

GET

/bitstream/{id}

Return bitstream object - usually the library item file.

id

-

-

DSPACE:Fields of the bitstream entity. 

json, xml

200, 400, 401, 403, 404, 500

 

GET

/bitstream/{id}/{element

Return a particular data field found in bitstream id.

Anchor
bit_elements
bit_elements

Supported fields (for element):
mimeType -  mime type of file
bundles - bundles the bitstream is a part of
checkSum - checksum of the file
checkSumAlgorithm - checksum algorithm used
description - bitstream description
formatDescription - file format description
sequenceId - sequence id of the file
size - size of the file 
source - source (typically filename with path information)
storeNumber - asset store number where the bitstream is stored
userFormatDescription - user's format description
name - bitstream name
handle - unique id of the bitstream
id - internal id of the bitstream
type - type of the entity (referring to bitstream)

id, element

-

-

Respective field info

json, xml

200, 400, 401, 403, 404, 500

 

GET

/bitstream/{id}/receive

Return bitstream

id

-

-

Return bitstream

binary

200, 400, 401, 403, 404, 500

 

GET

/groups

Return a list of the groups in the system

-

-

-

The list of the groups containing related DSPACE:fields .

204 if there are no groups in the system.

json,xml

200, 204, 400, 500

 

GET

/groups/{id}

Return a group object

id

-

-

DSPACE:Fields of the group entity.

json,xml

200, 204, 400, 500

 

GET

/groups/{id}/{element}

Return a particular data field found in the group entity id.

Anchor
gro_elements
gro_elements

Supported fields (for element):
handle - unique id (external)
id - internal id of the gruop
isEmpty - is the group empty
members - group members (as users)
memberGroups - group members (as groups)
name - group name
type - entity type (referring to group)

id, element

-

-

Respective field info

json,xml

200, 204, 400, 500

 

GET

/users

Return a list of the users in the system

-

-

-

The list of the users containing related DSPACE:fields .

json,xml

200,204,400,500

 

GET

/users/{id}

Return a user info

id

-

-

DSPACE:Fields of the user entity.

json,xml

200,204,400,500

 

GET

/users/{id}/{element}

Return a particular data field found in the user id.

Anchor
use_elements
use_elements

Supported fields (for element):
email - user's email
firstName - first name
fullName - full name
handle - handle (unique, external)
id - internal id of the user
language - preferred language
lastName - last name
name - name 
netId - network id
requireCertificate - requires certificate to login
selfRegistered - is user self registered
type - type of the object

id,element

-

-

Respective field info

json,xml

200,204,400,500

...

C

Verb

URL

Description

Mandatory parameters

Optional parameters

Sorting fields

Response Data

Formats

Response codes


GET

/resource/{handle}/relations

Return entities according to relation and parameters specified

handle 
DSPACE:property

DSPACE:rtype
rfield

-

ontains entities selected and sorted in conformance to request parameters. For more details see description of rtype andrfield.

json 
xml

DSPACE:200, 204, 400, 401, 403, 500

...