Compose a Publication
Required scope:
public-api:read
Description
The Composition API
loads a Publication with all required information to render a whole document with one request.
Advantages
- Make only one request to get all the required information to render a publication
- High-performing and efficient preloading of references (e.g. lists, includes, other references)
- Useful for a pull architecture
- Deduplication of document teasers: Teasers in
li-document-search
andli-list-reference
are deduplicated across a document, taking into account teasers fromli-document-reference
andli-document-references
as well. - The only endpoint which is able to resolve includes
Related
Endpoint
POST api/beta/composition/:documentId
Parameters
Name | Type | Notes |
---|---|---|
fields | array<string> | A list of the properties which should be computed and returned. Default: [‘systemdata’, ‘content’, ‘metadata’, ‘includes’, ‘html’, ‘design’] |
metadata.preload | object | You can pass metadata properties which should be resolved. This only works for properties of type ’li-document-reference’, ’li-document-references’, ’li-list-reference’ and ’li-tree’ Example: {metadata: {preload: {myProp: true}}} |
resolveIncludes | boolean | Resolve includes. If true then ‘includes’ will be populated and includes will be resolved in the rendered html . If ‘includes’ is added to the fields array as above, they are resolved in a separate array from the content. |
renderOptions.renderDirectiveInfo | boolean | Add attributes with the directive name to directive elements. |
ignoreComponentConditions | boolean | Provides a way to opt out of component filtering and return all content regardless of whether each component passes the conditional checks. Added in: release-2024-03 Default: false |
componentConditions | string | JSON stringified object which contains the component conditions you would like to apply. Added in: release-2024-03 Default: dateTime: new Date() Example: ?componentConditions={"dateTime":"2024-02-14T17:25:10.391Z"} |