Links
The navigation tree keyed by uuid — the one endpoint that includes folders.
/v2/cdn/linksLinks are how you build navigation. Unlike /stories, this endpoint includes folders — that is the whole reason it exists — and it returns a lightweight record per entry rather than full content.
curl "https://api.exacta.im/v2/cdn/links?token=$EXACTA_TOKEN"Query parameters
| Parameter | Type | Description |
|---|---|---|
tokenrequired | string | Delivery token. Selects the branch. |
version | published | draft | Defaults to published. With a preview token on the preview branch, draft also lists unpublished entries. |
starts_with | string | Restrict to a path prefix, so you can fetch one subtree of the navigation. |
tokenrequiredstringDelivery token. Selects the branch.
versionpublished | draftDefaults to published. With a preview token on the preview branch, draft also lists unpublished entries.
starts_withstringRestrict to a path prefix, so you can fetch one subtree of the navigation.
Response
The response is an object keyed by uuid, not an array — Storyblok’s shape, which lets a client look up a link without scanning. Entries are ordered by position, then by full slug.
{
"links": {
"6b2c9b8a-1f43-4a0e-8f2e-2b7a0d5c1e33": {
"id": 4183,
"uuid": "6b2c9b8a-1f43-4a0e-8f2e-2b7a0d5c1e33",
"slug": "blog/hello-world",
"path": null,
"parent_id": 4180,
"name": "Hello world",
"is_folder": false,
"published": true,
"is_startpage": false,
"position": 10,
"real_path": "/blog/hello-world"
}
},
"cv": 1754236800
}Link object
| Parameter | Type | Description |
|---|---|---|
uuid | string | Stable across every branch. The key of the response object. |
id | integer | Branch-local. Differs for the same story on another branch. |
slug | string | The full slug, including folders. Named slug rather than full_slug because that is what Storyblok calls it here. |
parent_id | integer | null | Branch-local id of the containing folder. Rebuilt per branch when content is copied. |
is_folder | boolean | True for folders, which appear only on this endpoint. |
published | boolean | Whether the entry is published on this branch. |
real_path | string | The full slug with a leading slash — convenient for routing. |
uuidstringStable across every branch. The key of the response object.
idintegerBranch-local. Differs for the same story on another branch.
slugstringThe full slug, including folders. Named slug rather than full_slug because that is what Storyblok calls it here.
parent_idinteger | nullBranch-local id of the containing folder. Rebuilt per branch when content is copied.
is_folderbooleanTrue for folders, which appear only on this endpoint.
publishedbooleanWhether the entry is published on this branch.
real_pathstringThe full slug with a leading slash — convenient for routing.