API endpoints

FA01 | Create bookmark

POST

/favourites/bookmarks

User permission required

Remarks

Query parameters

NameValueOccurenceDefault
folderIdsID of folder(s)Multiple-

Response payload

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

Status codes

Related Use Case(s)

Example call(s)


^ Back to top


FA02 | Retrieve bookmark

GET

/favourites/bookmarks/{id}

User permission required

Response payload

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

Status codes

Related Use Case(s)


^ Back to top


FA03 | Retrieve bookmarks

GET

/favourites/bookmarks

User permission required

Query parameters

NameValueOccurenceDefault
folderIdsID of folder(s)Multiple-

Response payload

{
	"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
			},
		}
	]
}

Status codes

Related Use Case(s)


^ Back to top


FA04 | Update bookmark

PUT

/favourites/bookmarks/{id}

User permission required

Remarks

Query parameters

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

Request payload

{
	"id": "rjzgAIgBdHmpxQQKvQHm",						// Not used
	"itemId": "IVMX3IRHKU725WR2HHT6VY2AFFS72FGK",		// Not used
	"description": "Another description",				// Optional
	"userId": "fachstelle_museum",						// Not used
	"type": "INSTITUTION",								// Optional
	"createdAt": 1683641908448,							// Not used
	"updatedAt": 1683641908448,							// Not used
	"keywordTool": {									// Optional
		"done": false
	}
}

Response payload

 {
	"id": "rjzgAIgBdHmpxQQKvQHm",
	"itemId": "IVMX3IRHKU725WR2HHT6VY2AFFS72FGK",
	"description": "Another description",
	"userId": "fachstelle_museum",
	"type": "INSTITUTION",
	"createdAt": 1683641908448,
	"updatedAt": 1683641908555,
	"keywordTool": {
		"done": false
	}
}

Status codes

Related Use Case(s)


^ Back to top


FA05 | Delete bookmark

DELETE

/favourites/bookmarks/{id}

User permission required

Query parameters

NameValueOccurenceDefault
folderIdsID of folder(s)Multiple-

Status codes

Related Use Case(s)


^ Back to top


FA06 | Create folder

POST

/favourites/folders

User permission required

Request payload

{
	"id": "73611165cc142ae53176707d5a92e8f3",	// Not used
	"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
	}
}

Response payload

 {
	"id": "73611165cc142ae53176707d5a92e8f3"
	"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

Related Use Case(s)


^ Back to top


FA07 | Add bookmark to folder

POST

/favourites/{id}/bookmarks

User permission required

Remarks

Query parameters

NameValueOccurenceDefault
bookmarkIdID of bookmark to addOnce-

Status codes

Related Use Case(s)


^ Back to top


FA08 | Retrieve folder

GET

/favourites/folders/{id}

User permission required

Response payload

{
	"id": "73611165cc142ae53176707d5a92e8f3"
	"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

Related Use Case(s)


^ Back to top


FA09 | Retrieve bookmarks of a folder

GET

/favourites/folders/{id}/bookmarks

User permission required

Response payload

{
	"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
			},
		}
	]
}

Status codes

Related Use Case(s)


^ Back to top


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

Response payload

{
	"query": "user:"73611165cc142ae53176707d5a92e8f3"",
	"total": 19,
	"offset": 0,
	"size": 9999,
	"folders": [
		{
			"id": "Sjszo4cBdHmpxQQKUvah",
			"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",
			"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
		}
	]
}

Status codes

Related Use Case(s)


^ Back to top


FA11 | Update folder

POST

/favourites/folders/{id}

User permission required

Query parameters

NameValueOccurence
folderIdsID of folder(s)Multiple

