current mediaLibraryEntry version. When set on update the version is checked.
patches
array
x
An array of patches to execute. Each entry is an object with the following keys:
operationsetMetadataProperty, replaceAsset, revokeAsset, unrevokeAsset (Added in: release-2026-01), archive or removeAsset
propertyName string of the propertyName (only for setMetadataProperty)
value string or object for the new value. If set to null or value is not set it will remove the property for setMetadataProperty. required for replaceAsset operation.
locale string of the asset to be removed (only in multilingual setups for removeAsset)
note optional string with a maximum length of 200 characters. Only supported by the revokeAsset operation. (Added in: release-2026-01)
Example Request
{"version":"1","patches":[{// update a single metadata property
"operation":"setMetadataProperty","propertyName":"title","value":"updated title"},{// replace the asset
"operation":"replaceAsset","value":{// the file with this key should exist in the configured storage
key:'2021/11/23/my-new-file.png',url:'https://example.com/my-new-file.png',size:10000,width:1000,height:800,filename:'my-new-file.png',mimeType:'image/png'}},{// revoke the asset
"operation":"revokeAsset","note":"Case #1"},{// unrevoke the asset
"operation":"unrevokeAsset"},{// archives a Media Library Entry
"operation":"archive"},{// removes a translated asset (the default locale asset cannot be removed)
"operation":"removeAsset","locale":"en"}]}
Response
200
OK
/api/2026-01/mediaLibrary/{id}
{"status":200}
400
Bad Request
/api/2026-01/mediaLibrary/{id}
{"status":400,"error":"Bad Request","error_details":{"patches.0.operation":"No enum match for: \"notExistingOperation\""}}
404
Not Found
/api/2026-01/mediaLibrary/{id}
{"status":404,"error":"Not Found","error_details":{"name":"NotFound","message":"MediaLibrary Entry does not exist (id: 'yLBGtTjWN4ba')"}}
409
Conflict
/api/2026-01/mediaLibrary/{id}
{"status":409,"error":"Conflict","error_details":{"name":"Conflict","message":"Version: Expected 36 to be equal to 1"}}
Get Media Library Entries
History
Version
Change
release-2026-01
Responds with an object containing a results array.
release-2020-10
Initial support.
Required scope:
public-api:read
Description
Fetch multiple Media Library Entries by their ids or externalIds
Endpoint
GET /api/2026-01/mediaLibrary
Parameters
Name
Type
Required
Notes
ids
string
Comma separated list of media library entry ids
externalId
string
External id of the media library entry
systemName
string
System name of the media library entry
Response
200
OK
/api/2026-01/mediaLibrary?ids=asze63i9,2er11b3i
{"results":[{"id":"asze63i9","version":1,"mediaType":"image","asset":{"url":"https://livingdocs.io/img.jpg","mimeType":"image/jpeg","width":1600,"height":900,"size":21000},"metadata":{"title":"An Image"},"createdAt":"2020-12-27T09:19:00.928Z","updatedAt":"2020-12-27T09:19:00.928Z"},{"id":"2er11b3i","version":1,"mediaType":"image","asset":{"url":"https://livingdocs.io/img2.jpg","mimeType":"image/jpeg","width":1600,"height":900,"size":21000},"metadata":{"title":"An Other Image"},"createdAt":"2020-12-27T09:19:00.928Z","updatedAt":"2020-12-27T09:19:00.928Z"}]}
Fetch multiple Media Library Entries by their ids or externalIds
Endpoint
GET /api/2025-11/mediaLibrary
Parameters
Name
Type
Required
Notes
ids
string
Comma separated list of media library entry ids
externalId
string
External id of the media library entry
systemName
string
System name of the media library entry
Response
200
OK
/api/2025-11/mediaLibrary?ids=asze63i9,2er11b3i
{"mediaLibraryEntries":[{"id":"asze63i9","version":1,"mediaType":"image","asset":{"url":"https://livingdocs.io/img.jpg","mimeType":"image/jpeg","width":1600,"height":900,"size":21000},"metadata":{"title":"An Image"},"createdAt":"2020-12-27T09:19:00.928Z","updatedAt":"2020-12-27T09:19:00.928Z"},{"id":"2er11b3i","version":1,"mediaType":"image","asset":{"url":"https://livingdocs.io/img2.jpg","mimeType":"image/jpeg","width":1600,"height":900,"size":21000},"metadata":{"title":"An Other Image"},"createdAt":"2020-12-27T09:19:00.928Z","updatedAt":"2020-12-27T09:19:00.928Z"}]}
This endpoint delivers an image in its original dimensions, provided the asset remains valid (i.e., not revoked or marked as invalid).
It is designed to serve as a reliable source for image proxies or resizing services, ensuring only authorized and valid images are accessible.
Curl Example
ACCESS_TOKEN=ey1234
curl -k -X GET "https://server.livingdocs.io/api/2026-01/mediaLibrary/serve-image/2025/03/14/c316ace8-0ded-4e41-9388-386a5759c01f.jpeg"\
-H "Authorization: Bearer $ACCESS_TOKEN"