You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 24 Next »

API endpoints

FA01 | Create bookmark

POST

/favourites/bookmarks

User permission required

Remarks

  • The parameter folderId defines all lists (folders) to add the bookmark.
    • Duplicates for folderIds are not possible because of using a set.
  • The folderId favorites is always used. If no folderId is specified, only favorites is used.
  • If the folder favorites not exists, because a new user adds the first bookmark, then the folder favorites is created.

Query parameters

NameValueOccurenceDefault
folderIdsID of folder(s)Multiple-

Request payload

Returns Bookmark JSON object:

{
	"id": "rjzgAIgBdHmpxQQKvQHm",			// Not used
	"itemId": "IVMX3IRHKU725WR2HHT6VY2AFFS72FGK",	// Required
	"description": "My important description",	// Optional
	"userId": "fachstelle_museum",			// Not used
	"type": "CULTURAL_ITEM",			// Required
	"createdAt": 1683641908448,			// Not used
	"updatedAt": 1683641908448,			// Not used
	"keywordTool": {				// Optional
		"done": true
	}
}

Response payload

Returns Bookmark JSON object:

{
	"id": "rjzgAIgBdHmpxQQKvQHm",
	"itemId": "IVMX3IRHKU725WR2HHT6VY2AFFS72FGK",
	"description": "My important description",
	"userId": "fachstelle_museum",
	"type": "CULTURAL_ITEM",
	"createdAt": 1683641908448,
	"updatedAt": 1683641908448,
	"keywordTool": {
		"done": true
	}
}

Status codes

  • 200 = Bookmark created
  • 400 = Item Id is missing (required)
  • 401 = User is not authorized
  • 500 = Internal server error

Related Use Case(s)

  • UC01 | Create bookmark
    • The user selects an object from an object list as a favorite.

Example call(s)

  • Create bookmark in only main folder
    • GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks
  • Create bookmark in main folder and two additional folders
    • GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks?folderIds=Sjszo4cBdHmpxQQKUvah&folderIds=rjwQKYgBdHmpxQQKKgSs



FA02 | Retrieve bookmark

GET

/favourites/bookmarks/{id}

User permission required

Request payload

Returns User JSON object:

{
    "nickname": "testuser-ri",
    "email": "testuser-ri@ddb.de",
    "pswd": "testuser-ri"
}

Response payload

Returns User JSON object:

{
    "id": "cb5d9c5810e985e7beda092b22e1e480",
    "nickname": "testuser-ri",
    "status": "CONFIRMED",
    "surName": "surname is unknown",
    "email": "testuser-ri-1@ddb.de",
    "created": "2024-01-31T12:13:30",
    "creatorId": "anonymous",
    "modified": "2024-01-31T12:13:30",
    "modifierId": "anonymous"
}

Status codes

  • 200 = Bookmark found
  • 401 = User is not authorized
  • 404 = Bookmark ID not found
  • 500 = Internal server error

Related Use Case(s)

  • All info of a bookmark is retrieved to display it in the frontend.



FA03 | Retrieve bookmarks

GET

/favourites/bookmarks

User permission required

Query parameters

NameValueOccurenceDefault
folderIdsID of folder(s)Multiple-

Request payload

Returns User JSON object:

{
    "nickname": "testuser-ri",
    "email": "testuser-ri@ddb.de",
    "pswd": "testuser-ri"
}

Response payload

Returns User JSON object:

{
    "id": "cb5d9c5810e985e7beda092b22e1e480",
    "nickname": "testuser-ri",
    "status": "CONFIRMED",
    "surName": "surname is unknown",
    "email": "testuser-ri-1@ddb.de",
    "created": "2024-01-31T12:13:30",
    "creatorId": "anonymous",
    "modified": "2024-01-31T12:13:30",
    "modifierId": "anonymous"
}

Status codes

  • 200 = Bookmark(s) found
  • 400 = Missing some search params
  • 401 = User not authorized
  • 500 = Internal server error

Related Use Case(s)

  • Bookmarks according to certain criteria are retrieved to be displayed in the frontend.



FA04 | Update bookmark

PUT

/favourites/bookmarks/{id}

User permission required