Request payload

 {
	"id": "Sjszo4cBdHmpxQQKUvah",			// Not used
	"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

{
	"id": "Sjszo4cBdHmpxQQKUvah",	
	"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

Related Use Case(s)


^ Back to top


FA12 | Delete folder

DELETE

/favourites/folders/{id}

User permission required

Query parameters

NameValueOccurence
folderIdsID of folder(s)Multiple

Status codes

Related Use Case(s)


^ Back to top


FA13 | Delete bookmark from folder

DELETE

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

User permission required

Remarks

Status codes

Related Use Case(s)


^ Back to top


FA14 | Delete all bookmarks and folders

DELETE

/favourites/folders

User permission required

Query parameters

NameValueOccurenceDefault
userIdID of user to deleteOnce-

Status codes

Related Use Case(s)


^ Back to top


API calls for Use Cases

UC01 | Add bookmark

Description

API mapping


^ Back to top


UC02 | Assign bookmarks to selected lists

Description

API mapping


^ Back to top


UC03 | Retrieve names of a user listDescription

API mapping


^ Back to top


UC04 | Retrieve bookmarks of a list

Description

API mapping


^ Back to top


UC05 | Add personal list

Description

API mapping


^ Back to top


UC06 | Delete bookmark

Description

API mapping


^ Back to top


UC07 | Change bookmark description

Description

API mapping


^ Back to top


UC08 | Copy bookmarks from All Favorites to personal lists

Description

API mapping


^ Back to top


UC09 | Publish or privatize personal list

Description

API mapping


^ Back to top


UC10 | Change properties of personal list

Description

API mapping


^ Back to top


UC11 | Remove personal list with bookmarks

Description

API mapping


^ Back to top


UC12 | Remove personal list and contained bookmarks in all lists

Description

API mapping


^ Back to top


UC13 | Remove bookmark in personal list

Description

API mapping


^ Back to top


UC14 | Copy bookmarks to other personal lists

Description

API mapping


^ Back to top


Model

Bookmark

Fields

FieldData typeDescription

id

String

ID of the bookmark (internal created by Elasticsearch)

itemId

String

ID of the DDB object item

description

String

User defined text to describe the list

userId

String

AAS/LDAP managed ID of the User

bookmarkType

String

Type of the bookmark

createdAt

Long

Creation date of the folder in millis created by the DDB Backend

updateAt

Long

Last Update date of the folder in millis created by the DDB Backend

keywordTool

KeywordTool

Optional data for internal use in APD (for keyword tool)

Description

Remarks


^ Back to top


Bookmark's KeywordTool

Fields

FieldData typeDescription
DoneBooleanUsed in APD

Description


^ Back to top


BookmarkResult

Fields

FieldData typeDescription

query

String

Summary of the executed query (for debugging use)

total

Long

Total matches

offset

Long

Used offset (default or send by the request)

size

Long

Used size (default or send by the request)

bookmarks

List<Bookmark>

List of the found bookmarks by the query

Description


^ Back to top


Folder

Fields

FieldData typeDescription

id

String

ID of the folder (internal created by Elasticsearch)

title

String

Title of the user list

description

String

User defined text to describe the list

userId

String

AAS/LDAP managed ID of the User

publishingName

String

User Identifier if the list is published

createdAt

Long

Creation date of the folder in millis created by the DDB Backend

updateAt

Long

Last Update date of the folder in millis created by the DDB Backend

bookmarkIds

Set<String>

List of related bookmarks IDs

institutionIds

Set<String>

List of related institution IDs

blockingToken

String

Optional token for internal use in APD

blocked

Boolean

If the list is blocked for public use

published

Boolean

If the list is published for public use

keywordTool

KeywordTool

Optional data for internal use in APD (for keyword tool)

Description


^ Back to top


Folder's KeywordTool

Fields

FieldData typeDescription

sentToAdmin

Boolean

Used in APD

Description


^ Back to top


FolderResult

Fields

FieldData typeDescription

query

String

Summary of the executed query (for debugging use)

total

Long

Total matches

offset

Long

Used offset (default or send by the request)

size

Long

Used size (default or send by the request)

folders

List<Folder>

List of the found folders by the query

Description


^ Back to top