The runtime manifest.
One public endpoint describes the live runtime: every tag and filter the engine registers, the objects a template can read, the collection sources, the plugin hooks, the permission taxonomy and the plugin limits. It is generated from the same registrations the renderer uses, so it never drifts.
The endpoint
It is public and the same for every site, so a tool can fetch it once and cache it.
GET https://fleeksite.com/api/v1/runtime/manifestThe response is the standard envelope, with the manifest under data:
{
"state": "ok",
"data": {
"version": 1,
"tags": ["assign", "collection", "for", "if", "..."],
"customTags": ["collection", "partial", "prefetch", "fetch", "meta_resource", "minusone", "bit"],
"filters": ["append", "price", "resize", "..."],
"collectionSources": ["posts", "products", "users", "..."],
"contextVariables": ["site", "page", "env", "bits", "..."],
"hooks": [{ "name": "pre_render", "wired": true }],
"permissions": { "resources": ["blogs", "leads", "..."], "actions": ["read", "write", "delete", "manage"] },
"limits": { "timeoutMs": { "min": 50, "max": 5000, "default": 200 }, "memoryMb": { "min": 8, "max": 256, "default": 32 } }
}
}What it contains
| Key | Value |
|---|---|
version | The manifest schema version. |
tags | Every tag the engine registers, standard and custom. |
customTags | The FleekSite tags specifically. See Tags. |
filters | Every registered filter. See Filters. |
collectionSources | The sources {% collection %} accepts. See Data sources. |
contextVariables | The top-level objects a template can read. See Objects. |
hooks | Each plugin hook and whether it is wired today. See Hooks. |
permissions | The grant resources and actions. See Permissions. |
limits | The plugin time and memory bounds. |
Fetch it, do not copy it
The manifest exists because the same lists used to be copied by hand into editor tooling, and every copy fell out of date. It is the source of truth the admin editor draws on for tag and filter autocomplete, the hook list and the permission matrix. If you build tooling around FleekSite, an editor integration, a linter, a code generator, fetch the manifest and read from it rather than hardcoding these names. When the runtime gains a tag or a filter, your tool sees it without a change.