...
API endpoints
FA01 | Create bookmark
POST | /favourites/bookmarks |
---|
User permission required
...
- The parameter folderIds defines folders for adding the new created bookmark.
- The JSON properties itemId and (bookmark) type must exist.
- In portal DDB the folderId favorites must always used.
Query parametersparameters
Name | Value | Occurence | Default | Required |
---|---|---|---|---|
folderIds | ID of folder(s) | Multiple | - | Yes, at least one folderId |
Request payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "id": "rjzgAIgBdHmpxQQKvQHm", // Not used "itemId": "IVMX3IRHKU725WR2HHT6VY2AFFS72FGK", // Required "description": "My important description", // Optional "userId": "fachstelle_museum", // Not used "type": "CULTURAL_ITEM", // OptionalRequired "createdAt": 1683641908448, // Not used "updatedAt": 1683641908448, // Not used "keywordTool": { // Optional "done": True } } |
...
- Create bookmark in two folders (If DDB the favorites folder must be one of the folderIds)
- POST https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks?folderIds=Sjszo4cBdHmpxQQKUvah&folderIds=rjwQKYgBdHmpxQQKKgSs
...
FA02 | Retrieve bookmark
GET | /favourites/bookmarks/{id} |
---|
...
- Retrieve bookmark
- GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks/YzxuJIsBdHmpxQQKPSya
...
FA03 | Retrieve bookmarks
...
GET | /favourites/bookmarks |
---|
User permission required
...
Name | Value | Occurence | Default | Required |
---|---|---|---|---|
userId | ID of user | Once | - | At least userId or one itemId required |
itemIds | IDs of items | Multiple | - | At least userId or one itemId required |
offset | Offset of result | Once | -1 | Optional |
size | Length of result | Once | -1 | Optional |
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "query": "user:"73611165cc142ae53176707d5a92e8f3", "total": 4, "offset": 0, "size": 9999, "bookmarks": [ { "id": "rjzgAIgBdHmpxQQKvQHm", "itemId": "IVMX3IRHKU725WR2HHT6VY2AFFS72FGK", "description": "", "userId": "fachstelle_museum", "type": "CULTURAL_ITEM", "createdAt": 1683641908448, "updatedAt": 1683641908448, "keywordTool": { "done": False }, }, { "id": "nDxWtIgBdHmpxQQKNxNQ", "itemId": "IVMX3IRHKU725WR2HHT6VY2AFFS72FGK", "description": "Neues Lesezeichen", "userId": "fachstelle_museum", "type": "CULTURAL_ITEM", "createdAt": 1683641908448, "updatedAt": 1683641908448, "keywordTool": { "done": False }, } ] } |
...
- Retrieve all bookmarks by user
- GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks?userId=fachstelle_museum
- Retrieve all bookmarks by user and item ids
- GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks?userId=fachstelle_museum&itemIds=itemId________________________01
...
FA04 | Update bookmark
PUT | /favourites/bookmarks/{id} |
---|
...
- Update bookmark
- PUT https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks/YzxuJIsBdHmpxQQKPSya
...
FA05 | Delete bookmark
DELETE | /favourites/bookmarks/{id} |
---|
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "took": 11, "errors": false, "result": [ { "id": "TC05____________BM01", "index": "bookmark", "statusCode": 200, "result": "deleted" } ], "statusCode": 200, "statusMessage": null } |
...
- Delete bookmark
- DELETE https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks/ZTxuJIsBdHmpxQQKUSwX
...
FA06 | Create folder
POST | /favourites/folders |
---|
User permission required
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"id": "73611165cc142ae53176707d5a92e8f3", // Not used
"portal": "DDB", // Required | Allowed values are: DDB or NEWSPAPER
"title": "favorites", // Required
"description": "Das ist ein Test!", // Optional
"userId": "fachstelle_museum", // Not used
"publishingName": "xxx", // Optional
"createdAt": 1682070216141, // Not used
"updatedAt": 1683642142482, // Not used
"bookmarkIds": [ // Optional
"MESR_IcBosJ3rUWzhkJj",
"rjzgAIgBdHmpxQQKvQHm"
],
"institutionIds": [ // Optional
"MESR_IcBosJ3rUWzhkJj"
],
"blockingToken": "Test", // Optional
"blocked": true, // Optional
"published": true, // Optional
"keywordTool": { // Optional
"sentToAdmin": false
}
} |
...
- 200 = Folder created
- 400 = Title attribute Property title is missing or Portal attribute Property portal is wrongunkown
- 401 = User is not authorized
- 409 = Folder already exists
- 500 = Internal server error
...
- Create folder
- POST https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders
...
FA07 | Add bookmark to folder
POST | /favourites/folders/{idfolderId}/bookmarks |
---|
User permission required
Remarks
- Only DDB portal: 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.
...
Name | Value | Occurence | Default | Required |
---|---|---|---|---|
bookmarkId | ID of bookmark to add | Once | - | Yes |
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.
- A user copies bookmarks from a personal list to other personal lists.
Example call(s)
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"id": "TC07____________FL01",
"index": "folder",
"statusCode": 200,
"result": "updated"
} |
Status codes
- 200 = Bookmark 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.
- A user copies bookmarks from a personal list to other personal lists.
Example call(s)
- Add bookmark to folder
- POST https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders/ZjxwJIsBdHmpxQQKjyxB/bookmarks?bookmarkId=ZTxuJIsBdHmpxQQKUSwX
...
FA08 | Retrieve folder
GET | /favourites/folders/{id} |
---|
User permission required
Response payload
Free access to published DDB folders and all NEWSPAPER folders
Login required for user folders
Remarks
- Endpoint could be used in 3 usage modes
Usage modes
Mode | Description | Login required |
---|---|---|
DDB | Retrieve published DDB folder | No |
Newspaper | Retrieve any Newspaper folder | No |
User | Retrieve user folder | Yes |
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
Code Block | ||||||||
| ||||||||
{ "id": "73611165cc142ae53176707d5a92e8f3" "portal": "DDB", "title": "favorites", "description": "Das ist ein Test!", "userId": "fachstelle_museum", "publishingName": "xxx", "createdAt": 1682070216141, "updatedAt": 1683642142482, "bookmarksIds": [ "MESR_IcBosJ3rUWzhkJj", "rjzgAIgBdHmpxQQKvQHm" ], "institutionIds": [ "MESR_IcBosJ3rUWzhkJj" ], "blockingToken": "Test", "blocked": true, "published": true, "keywordTool": { "sentToAdmin": false } } |
...
- Retrieve folder
- GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders/ZjxwJIsBdHmpxQQKjyxB
...
FA09 | Retrieve bookmarks of a folder
GET | /favourites/folders/{id}/bookmarks |
---|
User permission required
Response payload
Free access to published DDB folders and all NEWSPAPER folders
Login required for user folders
Remarks
- Endpoint could be used in 3 usage modes
Usage modes
Mode | Description | Login required |
---|---|---|
DDB | Retrieve bookmarks of published DDB folder | No |
Newspaper | Retrieve bookmarks of any Newspaper folder | No |
User | Retrieve bookmarks of an user folder | Yes |
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Code Block | ||||||||
| ||||||||
{ "query": "user:"73611165cc142ae53176707d5a92e8f3" AND folder:"p0Qyo4cBosJ3rUWznjiY"", "total": 4, "offset": 0, "size": 9999, "bookmarks": [ { "id": "rjzgAIgBdHmpxQQKvQHm", "itemId": "IVMX3IRHKU725WR2HHT6VY2AFFS72FGK", "description": "", "userId": "fachstelle_museum", "type": "CULTURAL_ITEM", "createdAt": 1683641908448, "updatedAt": 1683641908448, "keywordTool": { "done": False }, }, { "id": "nDxWtIgBdHmpxQQKNxNQ", "itemId": "IVMX3IRHKU725WR2HHT6VY2AFFS72FGK", "description": "Neues Lesezeichen", "userId": "fachstelle_museum", "type": "CULTURAL_ITEM", "createdAt": 1683641908448, "updatedAt": 1683641908448, "keywordTool": { "done": False }, } ] } |
...
- Retrieve bookmarks of folder
- GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders/vJ2GGYsBYUgoK0Rzg70n/bookmarks
...
FA10 | Retrieve folders
GET | /favourites/folders |
---|
Free access to published DDB folders and all NEWSPAPER folders
User permission required
Query parameters
Login required for user folders
Remarks
- Endpoint could be used in 3 usage modes
Usage modes
Mode | Description | Possible params | Login required |
---|---|---|---|
Institution | Search folders by a DDB institution | Only institution param used | No |
Public | Search published DDB folders | Params not used | No |
User | Search user folders | Any combination of userId/portal/title | Yes |
Query parameters
Name | Value | Occurence | Default | Required | |
---|---|---|---|---|---|
userId | |||||
Name | Value | Occurence | Default | Required | |
userId | ID of user | Once | - | At least userId or title required | |
portal | Name of used portal | Once | DDB | Optional for DDB, | elsefor other portals required |
title | Title of folder | Once | - | At least userId or title required | |
institution | ID of institution | Once | - | Only ID of institution | |
offset | Beginn offset of results | Once-1 | 0 (Solr default is used) | Optional | |
size | Size data of results | Once-1 | 10 (Solr default is used) | Optional |
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "query": "user:"73611165cc142ae53176707d5a92e8f3"", "total": 19, "offset": 0, "size": 9999, "folders": [ { "id": "Sjszo4cBdHmpxQQKUvah", "portal": "DDB", "title": "Schiller", "description": "", "userId": "fachstelle_museum", "publishingName": "dio", "createdAt": 1682070262371, "updatedAt": 1683642142787, "bookmarksIds": ["MUSR_IcBosJ3rUWzmkLU"], "institutionIds": Null, "blockingToken": "", "keywordTool": { "sentToAdmin": false }, "blocked": false, "published": true}, { "id": "rjwQKYgBdHmpxQQKKgSs", "portal": "DDB", "title": "favorites", "description": "Das ist ein Test!", "userId": "fachstelle_museum", "publishingName": "xxx", "createdAt": 1682070216141, "updatedAt": 1683642142482, "bookmarksIds": [], "institutionIds": none, "blockingToken": "Test", "keywordTool": { "sentToAdmin": false }, "blocked": true, "published": true } ] } |
...
- 200 = Folder(s) found
- 400 = Missing some search paramsparam(s)
- 401 = User not authorized
- 500 = Internal server error
...
- UC03 | Listennamen eines Benutzers abrufen
- The user retrieves bookmarks of a specified list.
- The user retrieves bookmarks of a specified list.
Example call(s)
- Retrieve folder folders by user
- GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders?userId=fachstelle_museum&portal=DDBNEWSPAPER
- Retrieve folder folders by user and title
- GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders?userId=fachstelle_museum&portal=DDB&title=favorites
...
FA11 | Update folder
POST | /favourites/folders/{id} |
---|
User permission required
Remarks
- Only DDB portal: The folder favorites is protected and could not be modified.
Request payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "id": "Sjszo4cBdHmpxQQKUvah", // Not used "portal": "DDB", // Required "title": "favorites", // Optional "description": "Das ist ein Test!", // Optional "userId": "fachstelle_museum", // Not used "publishingName": "xxx", // Optional "createdAt": 1682070216141, // Not used "updatedAt": 1683642142482, // Not used "bookmarksIds": [ // Optional "MESR_IcBosJ3rUWzhkJj", "rjzgAIgBdHmpxQQKvQHm" ], "institutionIds": [ // Optional "MESR_IcBosJ3rUWzhkJj" ], "blockingToken": "Test", // Optional "blocked": true, // Optional "published": true, // Optional "keywordTool": { // Optional "sentToAdmin": false } } |
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "id": "Sjszo4cBdHmpxQQKUvah", "portal": "DDB", "title": "favorites", "description": "Das ist ein Test!", "userId": "fachstelle_museum", "publishingName": "xxx", "createdAt": 1682070216141, "updatedAt": 1683642142482, "bookmarksIds": [ "MESR_IcBosJ3rUWzhkJj", "rjzgAIgBdHmpxQQKvQHm" ], "institutionIds": [ "MESR_IcBosJ3rUWzhkJj" ], "blockingToken": "Test", "blocked": true, "published": true, "keywordTool": { "sentToAdmin": false } } |
Status codes
- 200 = Folder updated
- 400 = Folder favorites could not be modified (Only for DDB portal)
- 401 = User not authorized
- 404 = Folder ID not found
- 500 = Internal server error
...
- Update folder
- POST https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders/wJ2JGYsBYUgoK0RzI71_
...
FA12 | Delete folder
DELETE | /favourites/folders/{id} |
---|
User permission required
Status codes
Remarks
- Only DDB portal: The folder favorites is protected and
- 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.
- The user deletes a personal list with the contained bookmarks.
Example call(s)
- Delete folder
- DELETE https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders/wJ2JGYsBYUgoK0RzI71_
FA13 | Delete bookmark from folder
...
DELETE
...
/favourites/folders/{id}/bookmarks/{bookmarkId}
- here.
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"id": "TC12____________FL01",
"index": "folder",
"statusCode": 200,
"result": "deleted"
} |
Status codes
- 200 = Folder deleted
- 400 = Folder favourites could not be deleted (Only for DDB portal)
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.
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)
- UC11 | Remove personal list with bookmarks
- The user deletes
- A bookmark is removed from a personal list with the contained bookmarks.
Example call(s)
- Delete bookmarks from folder
- DELETE https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders/wJ2JGYsBYUgoK0RzI71_/bookmarks/vp2GGYsBYUgoK0Rzh71c
FA14 | Delete all bookmarks and folders
...
DELETE
...
/favourites/folders
User permission required
Query parameters
...
FA13 | Remove bookmark from folder
DELETE | /favourites/folders/{id}/bookmarks/{bookmarkId} |
---|
User permission required
Remarks
- The folder ID and bookmark ID must exist before deleting something.
- Only for DDB portal:A bookmark could not be deleted from the main folder (favorites), because this is done only if the bookmark is deleted (see Delete Bookmark).
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"id": "TC13____________FL01",
"index": "folder",
"statusCode": 200,
"result": "updated"
} |
Status codes
- 200 = Bookmark in Folder deleted
- 400 = Bookmark ID not found
- Only for DDB portal:Folder ID of favourites is used.
- 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.
- A bookmark is removed from a personal list.
Example call(s)
- Delete bookmarks from folder
- DELETE https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders/wJ2JGYsBYUgoK0RzI71_/bookmarks/vp2GGYsBYUgoK0Rzh71c
...
FA14 | Delete all bookmarks and folders
DELETE | /favourites/folders |
---|
User permission required
Remarks
- This endpoint deletes all stored bookmarks and folders from a user for every portal.
Query parameters
Name | Value | Occurence | Default | Required |
---|---|---|---|---|
userId | ID of user to delete | Once | - | Yes |
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"took": 0,
"errors": false,
"result": [
{
"id": "TC14____________BM02",
"index": "bookmark",
"statusCode": 200,
"result": "deleted"
},
{
"id": "TC14____________BM01",
"index": "bookmark",
"statusCode": 200,
"result": "deleted"
},
{
"id": "TC14____________FL01",
"index": "folder",
"statusCode": 200,
"result": "deleted"
},
{
"id": "TC14____________FL02",
"index": "folder",
"statusCode": 200,
"result": "deleted"
},
{
"id": "TC14____________FL03",
"index": "folder",
"statusCode": 200,
"result": "deleted"
},
{
"id": "TC14____________FL04",
"index": "folder",
"statusCode": 200,
"result": "deleted"
}
],
"statusCode": 200,
"statusMessage": "All folders and bookmarks for user <jean_paul> deleted"
} |
Status codes
- 200 = Bookmarks and Folders deleted
- 401 = User not authorized
- 404 = No folders found for given User ID
- 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.
Example call(s)
- Delete all bookmarks and folders
- DELETE https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders?userId=fachstelle_museum
...
FA15 | Download newspaper pages as ZIP
POST | /favourites/download |
---|
User permission required
Remarks
- Only valid formats are possible. If an invalid format will be used, then the request will rejected with 400 Bad Request.
Request payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"bookmarkIds": [
"TC15____________BM01",
"TC15____________BM02",
"TC15____________BM03",
"TC15____________BM04",
"TC15____________BM05",
"TC15____________BM06"
],
"formats": [
"TXT", "CSV", "ALTO", "IMAGE"
]
} |
Response payload
- ZIP file with requested formats:
- ALTO: Delivers ALTO files for every selected newspaper
- IMAGE: Delivers images for every selected newspaper
- TXT: Delivers text files with fulltext for every selected newspaper page
- CSV: Delivers one CSV summary for all pages
Status codes
- 200 = ZIP successfully created and delivered
- 400 = No valid bookmark id found (invalid IDs will be skipped)
- 401 = User not authorized
- 500 = Internal server error
Example call(s)
- Download ZIP
- POST
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.
Example call(s)
- Delete all bookmarks and folders
- DELETE https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders?userId=fachstelle_museumdownload
...
API calls for Use Cases
...
- Model object to hold a bookmark (= favorites)
Remarks
- The possible types of a bookmark are:
- CULTURAL_ITEM | INSTITUTION | ENTITY | NEWSPAPER | ARTICLE
...