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

SnelstartSplit Screen JSON Component Builder with LLMComponent Zod Pull

REST API

REST API OverviewgetConnect your websitegetGET /routesgetGET /routegetGET /blocksgetGET /blocks/with-cel-cachegetHaal gegenereerde blokken opgetGET /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

REST API Overview

Basis-URL, authenticatieschema's, tenant-resolutie en het foutenmodel voor de CMS REST API.

De Profound CMS REST API wordt aangeboden door de Rust-service translation_manager. Deze stelt headless lees-/stream-endpoints beschikbaar die door de renderer worden gebruikt, plus schrijvendpoints voor content, vertalingen en CSV-import.

Alle voorbeelden gebruiken {CMS_API_URL} als de basis-URL van je CMS API-host (bijvoorbeeld https://cms.dev.tryprofound.com). Er is geen globaal padprefix — routes worden aan de root gemonteerd, bijvoorbeeld {CMS_API_URL}/routes.

Authenticatie

De API gebruikt twee afzonderlijke schema's afhankelijk van het endpoint.

API-sleutel (headless-lezen + variant-upsert)

Stuur de sleutel mee als de x-api-key-header of als de queryparameter api_key:

curl '{CMS_API_URL}/dataset/post?websiteId=<uuid>' \
  -H 'x-api-key: <jouw-api-sleutel>'

Sleutels worden gevalideerd tegen WorkOS en kortstondig in het geheugen gecached. Voor lees-endpoints is een API-sleutel alleen nodig wanneer de server require_schema_api_key = true instelt; anders zijn anonieme leesacties toegestaan. De variant-upsert (PATCH /dataset/{schema_name}) vereist altijd een geldige sleutel met de permissie content_write.

Gebruikt API-sleutelauthenticatie: /routes, /route, /blocks*, /components*, /dataset/*, /schemas/*, /content-changes.

Bearer JWT (WorkOS)

Beheerendpoints vereisen een WorkOS-gebruikers-JWT:

curl '{CMS_API_URL}/usage?orgId=<uuid>' \
  -H 'Authorization: Bearer <workos-jwt>'

Gebruikt Bearer-authenticatie: /translation, /translations, /usage, /csv.

De website (tenant) bepalen

API-sleutelaanroepen bepalen de doelwebsite in deze volgorde:

  1. De queryparameter ?websiteId=<uuid>
  2. De Host-header, vergeleken met een geconfigureerd webdomein
  3. De CMS_WEBSITE_ID-fallback (single-tenant / lokale ontwikkeling)

Als geen van deze tot een geldige UUID leidt, retourneert het endpoint 400.

Foutenmodel

StatusBetekenis
400Ongeldig verzoek — ontbrekende/ongeldige websiteId, ongeldige UUID of validatiefout
401Ontbrekende of ongeldige referenties
403Geauthenticeerd maar zonder een vereiste permissie
404Resource niet gevonden
500Interne / databasefout

Gezondheidscontrole

GET {CMS_API_URL}/health retourneert { "status": "ok" } en vereist geen authenticatie — gebruik dit voor liveness-probes.

Continue Reading
NextConnect your website›