Fetch blocks and merge evaluated field-level CEL scripts into published content.
Like GET /blocks, but additionally evaluates the field-level CEL scripts registered for each block and merges the results into each block's published_content. Use this when blocks contain computed fields.
Auth: API key (x-api-key header or api_key query param).
| Param | Type | Required | Notes |
|---|---|---|---|
websiteId | uuid | no | Target website; falls back to Host header / config. |
blockIds | string | no | Comma-separated block UUIDs. Note: blockIds, not ids. |
routePath | string | no | Route path for the CEL meta context. |
params | string | no | URL-encoded JSON object of route params, e.g. {"code":"JFK"}. |
locale | string | no | Locale for meta.locale and translated lookups. Default en. |
api_key | string | no | Alternative to the x-api-key header. |
{
"blocks": [
{
"id": "...",
"schema_name": "hero-block",
"published_content": {},
"cached_fields": ["hero.title", "hero.subtitle"]
}
]
}
Each element is a block (same fields as GET /blocks) plus an optional cached_fields array listing the dot-paths populated by CEL. cached_fields is omitted when nothing was computed. CEL is only merged when the block has non-null published_content.
curl '{CMS_API_URL}/blocks/with-cel-cache?websiteId=<uuid>&blockIds=<id1>,<id2>&locale=en' \
-H 'x-api-key: <key>'
400 β invalid UUID in blockIds, or unresolvable website401 β invalid API key500 β CEL engine failure