API endpoints

FA01 | Create bookmark

POST

/favourites/bookmarks

User permission required

Remarks

Query parameters 

NameValueOccurenceDefaultRequired
folderIdsID of folder(s)Multiple-Yes, at least one folderId

Request payload

 {
	"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

 {
	"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)

Example call(s)


^ Back to top


FA03 | Retrieve bookmarks (Deprecated)

GET

/favourites/bookmarks

User permission required

Query parameters

NameValueOccurenceDefaultRequired
userIdID of userOnce-At least userId or one itemId required
itemIdsIDs of itemsMultiple-At least userId or one itemId required
offsetOffset of resultOnce-1Optional
sizeLength of resultOnce-1Optional

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)

Example call(s)


^ Back to top


FA04 | Update bookmark

PUT

/favourites/bookmarks/{id}

User permission required

Request payload

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

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)

Example call(s)


^ Back to top


FA05 | Delete bookmark

DELETE

/favourites/bookmarks/{id}

User permission required

Response payload

{
    "took": 11,
    "errors": false,
    "result": [
        {
            "id": "TC05____________BM01",
            "index": "bookmark",
            "statusCode": 200,
            "result": "deleted"
        }
    ],
    "statusCode": 200,
    "statusMessage": null
}

Status codes

Related Use Case(s)

Example call(s)


^ Back to top


FA06 | Create folder

POST

/favourites/folders

User permission required

Request payload

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

Response payload

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

Status codes

Related Use Case(s)

Example call(s)


^ Back to top


FA07 | Add bookmark to folder

POST

/favourites/folders/{folderId}/bookmarks

User permission required

Remarks

Query parameters

NameValueOccurenceDefaultRequired
bookmarkIdID of bookmark to addOnce-Yes

Response payload

{
    "id": "TC07____________FL01",
    "index": "folder",
    "statusCode": 200,
    "result": "updated"
}

Status codes

Related Use Case(s)

Example call(s)


^ Back to top


FA08 | Retrieve folder

GET

/favourites/folders/{id}

User permission required

Response payload

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

Status codes

Related Use Case(s)

Example call(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)

Example call(s)


^ Back to top


FA10 | Retrieve folders

GET

/favourites/folders

User permission required

Query parameters

NameValueOccurenceDefaultRequired
userIdID of userOnce-At least userId or title required
portalName of used portalOnceDDBOptional for DDB, for other portals required
titleTitle of folderOnce-At least userId or title required
offsetBeginn offset of resultsOnce0 (Solr default is used)Optional
sizeSize data of resultsOnce10 (Solr default is used)Optional

Response payload

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

Status codes

Related Use Case(s)

Example call(s)


^ Back to top


FA11 | Update folder

POST

/favourites/folders/{id}

User permission required

Remarks

Request payload

 {
	"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

{
	"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

Related Use Case(s)

Example call(s)


^ Back to top


FA12 | Delete folder

DELETE

/favourites/folders/{id}

User permission required

Remarks

Response payload

{
    "id": "TC12____________FL01",
    "index": "folder",
    "statusCode": 200,
    "result": "deleted"
}

Status codes

Related Use Case(s)

Example call(s)


^ Back to top


FA13 | Remove bookmark from folder

DELETE

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

User permission required

Remarks

Response payload

{
    "id": "TC13____________FL01",
    "index": "folder",
    "statusCode": 200,
    "result": "updated"
}

Status codes

Related Use Case(s)

Example call(s)


^ Back to top


FA14 | Delete all bookmarks and folders

DELETE

/favourites/folders

User permission required

Remarks

Query parameters

NameValueOccurenceDefaultRequired
userIdID of user to deleteOnce-Yes

Response payload

{
    "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

Related Use Case(s)

Example call(s)


^ Back to top


FA15 | Download newspaper pages as ZIP

POST

/favourites/download

User permission required

Remarks

Request payload

{
    "bookmarkIds": [
        "TC15____________BM01",
        "TC15____________BM02",
        "TC15____________BM03",
        "TC15____________BM04",
        "TC15____________BM05",
        "TC15____________BM06"
    ],
    "formats": [
        "TXT", "CSV", "ALTO", "IMAGE"     
	]
}

Response payload

Status codes

Example call(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)

portal

Portal enum

Name of used portal

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


Portal

Possible values

ValueDescription

DDB

DDB Portal with CCC

NEWSPAPER

Zeitungsportal

Description


^ Back to top