Remarks

  • The parameter folderId defines all lists (folders) to add the bookmark.
    • Duplicates for folderIds are not possible because of using a set.
  • The folderId favorites is always used. If no folderId is specified, only favorites is used.
  • If the folder favorites not exists, because a new user adds the first bookmark, then the folder favorites is created.

Query parameters

NameValueOccurenceDefault
userIdID of userOnce-
itemIdsList of IDsMultiple-
offsetBeginn offset of resultsOnce-1
sizeSize data of resultsOnce-1

Request payload

Returns User JSON object:

{
    "nickname": "testuser-ri",
    "email": "testuser-ri@ddb.de",
    "pswd": "testuser-ri"
}

Response payload

Returns User JSON object:

{
    "id": "cb5d9c5810e985e7beda092b22e1e480",
    "nickname": "testuser-ri",
    "status": "CONFIRMED",
    "surName": "surname is unknown",
    "email": "testuser-ri-1@ddb.de",
    "created": "2024-01-31T12:13:30",
    "creatorId": "anonymous",
    "modified": "2024-01-31T12:13:30",
    "modifierId": "anonymous"
}

Status codes

  • 200 = Bookmark updated
  • 401 = User is not authorized
  • 404 = Bookmark ID not found
  • 500 = Internal server error

Related Use Case(s)

  • UC07 | Change bookmark description
    • A user changes the description of a bookmark.



FA05 | Delete bookmark

DELETE

/favourites/bookmarks/{id}

User permission required

Query parameters

NameValueOccurenceDefault
folderIdsID of folder(s)Multiple-

Request payload

Returns User JSON object:

{
    "nickname": "testuser-ri",
    "email": "testuser-ri@ddb.de",
    "pswd": "testuser-ri"
}

Response payload

Returns User JSON object:

{
    "id": "cb5d9c5810e985e7beda092b22e1e480",
    "nickname": "testuser-ri",
    "status": "CONFIRMED",
    "surName": "surname is unknown",
    "email": "testuser-ri-1@ddb.de",
    "created": "2024-01-31T12:13:30",
    "creatorId": "anonymous",
    "modified": "2024-01-31T12:13:30",
    "modifierId": "anonymous"
}

Status codes

  • 200 = Bookmark deleted
  • 401 = User is not authorized
  • 404 = Bookmark ID not found
  • 500 = Internal server error

Related Use Case(s)

  • UC06 | Delete bookmarks in All Favorites
    • A user deletes a bookmark from favorites (and the rest of the lists).



FA06 | Create folder

POST

/favourites/folders

User permission required

Request payload

Returns User JSON object:

{
    "nickname": "testuser-ri",
    "email": "testuser-ri@ddb.de",
    "pswd": "testuser-ri"
}

Response payload

Returns User JSON object:

{
    "id": "cb5d9c5810e985e7beda092b22e1e480",
    "nickname": "testuser-ri",
    "status": "CONFIRMED",
    "surName": "surname is unknown",
    "email": "testuser-ri-1@ddb.de",
    "created": "2024-01-31T12:13:30",
    "creatorId": "anonymous",
    "modified": "2024-01-31T12:13:30",
    "modifierId": "anonymous"
}

Status codes

  • 200 = Folder created
  • 400 = Title attribute is missing
  • 401 = User is not authorized
  • 409 = Folder already exists
  • 500 = Internal server error

Related Use Case(s)

  • UC05 | Add personal folder
    • A user creates a personal folder.



FA07 | Add bookmark to folder

POST

/favourites/{id}/bookmarks

User permission required

Remarks

  • A bookmark could not be added to the main folder (favorites), because it is added to this folder when you create a bookmark.
  • The folder ID and bookmark ID must exist before adding something.

Query parameters

NameValueOccurenceDefault
bookmarkIdID of bookmark to addOnce-

Request payload

Returns User JSON object:

{
    "nickname": "testuser-ri",
    "email": "testuser-ri@ddb.de",
    "pswd": "testuser-ri"
}

Response payload

Returns User JSON object:

{
    "id": "cb5d9c5810e985e7beda092b22e1e480",
    "nickname": "testuser-ri",
    "status": "CONFIRMED",
    "surName": "surname is unknown",
    "email": "testuser-ri-1@ddb.de",
    "created": "2024-01-31T12:13:30",
    "creatorId": "anonymous",
    "modified": "2024-01-31T12:13:30",
    "modifierId": "anonymous"
}

