BibSonomy provides a webservice using Representational State Transfer (REST), a software architectural style for distributed hypermedia systems. The term originated in a 2000 doctoral dissertation about the web written by Roy Fielding, one of the principal authors of the HTTP protocol specification. This site is intended for developers who want to develop applications which interact with BibSonomy.
You can use the provided client library, written in Java, to access the API or you can directly interact with the webservice if you would like to write a client in a language other than Java. Furthermore, there is a customized JabRef-Client available:
| Description | HTTP | Path | Status |
|---|---|---|---|
| Users | |||
| List of all users | GET | /users |
|
| Create a user | POST | /users |
|
| Details for a user | GET | /users/[username] |
|
| Change user details | PUT | /users/[username] |
|
| Delete user | DELETE | /users/[username] |
|
| List of posts for a users | GET | /users/[username]/posts ?tags=[t1+t2+...+tn] ?resourcetype=(bibtex|bookmark) |
|
| Create post | POST | /users/[username]/posts |
|
| Details for a post | GET | /users/[username]/posts/[resourceHash] |
|
| Change post | PUT | /users/[username]/posts/[resourceHash] |
|
| Delete post | DELETE | /users/[username]/posts/[resourceHash] |
|
| List of concepts for a user | GET | /users/[username]/concepts ?status=(all|picked) |
|
| Details for a concept for a user | GET | /users/[username]/concepts/[conceptname] |
|
| Create concept | POST | /users/[username]/concepts/[conceptname] |
|
| Update concept | PUT | /users/[username]/concepts/[conceptname] |
|
| Delete concept | DELETE | /users/[username]/concepts/[conceptname] |
|
| Groups | |||
| List of all groups | GET | /groups |
|
| Create a group | POST | /groups |
|
| Details for a group | GET | /groups/[groupname] |
|
| Change group | PUT | /groups/[groupname] |
|
| Delete group | DELETE | /groups/[groupname] |
|
| List of users for a group | GET | /groups/[groupname]/users |
|
| Add user to a group | POST | /groups/[groupname]/users |
|
| Remove user from a group | DELETE | /groups/[groupname]/users/[username] |
|
| Global - Tags | |||
| List of all tags | GET | /tags ?filter=[regex] ?(user|group|viewable)=[username/groupname] |
|
| Details for a tag; details for a list of sub-/super-/correlated-tags | GET | /tags/[tag] |
|
| Substitute the shared appearance of t1,t2,... with T1,T2,... | PUT | /substitutetags ?from=[t1+t2+..]&to=[T1+T2+..] |
|
| Global - Concepts | |||
| List of popular concepts | GET | /concepts |
|
| Details for a concept | GET | /concepts/[conceptname] |
|
| Global - Posts | |||
| List of all posts | GET | /posts ?tags=[t1+t2+...+tn] ?resourcetype=(bibtex|bookmark) ?(user|group|viewable)=[username/groupname] ?resource=[hash] ?search=[search_string] |
|
| List of recent posts | GET | /posts/added ?resourcetype=(bibtex|bookmark) |
|
| List of popular posts | GET | /posts/popular ?resourcetype=(bibtex|bookmark) |
|
All URLs can be supplemented by these attributes (use start and end only with lists):
<bibsonomy stat="fail">
<error>some error message</error>
</bibsonomy>