Overview
Base URL, the response envelope, cache versions and the caching model behind every delivery response.
Base URL
https://api.exacta.im/v2/cdnEvery path below Storyblok’s /v2/cdn keeps its name, its parameters and its response shape. That is deliberate: the migration is a base URL change, so anything that forced you to edit a query would defeat the point.
Endpoints
/v2/cdn/stories/v2/cdn/stories/{full_slug}/v2/cdn/links/v2/cdn/spaces/me/v2/cdn/datasources/v2/cdn/datasource_entries/v2/cdn/tagsCommon parameters
| Parameter | Type | Description |
|---|---|---|
tokenrequired | string | Your Exacta delivery token. Selects the branch. |
version | published | draft | Defaults to published. draft requires a preview token on the preview branch; anywhere else it falls back to published. |
cv | integer | Cache version. Accepted for compatibility and ignored — responses are already versioned per branch. |
tokenrequiredstringYour Exacta delivery token. Selects the branch.
versionpublished | draftDefaults to published. draft requires a preview token on the preview branch; anywhere else it falls back to published.
cvintegerCache version. Accepted for compatibility and ignored — responses are already versioned per branch.
Cache versions
Every response carries a cv field: a unix timestamp that changes only when the branch’s content changes. For a stage branch that means a promotion; for preview it means a sync.
{
"stories": [ /* … */ ],
"cv": 1754236800,
"rels": [],
"links": []
}Because content on a branch is immutable between promotions, delivery responses are safe to cache hard. Exacta sends a long s-maxage alongside stale-while-revalidate and stale-if-error, so a CDN in front of your site serves almost everything from cache and keeps serving during an origin incident.
Cache-Control: public, max-age=0, s-maxage=31536000, stale-while-revalidate=60, stale-if-error=86400
Access-Control-Allow-Origin: *Response headers
| Parameter | Type | Description |
|---|---|---|
total | integer | Total matching records, ignoring pagination. Present on list endpoints. |
per-page | integer | Page size actually applied, after the cap. |
totalintegerTotal matching records, ignoring pagination. Present on list endpoints.
per-pageintegerPage size actually applied, after the cap.
CORS
- Delivery responses send
Access-Control-Allow-Origin: *. A public token is designed to be read from a browser, so any origin may call these endpoints. - This applies to the delivery API only. Dashboard endpoints are session-authenticated and restrict origins.