Status codes

  • 200 = Bookmarks added
  • 400 = Bookmark ID not exist
  • 401 = User is not authorized
  • 404 = Folder ID not exist
  • 500 = Internal server error

Related Use Case(s)

  • UC02 | Assign bookmarks to selected lists
    • A user stores bookmarks (additionally) in personal lists.
  • UC08 | Copy bookmarks from All Favorites to personal lists
    • A user copies bookmarks into personal lists.
  • UC14 | Copy bookmarks to another personal list
    • A user copies bookmarks from a personal list to other personal lists.



FA08 | Retrieve folder

GET

/favourites/folders/{id}

User permission required

Request payload

Returns User JSON object:

{
    "nickname": "testuser-ri",
    "email": "testuser-ri@ddb.de",
    "pswd": "testuser-ri"
}

Response payload

Returns User JSON object:

{
    "id": "cb5d9c5810e985e7beda092b22e1e480",
    "nickname": "testuser-ri",
    "status": "CONFIRMED",
    "surName": "surname is unknown",
    "email": "testuser-ri-1@ddb.de",
    "created": "2024-01-31T12:13:30",
    "creatorId": "anonymous",
    "modified": "2024-01-31T12:13:30",
    "modifierId": "anonymous"
}

Status codes

  • 200 = Folder found
  • 401 = User is not authorized
  • 404 = Folder not exist
  • 500 = Internal server error

Related Use Case(s)

  • All info of a list is retrieved to display it in the frontend.



FA09 | Retrieve bookmarks of a folder

GET

/favourites/folders/{id}/bookmarks

User permission required

Request payload

Returns User JSON object:

{
    "nickname": "testuser-ri",
    "email": "testuser-ri@ddb.de",
    "pswd": "testuser-ri"
}

Response payload

Returns User JSON object:

{
    "id": "cb5d9c5810e985e7beda092b22e1e480",
    "nickname": "testuser-ri",
    "status": "CONFIRMED",
    "surName": "surname is unknown",
    "email": "testuser-ri-1@ddb.de",
    "created": "2024-01-31T12:13:30",
    "creatorId": "anonymous",
    "modified": "2024-01-31T12:13:30",
    "modifierId": "anonymous"
}

Status codes

  • 200 = Folder found
  • 401 = User not authorized
  • 404 = Folder not exist
  • 500 = Internal server error

Related Use Case(s)

  • UC04 | Retrieve bookmarks of a list
    • The user retrieves bookmarks of a specified list.



FA10 | Retrieve folders

GET

/favourites/folders

User permission required

Query parameters

NameValueOccurenceDefault
userIdID of userOnce-
titleTitle of folderOnce-
offsetBeginn offset of resultsOnce-1
sizeSize data of resultsOnce-1

Request payload

Returns User JSON object:

{
    "nickname": "testuser-ri",
    "email": "testuser-ri@ddb.de",
    "pswd": "testuser-ri"
}

Response payload

Returns User JSON object:

{
    "id": "cb5d9c5810e985e7beda092b22e1e480",
    "nickname": "testuser-ri",
    "status": "CONFIRMED",
    "surName": "surname is unknown",
    "email": "testuser-ri-1@ddb.de",
    "created": "2024-01-31T12:13:30",
    "creatorId": "anonymous",
    "modified": "2024-01-31T12:13:30",
    "modifierId": "anonymous"
}

Status codes

  • 200 = Folder(s) found
  • 400 = Missing some search params
  • 401 = User not authorized
  • 500 = Internal server error

Related Use Case(s)

  • UC03 | Listennamen eines Benutzers abrufen
    • The user retrieves bookmarks of a specified list.



FA11 | Update folder

POST

/favourites/folders/{id}

User permission required

Query parameters

NameValueOccurence
folderIdsID of folder(s)Multiple

Request payload

Returns User JSON object:

{
    "nickname": "testuser-ri",
    "email": "testuser-ri@ddb.de",
    "pswd": "testuser-ri"
}

Response payload

Returns User JSON object:

