Introduction to the Delivery API
Overview
The Delivery API (formerly known as the Page Model API) is a REST API endpoint designed for single-page applications (SPAs). It integrates with the HST delivery tier and Experience manager to provide structured content delivery.
Info:
brXM 14.x supports two versions of the Delivery API: 0.9 and 1.0. These versions differ significantly in their JSON response formats.By default, version 0.9 is enabled in all brXM 14.x releases for backward compatibility.
brXM 15.x supports only Delivery API version 1.0. Version 0.9 is not available in 15.x.
Documentation Structure
Due to the differences between Delivery API versions 0.9 and 1.0, each version has dedicated documentation:
- Delivery API 1.0 (available since brXM 14.3.0; default in 15.x)
- Delivery API 0.9 (available and default in 14.x)
The following topics apply to both versions unless otherwise specified:
- Configure Delivery API
- Model Contribution APIs
- Customize JSON Serialization of Domain-Specific POJO Models
- Swagger API Documentation Support
- Delivery API JWT Authentication
- Reserved Names
Comparing Delivery API v0.9 and v1.0
Changes in Version 1.0
Delivery API version 1.0 introduces a flattened structure for commonly used objects, including HstComponent, HippoDocumentBean, and CommonMenu. You can mark additional objects for flattened serialization by implementing the PageModelEntity marker interface.
Improvements in Version 1.0
- The flattened model simplifies understanding and debugging.
- Custom integrations, such as GraphQL servers, are easier to implement.
- Internal links no longer include context paths, removing the need for workarounds.
- Delivery API links are fully qualified.
- The menu is exposed as a separate entity, allowing strict identification on the page.
- Image sets are separate entities, improving support in SPA SDKs, including link generation for thumbnails.
- You can contribute to the page model.
- The page model processing can be extended on the SPA SDK side (planned for future releases).
- No base URL configuration for the CMS is required; only one parameter is needed in the SPA SDK.
- The primary document is always present and treated as a first-class entity.
- ParamsInfo now filters out duplicates and replaces document references with content references (especially relevant for Experience Pages).
- List components support pagination.