profound-logoProfound CMS
⌘K
Admin
Theme
DocsTutorialBlogPhilosophy
DocsTutorialBlogPhilosophy

Hybrid

Collection of Pages with ComponentsTypes of ComponentsSetup server sent events (SSE) content refetchInstall Profound CMS as a proxyCEL Scripting in Template BuilderProject ScaffoldingMedia Library

Headless

Quick startSplit Screen JSON Component Builder with LLMComponent Zod Pull

REST API

REST API OverviewgetConnect your websitegetGET /routesgetGET /routegetGET /blocksgetGET /blocks/with-cel-cachegetGET /blocks/generatedgetGET /componentsgetGET /components/{name}getGET /dataset/{schema_name}getGET /content-changes (SSE)patchPATCH /dataset/{schema_name}postPOST /translationpatchPATCH /translationsgetGET /usagepostPOST /csvpatchPATCH /csv
All Systems Operational
Powered Byprofound-logo
Theme

GET /route

Resolve a single route by URL path, with parametric matching and validated param documents.

Resolve a single route for a given path. An exact path match wins; otherwise the best-scoring parametric pattern is selected, its bound params are validated against documents, and the effective blocks are computed. Optionally returns the resolved param documents.

Auth: API key (x-api-key header or api_key query param).

Query parameters

ParamTypeRequiredNotes
websiteIduuidyesTarget website.
pathstringyesURL path to resolve, e.g. /docs/getting-started.
api_keystringnoAlternative to the x-api-key header.
previewbooleannoDefault false. When true, resolves against draft content and does not require published docs.
skipValidationbooleannoDefault false. When true, param-validation failures do not 404.

Response

{
  "route": {
    "path": "/docs/us/guide",
    "pattern": "/docs/{country}/guide",
    "block_ids": ["..."],
    "state": "Live",
    "param_bindings": { "country": "country" }
  },
  "resolvedParams": {
    "country": {
      "value": "us",
      "schemaName": "country",
      "document": { "id": "...", "schema_name": "country", "title": "United States", "published_content": {} }
    }
  }
}

route has the same shape as an entry from GET /routes. resolvedParams is present only when the route has param bindings and at least one document resolved. Params bound to the language schema resolve against a built-in list of supported languages rather than the database.

Example

curl '{CMS_API_URL}/route?websiteId=<uuid>&path=/docs/getting-started' \
  -H 'x-api-key: <key>'

Errors

  • 400 β€” missing/invalid websiteId, or missing/empty path
  • 401 β€” invalid API key
  • 404 β€” route not found, or parameter validation failed (unless skipValidation=true)
Continue Reading
Previousβ€ΉGET /routesNextGET /blocksβ€Ί