{
    "id": "cb5d9c5810e985e7beda092b22e1e480",
    "nickname": "testuser-ri",
    "status": "CONFIRMED",
    "surName": "surname is unknown",
    "email": "testuser-ri-1@ddb.de",
    "created": "2024-01-31T12:13:30",
    "creatorId": "anonymous",
    "modified": "2024-01-31T12:13:30",
    "modifierId": "anonymous"
}

Status codes

  • 200 = Folder updated
  • 401 = User not authorized
  • 404 = Folder ID not found
  • 500 = Internal server error

Related Use Case(s)

  • UC09 | Publish or privatize personal list
    • A user publishes a list or make a published list private again.
  • UC10 | Change properties of personal list
    • Furthermore, the user can change name, description, private/public, name abbreviation of a personal list.



FA12 | Delete folder

DELETE

/favourites/folders/{id}

User permission required

Query parameters

NameValueOccurence
folderIdsID of folder(s)Multiple

Request payload

Returns User JSON object:

{
    "nickname": "testuser-ri",
    "email": "testuser-ri@ddb.de",
    "pswd": "testuser-ri"
}

Response payload

Returns User JSON object:

{
    "id": "cb5d9c5810e985e7beda092b22e1e480",
    "nickname": "testuser-ri",
    "status": "CONFIRMED",
    "surName": "surname is unknown",
    "email": "testuser-ri-1@ddb.de",
    "created": "2024-01-31T12:13:30",
    "creatorId": "anonymous",
    "modified": "2024-01-31T12:13:30",
    "modifierId": "anonymous"
}

Status codes

  • 200 = Folder deleted
  • 400 = Folder favorite could not be deleted
  • 401 = User not authorized
  • 404 = Folder ID not found
  • 500 = Internal server error

Related Use Case(s)

  • UC11 | Remove personal list with bookmarks
    • The user deletes a personal list with the contained bookmarks.



FA13 | Delete bookmark from folder

DELETE

/favourites/folders/{id}/bookmarks/{bookmarkId}

User permission required

Remarks

  • A bookmark could not be deleted from the main folder (favorites), because this is done only if the bookmark is deleted (see Delete Bookmark).
  • The folder ID and bookmark ID must exist before deleting something.

Request payload

Returns User JSON object:

{
    "nickname": "testuser-ri",
    "email": "testuser-ri@ddb.de",
    "pswd": "testuser-ri"
}

Response payload

Returns User JSON object:

{
    "id": "cb5d9c5810e985e7beda092b22e1e480",
    "nickname": "testuser-ri",
    "status": "CONFIRMED",
    "surName": "surname is unknown",
    "email": "testuser-ri-1@ddb.de",
    "created": "2024-01-31T12:13:30",
    "creatorId": "anonymous",
    "modified": "2024-01-31T12:13:30",
    "modifierId": "anonymous"
}

Status codes

  • 200 = Bookmark in Folder deleted
  • 400 = Bookmark ID not found
  • 401 = User not authorized
  • 404 = Folder ID not found
  • 500 = Internal server error

Related Use Case(s)

  • FA13 | Delete bookmark from list
    • A bookmark is removed from a personal list.



FA14 | Delete all bookmarks and folders

DELETE

/favourites/folders

User permission required

Query parameters

NameValueOccurenceDefault
userIdID of user to deleteOnce-

Request payload

Returns User JSON object:

{
    "nickname": "testuser-ri",
    "email": "testuser-ri@ddb.de",
    "pswd": "testuser-ri"
}

Response payload

Returns User JSON object:

{
    "id": "cb5d9c5810e985e7beda092b22e1e480",
    "nickname": "testuser-ri",
    "status": "CONFIRMED",
    "surName": "surname is unknown",
    "email": "testuser-ri-1@ddb.de",
    "created": "2024-01-31T12:13:30",
    "creatorId": "anonymous",
    "modified": "2024-01-31T12:13:30",
    "modifierId": "anonymous"
}

Status codes

  • 200 = Bookmarks and Folders deleted
  • 401 = User not authorized
  • 404 = User ID not found
  • 500 = Internal server error

Related Use Case(s)

  • A user deletes his account. Then the system first deletes all bookmarks in all lists of the user. Then all lists including favorites are deleted.


  • No labels