In the Public API Changelog you’ll find an overview of all significant changes to our API, including new features, deprecations, and breaking changes. Our goal is to provide a clear and structured update history, helping you stay informed about improvements and necessary adjustments.
Please consult the API Versioning Strategy for more information on how we manage API versions.
Bug fixes are not listed here. If you encounter issues, please report them to the Livingdocs Customer Solutions team.
March 2025
API Versioning
We’re introducing a new API Versioning Strategy that allows us to iterate on the API without breaking existing integrations.
With the introduction of a new versioning strategy, the v1
and beta
versions are now available as 2025-03
version. If you use any of those versions, you can safely change your integration to the 2025-03
version, which now contains both functionalities without any other changes.
Media Library: Serve Image
We’ve added a new public API endpoint:
/api/2025-03/mediaLibrary/serve-image/:key
This endpoint provides access to an image in its original dimensions, as long as it has not been revoked or marked as invalid. It can serve as a source for proxies or image processing services.
Please check the API reference for more details.
January 2025
Brand Conditions
Conditional components provide the ability to render a component in the delivery based on a brands
or dateTime
condition. The conditions are stored with the component data and can be input in the Livingdocs Editor.
To support country- or brand-specific content, we are introducing a new component condition: the brands
condition. This allows downstreams to configure a set of brands, from which one or more can be selected on components to define for which brands a component should be included. This condition works alongside the already existing dateTime
condition.

For more information, please refer to our conditional components documentation.
The brands
condition is supported by all API endpoints where the existing dateTime
component condition is supported:
GET /api/v1/documents/:documentId/latestPublication
GET /api/v1/documents/latestPublications
GET /api/v1/documents/:documentId/latestPublication/renditions/:renditionHandles
GET /api/v1/publications/search
GET /api/v1/document-lists/:id
GET /api/beta/documents/:documentId/latestDraft
GET /api/beta/documents/:documentId/latestPublication
GET /api/beta/documents/latestPublications
POST /api/beta/composition/:documentId
November 2024
Deprecate Menu Tool
The Menu Tool is deprecated and will be removed in release-2025-05. Please migrate your menus to data records, using the li-tree
plugin and, if needed, the li-unique-id
metadata plugin. For detailed instructions on setting up menus with data records, refer to our guide. We are here to assist with the migration as needed.
Document Command API: New Commands
We have extended the Document Command API with five new commands, which are also available for Assistants.
Each command supports an optional oldValue
parameter. When specified, the system verifies that the value being updated matches the provided oldValue
. This prevents accidental overwrites that might occur due to changes made between reading a document and issuing the command. If the oldValue
does not match, a conflict error is thrown.
setComponentCondition
{
operation: 'setComponentCondition',
componentId: 'doc-123',
conditionName: 'dateTime',
value: {
gte: '2025-01-01T10:30:00.000Z',
lt: '2025-02-02T14:30:00.000Z'
},
oldValue: {
gte: '2024-01-01T10:30:00.000Z',
lt: '2024-02-02T14:30:00.000Z'
}
}
setComponentStyle
{
operation: 'setComponentStyle',
componentId: 'doc-123',
propertyName: 'background',
value: '#1fc47a',
oldValue: '#000'
}
setStyleDirective
{
operation: 'setStyleDirective',
componentId: 'doc-123',
directiveName: 'appearance',
propertyName: 'background',
value: '#1fc47a',
oldValue: '#000'
}
setLinkDirective
{
operation: 'setLinkDirective',
componentId: 'doc-123',
directiveName: 'link',
value: {
href: 'https://livingdocs.io/article/123',
target: '_blank',
$ref: 'document',
reference: {id: '123'}
},
oldValue: {
href: 'https://livingdocs.io/'
}
}
setIncludeDirective
The setIncludeDirective
command supports updating both include params
and overrides
. These properties depend on each other: if only params
are provided, any existing overrides
are removed. Conversely, specifying overrides
without params
is invalid and will return a validation error. To update overrides
, both the params
and overrides
properties must be provided.
{
operation: 'setIncludeDirective',
componentId: 'doc-123',
directiveName: 'related-article',
value: {
params: {
teaser: {
$ref: 'document',
reference: {id: '3'}
},
},
overrides: [{
id: 'teaser-normal-3',
content: {
link: {href: 'https://livingdocs.io'},
title: 'Changed title',
},
originalSnapshot: {...},
contentProperties: [...]
}]
},
oldValue: null
}
July 2024
Document Command API: New Commands
We have extended the Document Command API with two new commands, which are also available for Assistants.
removeComponent
{
operation: 'removeComponent',
componentId: 'doc-4a2b3g4d5'
}
unpublish
{
operation: 'unpublish'
}